I

elevenlabs-dialogue

作者 inferen-sh

通过 inference.sh CLI 调用 ElevenLabs,生成精致的多说话人对话音频。将结构化脚本转换为自然流畅的多角色对话,并输出到同一个音频文件,适用于播客、有声书、讲解视频、教程、角色对白和视频脚本等场景。

Stars0
收藏0
评论0
分类语音生成
安装命令
npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-dialogue
概览

概览

什么是 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 对话应用。

  1. 按官方说明安装 inference.sh CLI
    • 在 SKILL 文件中找到引用的 cli-install.md(URL: https://raw.githubusercontent.com/inference-sh/skills/refs/heads/main/cli-install.md)。
  2. 在终端登录,让 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,可以按照下面的方式组织:

  1. 在文本编辑器中写好完整对话脚本。
  2. 把脚本转成 JSON 里的 segments 结构。
  3. 为每个角色或说话人映射一个确定的 voice 名称。
  4. 按上面的示例使用 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 或视频编辑器中添加音乐、音效并调整时间轴。
  • 文档和教程——先写好产品演示脚本,再生成对话式旁白音频。
  • 智能体应用——让智能体根据上下文或用户输入生成 segments JSON,然后调用 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。你需要:

  1. 按照 cli-install.md 中的官方说明安装 CLI。
  2. 运行 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?

  1. 安装技能:
    npx skills add https://github.com/inferen-sh/skills --skill elevenlabs-dialogue
    
  2. 安装并登录 inference.sh CLI
  3. 复制上面的 quick start 示例,用 infsh app run 运行。
  4. 将示例中的 segments 替换为你自己的脚本和声音选择。

在此基础上,你可以不断迭代对话结构,并将命令嵌入脚本、智能体或构建流水线中。

在哪里可以查看 elevenlabs-dialogue 的更多细节?

如需最准确、最新的用法说明,请打开上游 inferen-sh/skills 仓库中 tools/audio/elevenlabs-dialogue 路径下的 SKILL.md 文件。该文件包含官方描述、quick start 示例和声音搭配建议,本概览即基于这些内容整理而成。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...