用途
Dialogue Audio 是一个用于创建多说话人对话音频的技能,基于 Dia TTS 模型,通过 inference.sh CLI(belt)调用。它面向需要生成自然双人对话语音的场景,例如播客、访谈、教程讲解和讨论类内容。
主要能力
说话人标签
Dia TTS 使用 [S1] 和 [S2] 区分两个说话人:
- [S1]:说话人 1,自动分配声音 A
- [S2]:说话人 2,自动分配声音 B
规则:每轮发言必须以标签开头;标签必须大写([S1] 而非 [s1]);每次生成最多 2 个说话人;同一会话内每个说话人声音保持一致。
情绪与表达控制
Dia TTS 通过标点符号和非语音提示来传达情绪:
标点效果:
- 句号 .:中性、陈述、中等停顿
- 感叹号 !:强调、兴奋、能量
- 问号 ?:升调、疑问
- 省略号 ...:犹豫、渐弱、长停顿
- 逗号 ,:短暂换气停顿
- 破折号 — 或 --:打断或转折
非语音声音(括号描述):
- (laughs):笑声
- (sighs):无奈或释然
- (clears throat):引起注意的停顿
- (whispers):更轻柔的表达
- (gasps):惊讶
节奏控制
停顿层级:
- 逗号:约 0.3 秒,用于分句、列表项之间
- 句号:约 0.5 秒,用于句子之间
- 省略号:约 1.0 秒,用于戏剧性停顿、思考、犹豫
- 新说话人标签:约 0.3 秒,自然的轮次间隔
速度控制:短句 = 更快的感知节奏;带逗号的长句 = 从容、深思的节奏;问句后接回答 = 有来有回的互动节奏。
对话结构模式
技能提供了访谈格式、教程/讲解、辩论/讨论等结构示例,均以 belt app run falai/dia-tts 命令形式给出。
后期处理
- 音量归一化:使用 infsh/video-audio-merger 合并视频与音频,通过 audio_volume 参数平衡音量
- 添加背景/音乐:使用 infsh/media-merger 合并对话与背景音乐
- 长对话分段:超过约 30 秒的对话建议分段生成,再用 infsh/media-merger 合并所有片段
脚本写作建议
应做:按人们说话的方式写、短句(少于 15 词)、使用缩略形式(can't、won't)、自然填充词(So、Well)、变化句子长度、加入反应(Exactly!、Hmm.)、生成前先朗读。
不应做:按书面方式写、长学术句、正式表达(cannot、will not)、每句都完美成形、所有句子等长、单方面独白、假设听起来没问题。
常见错误
- 独白超过 3 句:听起来像讲座而非对话,应拆成交流
- 无情绪变化:平淡、机械,应使用标点和非语音提示
- 缺少说话人标签:声音不交替,每轮应以 [S1] 或 [S2] 开头
- 正式书面语言:听起来不自然,应使用缩略形式和短句
- 话题间无停顿:感觉仓促,应使用 ... 或场景分隔
- 所有能量级别相同:单调,应在高/低能量时刻之间变化
使用方式
需先安装 inference.sh CLI(belt),安装说明见官方文档。
安装 belt CLI 技能:npx skills add belt-sh/cli
登录:belt login
双人对话示例: belt app run falai/dia-tts --input '{ "prompt": "[S1] Have you tried the new feature yet? [S2] Not yet, but I heard it saves a ton of time. [S1] It really does. I cut my workflow in half. [S2] Okay, I am definitely trying it today." }'
适用场景
播客、访谈、教程讲解、辩论讨论等双人对话音频内容。
限制
每次生成最多 2 个说话人;长对话(超过约 30 秒)建议分段生成后合并。
相关技能
- ElevenLabs 对话(22+ 声音、声音指导):npx skills add inference-sh/skills@elevenlabs-dialogue
- npx skills add inference-sh/skills@text-to-speech
- npx skills add inference-sh/skills@ai-podcast-creation
- npx skills add inference-sh/skills@ai-avatar-video
浏览所有应用:belt app list