elevenlabs-dialogue
作者 inferen-sh通过 inference.sh CLI 调用 ElevenLabs,生成精致的多说话人对话音频。将结构化脚本转换为自然流畅的多角色对话,并输出到同一个音频文件,适用于播客、有声书、讲解视频、教程、角色对白和视频脚本等场景。
概览
什么是 elevenlabs-dialogue?
elevenlabs-dialogue 是一个专注于对话音频生成的技能,可以把结构化脚本转换成使用 ElevenLabs 声音的自然多说话人对话。它通过 inference.sh (infsh) CLI 运行,因此你可以直接在命令行生成对话音频,或由能够调用 Bash 的智能体来执行。
你不再需要手工拼接每一句台词或每个声音,只需用简单的 JSON 结构定义每一句对话(每行包含 text + voice)。技能会通过 infsh 调用 elevenlabs/text-to-dialogue 应用,并返回一条已经混音好的完整对话音频文件。
elevenlabs-dialogue 适合谁?
这个技能适合任何需要可重复、基于脚本的对话音频的人,尤其是在同一条音轨中需要多个角色或说话人的场景:
- 希望快速生成草稿对话或合成问答声音的播客和访谈创作者。
- 制作解说视频、演示或教程,且有两个及以上说话人的视频和课程制作人。
- 需要具有不同角色声音对白的有声书、小说和游戏编剧。
- 需要制作对话式产品演示或产品导览的产品和市场团队。
- 想通过 CLI 将 ElevenLabs 对话集成到 CI、智能体或批处理流程中的开发者和自动化用户。
如果你的日常流程已经偏向命令行,或者使用能运行 Bash(infsh *)的智能体技能,elevenlabs-dialogue 可以让你用脚本优雅地生成整段对话。
elevenlabs-dialogue 解决了什么问题?
这个技能可以帮助你:
- 一次性生成多角色对话——在脚本中指定多个说话人,一次生成一条可直接使用的对话音频文件。
- 保持完全脚本驱动——用结构化 JSON 定义所有对话,非常适合版本管理和自动化流水线。
- 灵活控制配音阵容——从 22+ 个 ElevenLabs 声音中选择,并为不同场景做组合搭配。
- 加快迭代速度——修改台词、替换声音或调整顺序后,快速重新生成整段对话。
它特别适合需要一致、可重复的对话资产,而不是零散的一句句音频的场合。
什么时候适合使用 elevenlabs-dialogue?
在以下情况建议使用 elevenlabs-dialogue:
- 你习惯使用 CLI 或通过智能体运行命令。
- 你需要的是多说话人对话,而不是单一旁白。
- 你的对话是按脚本写好的(播客、讲解、培训内容、故事场景等)。
- 你想通过 inference.sh 使用 ElevenLabs premium voices。
在以下情况,它可能不是最佳选择:
- 你只需要单个声音朗读长文本(用更简单的 text-to-speech 工具可能就够了)。
- 你无法或不想安装并完成 inference.sh CLI 认证。
- 你需要大量的后期音频制作(通常仍会把生成的音频导入 DAW 做最后润色)。
使用指南
前置条件
在使用 elevenlabs-dialogue 技能之前,请确保你已具备:
- 已正确安装并可使用的 inference.sh CLI (
infsh)。 - 通过 inference.sh 访问由 ElevenLabs 驱动的
elevenlabs/text-to-dialogue应用的权限。 - 一个可以运行 带
infsh的 Bash 的环境(本地或智能体运行环境)。
上游 SKILL 定义中指定:
allowed-tools: Bash(infsh *)——也就是说,使用方式是围绕在 Bash 中调用infsh命令设计的。
1. 安装 elevenlabs-dialogue 技能
要从 inferen-sh/skills 仓库添加这个技能,使用标准的 skills 安装器:
npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-dialogue
该命令会把 elevenlabs-dialogue 的配置及元数据拉取到你的技能环境中,方便支持该注册表的智能体或工作流调用它。
安装完成后,如果你想查看上游 quick start 和更多声音信息,可以打开技能目录中的 SKILL.md 文件。
2. 配置 inference.sh (infsh)
该技能依赖 infsh CLI 来调用底层的 ElevenLabs 对话应用。
- 按官方说明安装 inference.sh CLI:
- 在 SKILL 文件中找到引用的
cli-install.md(URL:https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md)。
- 在 SKILL 文件中找到引用的
- 在终端登录,让
infsh可以访问你的账号和 apps:
infsh login
在尝试运行对话应用前,请确保登录成功。
3. 运行一次基础对话生成
配置好 infsh 后,你可以用一条命令生成多说话人对话。上游 quick start 示例如下:
infsh app run elevenlabs/text-to-dialogue --input '{
"segments": [
{"text": "Have you tried the new feature?", "voice": "george"},
{"text": "Not yet, but I heard it is amazing.", "voice": "aria"},
{"text": "You should check it out today.", "voice": "george"}
]
}'
要点说明:
elevenlabs/text-to-dialogue是支撑 elevenlabs-dialogue 的底层应用。segments是一个对话轮次数组。- 每个 segment 包含:
text:该说话人要说的内容。voice:要使用的 ElevenLabs 声音名称。
输出会是一条合成后的音频文件,包含所有对话片段,按顺序拼接为一段完整对话。
4. 组织你自己的对话脚本
要在实际项目中更高效地使用 elevenlabs-dialogue,可以按照下面的方式组织:
- 在文本编辑器中写好完整对话脚本。
- 把脚本转成 JSON 里的
segments结构。 - 为每个角色或说话人映射一个确定的 voice 名称。
- 按上面的示例使用
infsh app run运行。
以下是一个简短产品演示对话示例:
infsh app run elevenlabs/text-to-dialogue --input '{
"segments": [
{"text": "Welcome to the analytics dashboard.", "voice": "aria"},
{"text": "Here you can track your key performance metrics.", "voice": "brian"},
{"text": "Let me show you how to create a new report.", "voice": "aria"}
]
}'
这种模式非常适合脚本、CI 流水线,或任何能构造 JSON 并调用 Bash 的智能体。
5. 选择并组合声音
SKILL 文档中提到,每个说话人可以使用 22+ 个 premium voices,并提供了若干推荐组合,例如:
- 访谈场景:
george+aria,用于专业感较强的问答。 - 轻松聊天:
brian+sarah,用于更轻松随意的语气。
要充分发挥 elevenlabs-dialogue 的优势,可以:
- 为每个角色固定一个声音,让听众更容易分辨是谁在说话。
- 针对不同内容类型使用不同的组合(例如 B2B 讲解用更正式的声音,故事类内容用更温暖的声音)。
- 在项目中维护一个简单的映射文件(例如
voices.json),统一定义每个角色对应哪个 voice 名称。
6. 集成到你的工作流
由于 elevenlabs-dialogue 完全基于 CLI 驱动,它非常适合放入自动化音频工作流中:
- 音视频制作——批量生成对话音轨,然后导入 DAW 或视频编辑器中添加音乐、音效并调整时间轴。
- 文档和教程——先写好产品演示脚本,再生成对话式旁白音频。
- 智能体应用——让智能体根据上下文或用户输入生成
segmentsJSON,然后调用infsh app run按需生成对话音频。
这个技能本身不负责剪辑、分轨或分发,它专注于对话生成。后续的混音、裁剪和导出需要交给下游工具来完成。
常见问题(FAQ)
elevenlabs-dialogue 技能到底做什么?
elevenlabs-dialogue 技能通过 inference.sh CLI 调度 ElevenLabs 声音来生成多说话人对话。你提供一组对话片段(text + voice),它会返回一条已经混音好的音频文件,每句台词会依次由指定的声音朗读。
elevenlabs-dialogue 和普通 text-to-speech 有什么区别?
常规的 text-to-speech 工具通常一次只为单个说话人或一整段文本生成音频。elevenlabs-dialogue 则专门面向对话场景:多句台词、多种声音,最终输出为一条完整对话音轨。这让它更适合访谈、角色对白、脚本对话以及双人讲解等场景。
使用 elevenlabs-dialogue 一定要安装 inference.sh 吗?
是的。该技能依赖 inference.sh (infsh) CLI。你需要:
- 按照
cli-install.md中的官方说明安装 CLI。 - 运行
infsh login完成登录认证。
如果没有 infsh,与 elevenlabs-dialogue 相关的命令和智能体调用都无法正常工作。
我可以任意选择 ElevenLabs 的声音吗?
SKILL 文档指出有 22+ 个 premium voices 可用。你需要在每个 segment 中通过名称引用声音,例如 "voice": "george" 或 "voice": "aria"。具体有哪些声音和命名方式,由 elevenlabs/text-to-dialogue 背后的 ElevenLabs 集成来管理。
elevenlabs-dialogue 最适合用于哪些项目?
典型适用场景包括:
- 合成播客片段或访谈 Demo。
- 有两位或多位讲解人的视频讲解。
- 多角色场景的有声书对白。
- 教程和产品导览,用不同角色引导用户。
- 用于原型、Demo 或游戏设计的角色对白。
如果你只需要一个旁白声音,简单的 text-to-speech 工具可能就足够;elevenlabs-dialogue 的优势在于多角色、多声音的互动对话。
生成的音频可以再编辑吗?
可以。elevenlabs-dialogue 专注于生成对话音轨。你可以把生成的音频文件导入任意音频编辑器或视频编辑器,用于:
- 调整节奏与停顿。
- 添加音乐、音效或环境音。
- 应用 EQ、压缩和母带处理等。
该技能不自带编辑功能,它是为了融入你现有的音频/视频制作流程而设计的。
如何快速上手 elevenlabs-dialogue?
- 安装技能:
npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-dialogue - 安装并登录 inference.sh CLI。
- 复制上面的 quick start 示例,用
infsh app run运行。 - 将示例中的
segments替换为你自己的脚本和声音选择。
在此基础上,你可以不断迭代对话结构,并将命令嵌入脚本、智能体或构建流水线中。
在哪里可以查看 elevenlabs-dialogue 的更多细节?
如需最准确、最新的用法说明,请打开上游 inferen-sh/skills 仓库中 tools/audio/elevenlabs-dialogue 路径下的 SKILL.md 文件。该文件包含官方描述、quick start 示例和声音搭配建议,本概览即基于这些内容整理而成。
