RefineTextParams 参数对象——文本精炼阶段的全局韵律提示
创建方式
params = ChatTTS.Chat.RefineTextParams(prompt='[oral_5][break_4]')
传给 chat.infer(text, params_refine_text=params)。
字段说明
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | None | 韵律提示标签字符串 |
prompt 可以包含的标签(见 控制标签体系):
[oral_0]~[oral_9][laugh_0]~[laugh_2][break_0]~[break_7]
注意:[uv_break] 和 [lbreak] 是局部标签,不适合放在 prompt 里——prompt 应该描述整体风格倾向,不是具体位置指令。
不同 prompt 的效果
| prompt | 风格 |
|---|---|
'[oral_3]' | 中等口语化,偏正式 |
'[oral_5][laugh_0][break_4]' | 日常聊天语气(推荐默认) |
'[oral_1][break_2]' | 新闻播报风格 |
'[oral_7][laugh_1][break_6]' | 轻松闲聊风格 |
None | 模型默认行为(大致相当于 oral_4 + laugh_0 + break_3) |
多个 prompt 标签的顺序
prompt 字符串里多个标签的顺序不重要——'[oral_5][break_4]' 和 '[break_4][oral_5]' 效果相同。但不要在同一个 prompt 里放多个同类型标签(例如 '[oral_3][oral_7]')。
不使用 RefineTextParams
如果你需要完全手动控制韵律,在文本里写好所有内联标签后,用 skip_refine_text=True 跳过精炼步骤——此时 RefineTextParams 传不传都不重要:
text = '[oral_6]你好[uv_break]朋友们[laugh_1][lbreak]'
wavs = chat.infer(text, skip_refine_text=True)
默认值行为
不传 params_refine_text 时,ChatTTS 使用内置默认 prompt——大致是 [oral_4][laugh_0][break_3] 的风格。这对大多数场景够用,但如果你需要特定风格,还是显式传 prompt 更好。