dialogue-audio
作者 inferen-sh通过 inference.sh CLI,结合 Dia TTS 和 ElevenLabs,生成逼真的多说话人对话音频。dialogue-audio 技能可精细控制说话人、情绪、节奏和对话流,用于播客、有声书、讲解类内容、角色场景以及其他对话型音频内容。
概览
dialogue-audio 技能能做什么
dialogue-audio 技能可以将书面对话转为自然的多说话人音频,通过 inference.sh (infsh) CLI 调用 Dia TTS,并在后台支持接近 ElevenLabs 质量的声音。
它适用于:
- 双人对话场景
- 播客式对谈和采访
- 有声书中角色轮流发言的场景
- 主持人/嘉宾形式的讲解型内容
- 角色对白和配音原型制作
该技能重点支持:
- 通过简单标签(如
[S1]和[S2])进行说话人区分 - 在同一次会话中保持每位说话人的声音一致性
- 通过用词和标点来控制情绪与表达
- 优化来回对话的节奏和流畅度
- 提供后期制作指导,方便将音频融入现有媒体制作流程
如果你希望在命令行里自动把双人剧本变成打磨过的对话音频,dialogue-audio 正是为这一需求而设计。
适用人群
如果你是:
- 希望撰写或模拟对话的播客主
- 需要为时间线添加人声轨道的音频制作人或视频剪辑师
- 为对话密集场景创作的作者或编剧
- 偏好 CLI 和可重复流程的开发者或自动化创作者
那么这个技能会很适合你。
如果你需要:
- 在一次生成中包含多于两位说话人
- 自动完成复杂声效设计、配乐或混音
- 使用点按式 GUI 而不是命令行工具
那么它可能不是最佳选择。
针对这些更复杂的需求,你可以考虑额外使用 DAW 工具或多说话人 TTS 服务,再用 dialogue-audio 专门生成核心的双声部对话轨道。
使用要求一览
要高效使用 dialogue-audio,你需要:
- 获取 inference.sh CLI(
infsh)的访问能力 - 一个终端或命令行环境(macOS、Linux,或带 shell 的 Windows)
- 对编辑文本 prompt 和运行 CLI 命令有基本了解
使用指南
1. 安装 dialogue-audio 技能
你可以使用 npx 将 dialogue-audio 技能添加到你的 Agent 环境:
npx skills add https://github.com/inferen-sh/skills --skill dialogue-audio
该命令会从 inferen-sh/skills 仓库拉取 dialogue-audio 配置,并将其作为可复用的 workflow 提供。
接下来,请确认已安装 inference.sh CLI(infsh)。按照官方说明进行安装:
- CLI 安装说明:
https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md
安装完成后,先进行登录认证:
infsh login
2. 理解核心工作流程
在核心层面,dialogue-audio 通过 infsh 调用 Dia TTS 应用:
infsh 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."
}'
该命令会:
- 调用
falai/dia-tts应用 - 发送包含
prompt的 JSON 输入 - 使用
[S1]和[S2]标签标记说话轮次 - 返回完整对话的生成音频
dialogue-audio 技能在此基础上封装了一套有主见的 workflow,帮助你更好地组织 prompt、清晰处理两位说话人,并不断迭代情绪表现和节奏。
3. 正确使用说话人标签
Dia TTS 依赖说话人标签来区分谁在说话:
[S1]— 说话人 1(自动分配为 voice A)[S2]— 说话人 2(自动分配为 voice B)
关键规则:
- 每一轮发言都必须以对应标签开头
- 标签必须是大写:
[S1]、[S2](不要用[s1]或[speaker1]) - 每次生成最多支持2 位说话人
- 同一会话中,每位说话人会保持声音的一致性
一个规范的双人对话 prompt 示例:
[S1] Welcome back to the show. Today we are talking about productivity hacks.
[S2] I am excited for this. Some of these tricks saved me hours every week.
[S1] Let’s start with batching tasks. Why does it work so well?
[S2] Because you stay in the same mental mode instead of constantly context switching.
4. 调整情绪、语气和节奏
dialogue-audio 鼓励你通过自然的写作线索来影响生成的音频:
- 使用标点符号(逗号、省略号、感叹号等)来塑造停顿和重音
- 使用更短的句子营造更快、更利落的对话节奏
- 使用更长的短语或带描述性的语言营造更平静、更沉思的表达方式
- 适度在括号中加入舞台提示以暗示情绪,例如:
[S1] (laughing softly) I honestly did not expect that to work.
[S2] Me neither, but I am glad we tried.
可以通过对文本做小幅调整并重复运行命令,来听出语气和节奏的变化。
5. 迭代优化对话流
为了让 dialogue-audio 的效果更好,可以:
- 先在文本编辑器中写完整段对话
- 确保每行都正确打上标签且没有多余或错误标签
- 保持每轮发言精炼;过长的独白会降低对话感
- 必要时将复杂场景拆分为多次生成,然后在编辑器中拼接
你可以通过不断微调 prompt 并重复运行 infsh app run falai/dia-tts 命令,直到节奏和情绪氛围符合你的项目需求。
6. 后期制作与集成
Dia TTS 输出的是一个可直接导入你常用工具的音频文件。dialogue-audio 的重点在于声音生成而非完整混音,但你可以:
- 将生成的对话导入 DAW(如 Audacity、Reaper、Logic Pro)
- 添加背景音乐、音效或环境底噪
- 调整音量、EQ 和压缩,使其适配整体成片
- 在 Premiere Pro、Final Cut、DaVinci Resolve 等编辑器中,将对话轨与视频进行同步
因此,dialogue-audio 非常适合作为更大音频/视频制作流程中的基础模块:先生成核心的多说话人表演,再用你熟悉的工具精修。
7. 仓库中值得查看的文件
安装完成后,你可以在 inferen-sh/skills 仓库中查看该技能定义,获取更多上下文:
SKILL.md— dialogue-audio workflow 的主要说明、快速上手指南和使用注意事项
在将其接入你自己的自动化流程或 CI pipeline 时,可以把这些文件作为参考。
常见问题(FAQ)
dialogue-audio 是否只能有两位说话人?
是的。dialogue-audio 技能通过 Dia TTS 设计为每次生成最多两位说话人,使用 [S1] 和 [S2] 标签。如果你的场景角色更多,可以:
- 每次只生成其中两位的对话,或
- 将剧本拆分为多个对话片段,在后期制作中再合成。
使用 dialogue-audio 是否必须安装 inference.sh CLI?
是,必须安装。dialogue-audio 技能依赖 inference.sh CLI(infsh)。你需要先安装它,运行 infsh login,然后用 infsh app run falai/dia-tts 携带你的 prompt 发起调用。没有 infsh,该 workflow 无法访问底层 Dia TTS 应用。
我能为每位说话人手动选择具体的 ElevenLabs 声音吗?
仓库文档说明,声音是按说话人自动分配的:[S1] 映射为一种声音,[S2] 映射为另一种,并在会话期间保持一致。当前技能并未记录针对单个说话人手动选择具体 voice ID 的方式,因此更推荐将声音选择视为 Dia TTS / inference.sh 配置层面管理,而不是在 prompt 中通过显式 ID 控制。
我该如何控制对话中的情绪或强度?
该技能主要通过prompt 设计和标点符号来引导情绪,而不是使用可调节的情绪滑杆。可以尝试:
- 使用更具表现力的措辞(如 "shouted"、"whispered"、"nervously")
- 调整标点(
...、!、?)来影响停顿长度和重读 - 适度添加括号提示,如
(whispering)或(frustrated)
尝试一些小变体,听听模型的反馈,再决定适合你项目的风格。
dialogue-audio 适合长篇有声书吗?
适合,尤其是两位角色对话为主的片段。如果内容篇幅很长,可以:
- 按场景或章节划分剧本
- 分段生成音频,并在 DAW 中整理
- 确保各段之间标签和整体语气保持一致
如果你的有声书包含大量角色或复杂的旁白风格,你可能还需要额外的 TTS 配置来配合这款以双说话人为主的技能。
我能把 dialogue-audio 接入更大的自动化流程吗?
完全可以。由于 dialogue-audio 基于 infsh CLI,非常适合在脚本或自动化环境中使用:
- 在 shell 脚本中集成
infsh app run falai/dia-tts命令 - 在 CI/CD pipeline 或定时任务中批量运行生成
- 搭配
inferen-sh/skills中的其他技能,构建更大的内容生产流水线
对希望通过文本驱动、可复现方式生成音频的开发者和技术用户来说,这个技能尤为实用。
在哪些情况下不适合使用 dialogue-audio?
如果你:
- 需要在一次生成中使用多于两种声音
- 偏好完全 GUI 化的工作流,不想使用命令行
- 希望自动完成混音、配乐或音效,而不仅仅是生成对话
那么你可能需要其他方案。此时可以将专门的音频工具或多说话人 TTS 服务与 DAW 结合起来,仅在需要干净的双人对话轨时使用 dialogue-audio。
我在哪里可以查看完整配置?
在 inferen-sh/skills 仓库中打开 dialogue-audio 对应部分:
- Repo:
https://github.com/inferen-sh/skills - Skill 路径:
tools/audio/dialogue-audio
建议从 SKILL.md 开始阅读,以便了解推荐用法,以及与 Dia TTS 集成和 CLI 命令相关的最新说明。
