laugh 和 break 标签——笑声强度等级与停顿长度调节
laugh 笑声标签
| 标签 | 效果 | 典型场景 |
|---|---|---|
[laugh_0] | 不笑(中性语气) | 正式场合、纯信息播报 |
[laugh_1] | 轻微笑意(嘴角上扬感) | 温和回应、礼貌回复 |
[laugh_2] | 明显笑 | 开玩笑、分享趣事、互动剧情 |
laugh 标签通常放在句子末尾或语气转折处:
text = '这个问题问得好[laugh_1]我想想该怎么回答你[laugh_2]'
break 停顿标签
| 标签 | 效果 | 大致时长 |
|---|---|---|
[break_0] | 几乎不停 | < 0.1 秒 |
[break_2] | 轻微停顿 | ~ 0.3 秒 |
[break_4] | 中等停顿 | ~ 0.6 秒 |
[break_7] | 较长停顿 | ~ 1.2 秒 |
break 标签适合放在段落间、重要信息前、思考停顿处:
text = '让我想想[break_5]这个问题的答案…'
组合使用
laugh 和 break 经常搭配出现:
# 笑了一下然后停顿一下继续
text = '哈哈[laugh_1][break_3]好吧我承认你说得对'
在 prompt 里统一指定
如果整个会话都用某种风格,可以在 prompt 里统一设定:
params_refine_text = ChatTTS.Chat.RefineTextParams(
prompt='[oral_5][laugh_0][break_4]',
)
这表示:整体口语化水平 5、不刻意笑、遇到该停的地方停 4 级长度。模型会自动根据 prompt 在文本的合适位置补充相应的 token。
局限性
- laugh 标签不是真的"播放一段笑声录音"——它是让模型调整说话语气,听起来像在笑
- break 标签的停顿时长不是精确值,取决于前后文和模型随机采样
- 同一组参数重复调用,每次生成的笑声和停顿会略有不同