OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  audio-gen:生成有声读物、播客或教育类音频内容

audio-gen:生成有声读物、播客或教育类音频内容

 
  type ·  2026-02-05 20:26:39 · 3 次点击  · 0 条评论  

名称: audio-gen
描述: 按需生成有声书、播客或教育音频内容。用户提供想法或主题,Claude AI 编写脚本,ElevenLabs 将其转换为高质量音频。支持多种格式(有声书、播客、教育类)、自定义长度和语音效果。当用户要求创建音频内容、制作播客、生成有声书或制作教育音频时使用。通过 MEDIA 令牌返回 MP3 音频文件。
主页: https://github.com/clawdbot/clawdbot
元数据: {"clawdbot":{"emoji":"🎙️","requires":{"skills":["sag"],"env":["ANTHROPIC_API_KEY","ELEVENLABS_API_KEY"]},"primaryEnv":"ANTHROPIC_API_KEY"}}


🎙️ 音频内容生成器

利用 AI 编写的脚本和 ElevenLabs 文本转语音技术,按需生成高质量的有声书、播客或教育音频内容。

快速开始

创建有声书章节:

用户:"创建一个关于一条龙发现友谊的 5 分钟有声书章节"

生成播客:

用户:"制作一个关于咖啡历史的 10 分钟播客"

制作教育内容:

用户:"生成一段 15 分钟的教育音频,解释神经网络的工作原理"

内容格式

有声书

风格: 具有情感深度的叙事性故事
- 清晰的开始、发展和结尾
- 描述性语言和生动的意象
- 富有戏剧性的节奏和深思熟虑的停顿
- 与故事匹配的情感基调
- 使用语音效果如 [whispers][excited][serious] 来增强感染力

示例结构:

[开篇引子 - 设定场景]
[长停顿]

[故事发展与角色情感]
句子间使用 [短停顿]
段落间使用 [长停顿]

[高潮与戏剧张力]
[长停顿]

[结局与情感收尾]

播客

风格: 对话式且引人入胜
- 温暖、欢迎式的开场(15-30 秒)
- 内容主体自然流畅
- 话题间的过渡
- 令人难忘的结尾,总结要点
- 始终保持对话式语气

示例结构:

**开场:** "欢迎收听 [主题]。我很高兴与您分享..."
[短停顿]

**主要内容:** "让我们从... [话题 1] 开始"
段落间使用 [长停顿]

**结尾:** "感谢收听!请记住..."

教育内容

风格: 清晰易懂的解释,适合学习
- 用简单方式介绍复杂主题
- 逐步分解讲解
- 现实世界的例子和类比
- 结尾回顾核心概念
- 热情洋溢的讲述,对重点使用 [excited]

示例结构:

**引言:** 什么是 [主题] 以及它为何重要?

**主要内容:**
- 概念 1:解释 + 示例
- 概念 2:解释 + 示例
- 概念 3:解释 + 示例

**总结:** 关键要点与后续步骤

时长指南

字数与时长转换:
- 5 分钟 ≈ 375 字
- 10 分钟 ≈ 750 字
- 15 分钟 ≈ 1125 字
- 20 分钟 ≈ 1500 字
- 30 分钟 ≈ 2250 字

语速: 平均对话速度约为每分钟 75 字

实际限制:
- 最短:2 分钟(约 150 字)
- 最长:30 分钟(约 2250 字)
- 最佳时长:5-15 分钟,以保持最佳参与度

工作流程说明

步骤 1:理解用户请求

解析用户请求,明确:
1. 内容类型(有声书、播客、教育类,或根据主题推断)
2. 主题/题材(内容应关于什么)
3. 目标时长(多少分钟)
4. 语调/风格(戏剧性、随意、教育性等)
5. 特殊要求(特定语音、强调某些要点)

步骤 2:计算字数

目标字数 = 目标分钟数 × 75

示例:10 分钟 = 10 × 75 = 750 字

步骤 3:生成脚本

遵循以下规则编写完整脚本:

内容指南:
- 以引人入胜的开头开始
- 保持自然、对话式的流畅度
- 使用主动语态和简单的句子结构
- 包含相关的例子和故事
- 以令人满意的结论结尾

格式规则:
- 在句子后添加 [短停顿](谨慎使用,并非每句都需要)
- 在段落或主要部分之间添加 [长停顿]
- 策略性地使用语音效果:[whispers][shouts][excited][serious][sarcastic][sings][laughs]
- 将数字写成单词:"二十三" 而非 "23"
- 首次出现时拼写缩写:"AI,即人工智能"
- 避免复杂的标点符号(破折号可用,但分号朗读效果不佳)
- 在 TTS 转换前移除所有 Markdown 格式

步骤 4:展示脚本

向用户展示脚本并询问:

这是我创建的 [格式] 脚本(大约 [时长] 分钟):

[显示脚本]

您希望我:
1. 现在生成音频
2. 修改脚本
3. 调整长度或语调

步骤 5:处理用户反馈

如果用户要求修改:
- 根据调整重新生成脚本
- 保持目标字数
- 展示修订后的版本

如果用户批准:
- 继续生成音频

步骤 6:生成音频

为 TTS 格式化脚本:
1. 移除所有剩余的 Markdown 格式(标题、粗体、斜体)
2. 确保语音效果使用正确的 [效果] 格式
3. 检查停顿位置是否恰当
4. 确认数字和缩写已拼写出来

调用 TTS 脚本:

重要提示: ELEVENLABS_API_KEY 环境变量已在系统中配置。直接调用 TTS 脚本即可。

uv run /home/clawdbot/clawdbot/skills/sag/scripts/tts.py \
  -o /tmp/audio-gen-[时间戳]-[主题短链].mp3 \
  -m eleven_multilingual_v2 \
  "[格式化后的脚本]"

对于长脚本,使用 heredoc:

uv run /home/clawdbot/clawdbot/skills/sag/scripts/tts.py \
  -o /tmp/audio-gen-[时间戳]-[主题短链].mp3 \
  -m eleven_multilingual_v2 \
  "$(cat <<'EOF'
[格式化后的脚本]
EOF
)"

返回结果:

MEDIA:/tmp/audio-gen-[时间戳]-[主题短链].mp3

您的 [格式] 已准备就绪![内容简要描述]。时长:约 [X] 分钟。

语音效果(SSML 标签)

可用的语音调制效果(为增强效果,请谨慎使用):

  • [whispers] - 柔和、亲密的讲述
  • [shouts] - 响亮、强调的讲述
  • [excited] - 热情、充满活力的语调
  • [serious] - 严肃、庄重的语调
  • [sarcastic] - 讽刺、嘲弄的语调
  • [sings] - 音乐性、旋律性的讲述
  • [laughs] - 愉快、欢乐的语调
  • [short pause] - 短暂静默(约 0.5 秒)
  • [long pause] - 较长静默(约 1-2 秒)

最佳实践:
- 在情感时刻使用效果,而非每句话
- 停顿是控制节奏最强大的工具
- 语音效果在有声书和戏剧性内容中效果最佳
- 保持播客和教育内容大部分自然

错误处理

脚本过长

如果生成的脚本超过目标字数 20% 以上:

我生成的脚本是 [X] 字([Y] 分钟),超过了您 [Z] 分钟的目标。您希望我:
1. 压缩它以符合目标长度
2. 将其拆分为多个部分
3. 保持原样

脚本过短

如果生成的脚本少于目标字数 20% 以上:

脚本是 [X] 字([Y] 分钟),短于您的目标。您希望我:
1. 添加更多细节进行扩展
2. 增加额外的例子或故事
3. 按原样生成

TTS 生成失败

如果 TTS 脚本失败:

我已创建脚本,但目前无法生成音频。这是您的脚本:

[显示脚本]

错误:[具体错误信息]

您可以:
1. 检查 ELEVENLABS_API_KEY 是否已配置
2. 使用您自己的文本转语音工具处理此脚本
3. 稍后再试
4. 让我排查音频生成问题

常见的 TTS 问题:
- API 密钥未设置:检查配置中的 ELEVENLABS_API_KEY
- 速率限制:稍等片刻再试
- 文本过长:拆分成更小的块(最大约 5000 字符)

无效请求

对于不切实际的请求(例如,"100 小时的有声书"):

该长度需要 [X] 字,并且需要大量时间生成。我建议:
- 将其拆分为多个剧集/章节
- 每个音频文件目标时长为 5-30 分钟
- 创建一个系列而非单个长文件

最佳效果技巧

制作引人入胜的有声书

  • 聚焦角色情感和感官细节
  • 使用停顿来营造戏剧张力
  • 变换句子长度以创造节奏感
  • 包含内心独白和反思

制作引人入胜的播客

  • 以一个问题或令人惊讶的事实开始
  • 使用对话式短语:"您知道有趣的是什么吗..."
  • 包含日常生活中的相关例子
  • 以可操作的要点结尾

制作有效的教育内容

  • 采用 "用五岁孩子能懂的方式解释" 的方法
  • 从简单概念逐步构建到复杂概念
  • 重复关键术语和定义
  • 提供多个例子以确保清晰度

技术说明

TTS 实现:
- 使用 Python 脚本:~/.clawdbot/clawdbot/skills/sag/scripts/tts.py
- 无需二进制安装(纯 Python + requests)
- 直接调用 ElevenLabs API
- 兼容 Linux 和 macOS

文件存储:
- 音频文件保存至 /tmp/audio-gen/
- 文件名格式:audio-gen-[时间戳]-[主题短链].mp3
- 文件在 24 小时后自动清理

API 要求:
- Anthropic API 用于脚本生成(已配置)
- ElevenLabs API 用于文本转语音(通过 ELEVENLABS_API_KEY 配置)
- 两项服务必须已配置并有可用额度

支持的模型:
- eleven_multilingual_v2 - 最佳质量(默认)
- eleven_turbo_v2 - 生成速度更快
- eleven_turbo_v2_5 - 生成速度最快
- eleven_multilingual_v1 - 旧版模型

成本估算:
- 10 分钟音频(约 750 字):约 1.43 美元
- Claude API:约 0.075 美元
- ElevenLabs:约 1.35 美元
- 更长内容按比例增加

生成时间:
- 脚本生成:5-30 秒(取决于长度)
- 音频生成:5-15 秒(ElevenLabs 处理)
- 总计:10 分钟音频通常不超过 1 分钟

限制

  1. 最大长度: 每个音频文件 30 分钟(约 2250 字)

    • 对于更长内容,请创建多个部分/剧集
  2. 单一语音: 目前仅支持一个叙述者语音

    • 无法进行多角色对话或角色语音
  3. 无背景音乐: 仅纯语音叙述

    • 无背景音乐、音效或音频混合
  4. 实时生成: 每个请求都生成新内容

    • 无预制模板或缓存音频
  5. 语言: 主要为英语

    • ElevenLabs 支持其他语言,但内容生成针对英语优化

示例对话

示例 1:快速有声书

用户:创建一个 5 分钟的有声书章节,讲述一个孤独的机器人学习感受情感

助手:我将创建一个 5 分钟的科幻有声书章节。让我来写这个故事...

[生成约 400 字、带有情感弧线的叙事]

这是我创作的关于 Unit-7 的故事,Unit-7 是一个维护机器人,通过一次意外的相遇发现了友谊的意义。您希望我现在生成音频,还是先修改?

用户:生成音频

助手:[使用格式化脚本调用 SAG]

MEDIA:/tmp/audio-gen-1234567890-lonely-robot.mp3

您的有声书章节已准备就绪!故事讲述了 Unit-7 通过与一位年轻工程师的感人相遇而经历的情感觉醒。时长:约 5 分钟。

示例 2:带修订的播客

用户:制作一个关于可持续生活技巧的 10 分钟播客

助手:[生成包含开场、5 个实用技巧、结尾的播客脚本]

这是一个 10 分钟的播客,包含 5 个可操作的可持续生活技巧。语调是鼓励性和实用性的。您希望我:
1. 现在生成音频
2. 使其更具紧迫感/气候关注性
3. 添加更多具体例子
4. 调整长度

用户:为每个技巧添加更多具体例子

助手:[重新生成,添加详细例子]

现在如何?我已经添加了具体例子,如计算您的碳足迹、在家堆肥以及选择可持续品牌。可以生成音频了吗?

用户:完美!

助手:MEDIA:/tmp/audio-gen-1234567890-sustainable-living.mp3

您的可持续生活播客已准备就绪,包含 5 个实用技巧,每个技巧都有您今天就可以开始使用的具体例子!时长:10 分钟。

示例 3:教育内容

用户:创建一个 15 分钟的教育音频,为初学者解释量子计算

助手:我将创建一个适合初学者的 15 分钟量子计算解释...

[生成约 1100 字,包含类比、例子和清晰结构]

脚本预览:
- 引言:什么是量子计算?(2 分钟)
- 经典计算 vs 量子计算:关键区别(4 分钟)
- 量子比特与叠加态:工作原理(5 分钟)
- 实际应用:对您意味着什么(3 分钟)
- 结论:计算的未来(1 分钟)

我应该生成音频吗?

用户:是的,请

助手:MEDIA:/tmp/audio-gen-1234567890-quantum-computing.mp3

您的关于量子计算的教育播客已准备就绪!它使用日常类比来解释量子比特、叠加态和实际应用。时长:约 15 分钟。

何时使用此技能

当用户请求以下内容时,使用 audio-gen 技能:
- "创建一个关于...的有声书"
- "制作一个关于...的播客剧集"
- "生成解释...的音频内容"
- "录制一个关于...的故事"
- "制作一个...的音频指南"
- "创建...的叙述版本"
- "制作一个关于...的音频课程"

请勿用于:
- 转录现有音频(使用 whisper 技能)
- 将用户编写的文本转换为音频(直接使用 SAG 技能)
- 实时语音交互(使用 voice-call 插件)
- 多说话者对话或采访(当前限制)

高级用法

语音选择

用户可以请求特定语音:

用户:用 Rachel 语音创建一个播客

助手:[检查配置中 "Rachel" 语音的 ID,并在 SAG 命令中使用]

系列/剧集

对于多部分内容:

用户:创建一个关于太空探索的 3 集系列

助手:我将首先创建第 1 集。每集 10 分钟。让我们从 "太空时代的黎明" 开始...

[完成后]

第 1 集已准备就绪!您希望我继续制作第 2 集吗?

格式混合

混合格式以创造独特风格:

用户:创建一个讲述故事的教育播客

助手:[生成结合叙事故事与教育解释的内容]

故障排除

问题: 音频听起来机械或不自然
解决方案: 添加更多停顿和语音效果。使用缩略语和对话式语言。

问题: 脚本与请求的长度不匹配
解决方案: 使用明确的目标字数重新生成。检查计算(75 字/分钟)。

问题: 内容过于技术性或过于简单
解决方案: 询问用户目标受众。相应地调整复杂度。

问题: SAG 命令失败
解决方案: 检查 ELEVENLABS_API_KEY 是否已设置。验证 SAG 技能是否已安装并正常工作。

问题: 用户希望手动编辑脚本
解决方案: 提供纯文本脚本。用户可以修改后粘贴回来进行音频生成。


💡 专业提示: 始终先生成脚本并获得用户批准,然后再创建音频。这可以节省时间和 API 成本,并确保用户获得他们想要的内容。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor