Fish Audio 提示词指南:在 ComfyUI 中撰写 Fish Audio TTS 提示词
为 ComfyUI 中的 Fish Audio 合作伙伴节点撰写提示词:情绪标签、语气标记、音频效果、停顿、音素控制和多说话人对话。
Fish Audio 提示词指南:在 ComfyUI 中撰写 Fish Audio TTS 提示词
为 ComfyUI 中的 Fish Audio 合作伙伴节点撰写提示词:情绪标签、语气标记、音频效果、停顿、音素控制和多说话人对话。
Fish Audio TTS 通过直接写在文本里的内联标签,让你精确控制语音的听感。本指南涵盖模型理解的全部标签类别、放置位置以及组合方式。下面的标签适用于 s2.1-pro 和 s1。Drama 3 则改用自然语言描述与成对词语标签,详见 Fish Audio Drama 3 页面。
下面的示例可以直接在 Fish Audio Text to Speech 节点中使用。把它们直接输入 text 字段,替换成你自己的台词即可。节点设置、工作流模板与价格见 Fish Audio:文本转语音、声音克隆与语音转文本。
标签的工作方式
Fish Audio S2 模型可以理解写在方括号里的自然语言提示:
[happy] What a beautiful day!
[sad] I'm sorry to hear that.
[excited] This is amazing news!
这套系统有三个特点:
- 位置即语义。 标签从出现的位置生效,直到下一个标签或句尾。
[whispering] I didn't want to go inside会让整句耳语,而I didn't want to go [whispering] inside只从 "inside" 开始耳语。 - 自由描述也能用。 你不限于固定标签词表。能向配音演员描述的东西,都可以写进方括号:
[tired, end of a long shift]、[voice rough from crying, trying to sound normal]、[professional broadcast tone]。 - 标签可以用你的语言写。 用和台词相同的语言写提示:
[低声说] 不要让他们听见、[ため息をついて] もう一度やり直そう。
旧版 s1 模型使用相同的情绪名称,但用圆括号包裹且仅支持固定词表:(happy) What a beautiful day! 当前 s2.1-pro 模型接受方括号提示和自由描述。
情绪标签
基础情绪
| 标签 | 表达效果 | 常见场景 |
|---|---|---|
[happy] | 开心、明快 | 好消息、问候 |
[sad] | 忧郁、低落 | 同情、坏消息 |
[angry] | 恼怒、有攻击性 | 抱怨、警告 |
[excited] | 精力充沛、热情 | 公告、庆祝 |
[calm] | 平和、放松 | 指导、冥想 |
[nervous] | 焦虑、不安 | 免责声明、道歉 |
[confident] | 自信、笃定 | 演讲、销售 |
[surprised] | 震惊、惊奇 | 反应、发现 |
[satisfied] | 满意、愉悦 | 确认、评价 |
[delighted] | 非常高兴、欢喜 | 庆祝、赞美 |
[scared] | 惊恐、害怕 | 警告、恐怖故事 |
[worried] | 担心、忧虑 | 疑虑、提问 |
[upset] | 不安、苦恼 | 抱怨、问题 |
[frustrated] | 烦躁、恼火 | 技术故障、延误 |
[depressed] | 悲伤、绝望 | 严肃话题 |
[empathetic] | 理解、关怀 | 支持、疏导 |
[embarrassed] | 羞愧、尴尬 | 道歉、失误 |
[disgusted] | 反感、厌恶 | 差评 |
[moved] | 感动 | 走心时刻 |
[proud] | 自豪、满足 | 成就、表扬 |
[relaxed] | 放松、随意 | 日常聊天 |
[grateful] | 感激、感恩 | 致谢 |
[curious] | 好奇、感兴趣 | 提问、探索 |
[sarcastic] | 讽刺、嘲弄 | 幽默、批评 |
进阶情绪
| 标签 | 表达效果 | 常见场景 |
|---|---|---|
[disdainful] | 蔑视、轻蔑 | 批评、拒绝 |
[unhappy] | 不满、不悦 | 抱怨、反馈 |
[anxious] | 非常担忧、不安 | 紧急事务 |
[hysterical] | 情绪失控 | 极端反应 |
[indifferent] | 冷漠、中立 | 中性回复 |
[uncertain] | 迟疑、不确定 | 猜测、提问 |
[doubtful] | 怀疑、质问 | 不信、追问 |
[confused] | 困惑、不解 | 请求澄清 |
[disappointed] | 失望、失落 | 期望落空 |
[regretful] | 后悔、懊悔 | 道歉、失误 |
[guilty] | 内疚、有责任 | 忏悔、道歉 |
[ashamed] | 深感羞愧 | 严重错误 |
[jealous] | 嫉妒、怨恨 | 比较 |
[envious] | 羡慕、眼红 | 带渴望的欣赏 |
[hopeful] | 对未来乐观 | 未来计划 |
[optimistic] | 积极乐观 | 鼓励 |
[pessimistic] | 消极悲观 | 警告、疑虑 |
[nostalgic] | 怀念过去 | 回忆、故事 |
[lonely] | 孤独、寂寞 | 情感内容 |
[bored] | 无聊、厌倦 | 兴致缺缺 |
[contemptuous] | 鄙视 | 强烈批评 |
[sympathetic] | 表示同情 | 慰问 |
[compassionate] | 深切关怀 | 支持、帮助 |
[determined] | 坚决、下定决心 | 目标、承诺 |
[resigned] | 认命、接受 | 放弃、接受现实 |
语气标记
语气标记控制音量、强度和重音。把 [emphasis] 放在要强调的词或短语前面:
This is [emphasis] really important.
| 标签 | 表达效果 | 使用场景 |
|---|---|---|
[in a hurry tone] | 匆忙、急迫 | 时效性信息 |
[shouting] | 大声、呼喊 | 引起注意 |
[screaming] | 非常大声、惊慌 | 紧急情况、恐惧 |
[whispering] | 很轻、隐秘 | 秘密、安静场景 |
[soft tone] | 温柔、轻声 | 安抚、摇篮曲 |
[emphasis] | 重读某个词或短语 | 强调关键词 |
音频效果
音频效果标签添加自然的人类声音。有建议文本的标签,请在其后补上对应的文本:
| 标签 | 描述 | 标签后建议文本 |
|---|---|---|
[laughing] | 大笑 | Ha, ha, ha |
[chuckling] | 轻笑 | Heh, heh |
[sobbing] | 痛哭 | 可选文本 |
[crying loudly] | 放声大哭 | 可选文本 |
[sighing] | 如释重负或沮丧的叹息 | sigh |
[groaning] | 沮丧的呻吟 | ugh |
[panting] | 气喘吁吁 | huff, puff |
[gasping] | 倒吸一口气 | gasp |
[yawning] | 疲惫的哈欠 | yawn |
[snoring] | 睡觉打鼾 | zzz |
[clear throat] | 清嗓子 | ahem |
停顿与特殊效果
| 标签 | 描述 |
|---|---|
[break] | 短暂停顿 |
[long-break] | 长时间停顿 |
[short pause] | 短促的间隔 |
[long pause] | 长时间的沉默 |
[audience laughing] | 观众笑声 |
[background laughter] | 环境笑声 |
[crowd laughing] | 人群大笑 |
普通停顿词不需要任何标签也能塑造节奏:"um"、"uh"、"嗯"、"啊"。
标签组合
生理反应标签配情绪标签。 [panting]、[whispering] 这类生理标签单独使用也能生效,但配上情绪标签效果更稳定、更自然:
[panting] [tired] I've been running for twenty minutes.
[whispering] [scared] Don't move. Don't make a sound.
[shouting] [angry] I told you this would happen!
叠加情绪表达复杂状态。 每句的组合不要超过三个标签:
[sad][whispering] I miss you so much.
[angry][shouting] Get out of here now!
[excited][laughing] We won! Ha ha!
用情绪转换写出跨句的情感递进:
[happy] I got the promotion!
[uncertain] But... it means relocating.
[sad] I'll miss everyone here.
[hopeful] Though it's a great opportunity.
[determined] I'm going to make it work!
添加背景效果营造氛围:
The comedy show was amazing [audience laughing]
用强度修饰词调节情绪强弱:
[slightly sad] I'm a bit disappointed.
[very excited] This is absolutely amazing!
[extremely angry] This is unacceptable!
最佳实践
推荐:
- 每句话只用一个主情绪
- 情绪与语境逻辑匹配
- 音效标签后补上文本,例如
[laughing]后面写 "Ha ha" - 拉开情绪变化的间隔,更真实
- 在同一个音色上测试不同组合
避免:
- 在短文本里滥用标签
- 一句话里混用冲突情绪
- 方括号里的描述写得过长、打断阅读
- 描述性标签后面不跟台词
- 把句级情绪提示放在离它控制的句子很远的地方
如果输出听起来不自然,可以拉开情绪变化间隔、降低强度,或换一个音色:同一个标签在不同音色上的效果不同。
多说话人对话
连接两个或更多音色到 Fish Audio Text to Speech 节点,然后在文本中用 @Voice1、@Voice2 等标记说话人切换。每个已连接的音色都必须在文本中至少出现一次,否则节点会报错。音色连接方式见 Fish Audio:文本转语音、声音克隆与语音转文本。
@Voice1 [nervous] You're sure no one followed you?
@Voice2 [calm] Relax. I took the long way, exactly like you asked.
@Voice1 [sighing][relieved] Good. Then let's see what's inside.
@Voice2 [curious] You don't even know what it is?
音素控制
音素标签可以为名字、多音字、缩写和技术术语指定精确发音。把替换发音包在 <|phoneme_start|> 和 <|phoneme_end|> 标签里。音素标签不会被文本规范化改写,所以保持 normalize 开启即可。
英文(CMU Arpabet,替换单个单词):
I am an <|phoneme_start|>EH1 N JH AH0 N IH1 R<|phoneme_end|>.
中文(带声调拼音,替换单个字或音节,适合多音字和人名地名):
我是一个<|phoneme_start|>gong1<|phoneme_end|><|phoneme_start|>cheng2<|phoneme_end|><|phoneme_start|>shi1<|phoneme_end|>。
日文(OpenJTalk 风格 romaji 加音高重音数字):
<|phoneme_start|>ha0shi1ga0<|phoneme_end|>見えます。
音素控制可以和其他标签在同一文本中组合使用:
I am, um, an [break] <|phoneme_start|>EH1 N JH AH0 N IH1 R<|phoneme_end|>.
参数调节
默认值已经调得很好,只在需要时调整:
| 参数 | 默认值 | 作用 |
|---|---|---|
temperature | 0.7 | 表现力。越高越多变,越低越稳定 |
top_p | 0.7 | 核采样多样性 |
speed | 1.0 | 语速,0.5 到 2.0 |
volume | 0.0 | 音量调节(分贝),-10 到 10 |
normalize | true | 展开数字和日期以便自然朗读。除非规范化改写了你想逐字朗读的内容,否则保持开启 |
seed 只控制节点是否重跑;无论 seed 值是多少,结果都是非确定性的。
声音克隆质量
对 Fish Audio Instant Voice Clone 节点来说,参考录音的质量决定克隆效果。录音时长限制见 Fish Audio:文本转语音、声音克隆与语音转文本:
- 录 2 到 3 段、每段 15 到 20 秒的音频,总共不超过 270 秒
- 只有一个说话人,音量平稳,语气和情绪一致
- 句间留小停顿,约半秒
- 安静的房间,麦克风离嘴约一个手掌宽
- 手机录音或耳麦都可以;避免背景音乐、电视声和回声
如果克隆出来的声音很机械,录更多的素材(总共 30 到 60 秒),自然地讲话并留出停顿。
只克隆你有权使用的声音:你自己的声音,或获得明确授权的人的声音。