名称: podcast-generation 描述: 当用户请求从文本内容生成、创建或制作播客时使用此技能。将书面内容转换为两主持人对话式播客音频格式,具有自然对话。
播客生成技能
概述
此技能从文本内容生成高质量播客音频。工作流程包括创建结构化JSON脚本(对话式对话)并通过文本转语音合成执行音频生成。
核心能力
- 将任何文本内容(文章、报告、文档)转换为播客脚本
- 生成自然的两主持人对话式对话(男性和女性主持人)
- 使用文本转语音合成语音音频
- 混合音频片段成最终播客MP3文件
- 支持英文和中文内容
工作流程
步骤1: 理解要求
当用户请求播客生成时,识别:
- 源内容:要转换为播客的文本/文章/报告
- 语言:英文或中文(基于内容)
- 输出位置:保存生成播客的位置
- 您无需检查
/mnt/user-data下的文件夹
步骤2: 创建结构化脚本JSON
在/mnt/user-data/workspace/中生成结构化JSON脚本文件,命名模式:{描述性名称}-script.json
JSON结构:
{
"locale": "en",
"lines": [
{"speaker": "male", "paragraph": "对话文本"},
{"speaker": "female", "paragraph": "对话文本"}
]
}
步骤3: 执行生成
调用Python脚本:
python /mnt/skills/public/podcast-generation/scripts/generate.py \
--script-file /mnt/user-data/workspace/script-file.json \
--output-file /mnt/user-data/outputs/generated-podcast.mp3 \
--transcript-file /mnt/user-data/outputs/generated-podcast-transcript.md
参数:
--script-file: JSON脚本文件的绝对路径(必需)--output-file: 输出MP3文件的绝对路径(必需)--transcript-file: 输出转录markdown文件的绝对路径(可选,但推荐)
[!重要]
- 在一个完整调用中执行脚本。不要将工作流拆分为单独步骤。
- 脚本内部处理所有TTS API调用和音频生成。
- 不要读取Python文件,只需用参数调用它。
- 始终包括
--transcript-file以为用户生成可读转录。
脚本JSON格式
脚本JSON文件必须遵循此结构:
{
"title": "人工智能的历史",
"locale": "en",
"lines": [
{"speaker": "male", "paragraph": "Hello Deer! 欢迎回到另一个精彩剧集。"},
{"speaker": "female", "paragraph": "大家好!今天我们有个激动人心的话题要讨论。"},
{"speaker": "male", "paragraph": "没错!我们要谈谈..."}
]
}
字段:
title: 播客剧集标题(可选,在转录中用作标题)locale: 语言代码 - "en"为英文或"zh"为中文lines: 对话行数组speaker: “male"或"female”paragraph: 该主持人的对话文本
脚本编写指南
创建脚本JSON时,遵循这些指南:
格式要求
- 仅两位主持人:男性和女性,自然交替
- 目标运行时间:约10分钟对话(约40-60行)
- 以男性主持人打招呼开始,包括"Hello Deer"
语气与风格
- 自然、对话式对话 - 像两个朋友聊天
- 使用随意表达和对话过渡
- 避免过于正式语言或学术语气
- 包括反应、后续问题和自然插入
内容指南
- 主持人之间频繁来回对话
- 保持句子简短易听
- 纯文本仅 - 输出中无markdown格式
- 将技术概念翻译为易于理解的语言
- 无数学公式、代码或复杂符号
- 使内容吸引人且适合仅音频听众
- 排除元信息如日期、作者姓名或文档结构
播客生成示例
用户请求:“生成关于人工智能历史的播客”
步骤1: 创建脚本文件/mnt/user-data/workspace/ai-history-script.json:
{
"title": "人工智能的历史",
"locale": "en",
"lines": [
{"speaker": "male", "paragraph": "Hello Deer! 欢迎回到另一个迷人剧集。今天我们深入探讨真正塑造未来的东西 - 人工智能的历史。"},
{"speaker": "female", "paragraph": "哦,我爱这个话题!你知道,AI感觉如此现代,但其根源可追溯到七十多年前。"},
{"speaker": "male", "paragraph": "没错!一切始于1950年代。人工智能一词实际上由约翰·麦卡锡在1956年达特茅斯的一个著名会议上创造。"},
{"speaker": "female", "paragraph": "等等,所以他们那时就在思考能思考的机器?太不可思议了!"},
{"speaker": "male", "paragraph": "对吧?早期先驱者如此乐观。他们认为我们在一代内就能拥有人类级别AI。"},
{"speaker": "female", "paragraph": "但事情并没有完全那样发展,对吧?"},
{"speaker": "male", "paragraph": "不,完全没有。1970年代带来了所谓的第一次AI寒冬..."}
]
}
步骤2: 执行生成:
python /mnt/skills/public/podcast-generation/scripts/generate.py \
--script-file /mnt/user-data/workspace/ai-history-script.json \
--output-file /mnt/user-data/outputs/ai-history-podcast.mp3 \
--transcript-file /mnt/user-data/outputs/ai-history-transcript.md
这将生成:
ai-history-podcast.mp3: 音频播客文件ai-history-transcript.md: 播客的可读markdown转录
特定模板
仅当匹配用户请求时读取以下模板文件。
- 技术讲解 - 用于转换技术文档和教程
输出格式
生成的播客遵循"Hello Deer"格式:
- 两位主持人:一位男性,一位女性
- 自然对话式对话
- 以"Hello Deer"打招呼开始
- 目标时长:约10分钟
- 交替主持人以保持吸引人流程
输出处理
生成后:
- 播客和转录保存在
/mnt/user-data/outputs/ - 使用
present_files工具与用户分享播客MP3和转录MD - 提供生成结果的简要描述(主题、时长、主持人)
- 如果需要调整,提供重新生成选项
要求
必须设置以下环境变量:
VOLCENGINE_TTS_APPID: 火山引擎TTS应用IDVOLCENGINE_TTS_ACCESS_TOKEN: 火山引擎TTS访问令牌VOLCENGINE_TTS_CLUSTER: 火山引擎TTS集群(可选,默认为"volcano_tts")
备注
- 始终在一个调用中执行完整管道 - 无需测试单独步骤或担心超时
- 脚本JSON应与内容语言匹配(en或zh)
- 技术内容应在脚本中简化为音频可访问性
- 复杂符号(公式、代码)应在脚本中翻译为纯语言
- 长内容可能导致较长播客