> podcast-generator
生成自然真实的双人访谈播客,使用共享TTS模块支持3种引擎(Edge TTS / IndexTTS2 / MiniMax)和情感控制
fetch
$
curl "https://skillshub.wtf/huangserva/servasyy_skills/podcast-generator?format=md"SKILL.md•podcast-generator
播客脚本生成规范
脚本格式(重要!)
必须使用此格式:角色|情感|文本
晓晓|cheerful|欢迎来到《历史不装》,我是晓晓。
云扬|calm|我是云扬。
晓晓|chat|今天咱们聊聊楚汉争霸。云扬你先说说,很多人觉得刘邦就是人多欺负人少,你怎么看?
云扬|serious|这话听着就不对。你知道吗,这场战争其实是17打1。
情感标签(核心!)
| 标签 | 含义 | 典型场景 | 典型句式 |
|---|---|---|---|
cheerful | 开心、愉快 | 赞同、有趣发现、成功 | "哈哈"、"太好了"、"没错"、"哦!" |
chat | 日常聊天 | 普通对话、过渡 | "今天咱们聊聊"、"然后呢" |
calm | 平静、沉稳 | 解释、陈述事实 | "简单来说"、"其实"、"原理是" |
serious | 严肃、认真 | 强调重点、分析 | "关键是"、"核心在于"、"你知道吗" |
gentle | 温柔、轻声 | 安慰、共情 | "没关系"、"慢慢来" |
fearful | 惊讶、担忧 | 意外信息、震惊 | "真的吗?"、"这也太..."、"不会吧" |
sad | 悲伤、低落 | 描述问题、痛点 | "惨啊"、"太难了"、"没办法" |
angry | 愤怒、不满 | 批评、吐槽 | "太过分了"、"想得美"、"简直离谱" |
disgruntled | 不满、吐槽 | 轻度抱怨 | "霸气是霸气,但..."、"够狠" |
角色设定
-
晓晓:好奇的提问者,代表听众视角
- 多用:
cheerful、chat、fearful - 偶尔:
sad(共鸣痛点)、disgruntled(吐槽)
- 多用:
-
云扬:专业的解答者,用通俗语言讲解
- 多用:
calm、serious、chat、cheerful - 偶尔:
angry(强调)、sad(描述惨状)
- 多用:
对话风格
必须做到
- 口语化:像朋友聊天,不像念稿
- 短句为主:每句不超过30字
- 连续表达:同一角色连续说2-4句再换人(重要!)
- 完整观点:每次发言要表达完整的想法,不要一句话就换人
- 生活类比:复杂概念必须配类比
对话节奏规则(核心!)
- ❌ 错误:A说1句 → B说1句 → A说1句(太碎片)
- ✅ 正确:A连续说2-3句完整表达 → B回应并展开2-3句 → A再接着说
示例对比:
❌ 错误(太碎):
晓晓|chat|项羽分封了吗?
云扬|calm|分了。
晓晓|chat|分了多少?
云扬|calm|18个王。
✅ 正确(连贯):
晓晓|chat|项羽火烧咸阳之后干了啥?分封诸侯了吗?
云扬|calm|对,分封诸侯。一共分了18个王。不过分得太随意了,你猜刘邦分到哪儿了?
晓晓|fearful|关中?他功劳最大嘛。
云扬|angry|想得美!巴蜀,秦朝流放犯人的地方。关中被一分为三,全给了秦国降将。刘邦当场差点吐血,拎着剑要去找项羽拼命。
晓晓的表达模式
- 提问:"这是什么意思?"、"为什么会这样?"
- 反应:"哦!"、"哇,原来是这样"、"有意思!"
- 追问:"那具体怎么做呢?"、"能举个例子吗?"
- 惊讶:"真的吗?"、"这也太厉害了吧"、"不会吧..."
云扬的表达模式
- 开场:"说实话..."、"坦白讲..."、"不瞒你说..."
- 解释:"简单来说就是..."、"你可以理解成..."
- 类比:"就像...一样"、"好比..."、"这就跟...差不多"
- 强调:"关键是..."、"最重要的是..."、"核心在于..."
- 举例:"比如说..."、"举个例子..."、"你想啊..."
必须使用的转折和互动词
转折词(增强对话流畅度)
- 轻转折:不过、但是、可是、只是
- 强转折:话说回来、反过来说、换个角度看
- 递进:而且、更重要的是、关键是
- 对比:相比之下、反而、恰恰相反
回应词(增强互动感)
- 认同:对对对、没错、确实、就是这样、你说得对
- 惊讶:真的假的、不会吧、这么夸张、我去
- 理解:懂了、明白了、原来如此、怪不得
- 追问:然后呢、接着说、具体点、比如呢
承接词(让对话连贯)
- 顺承:那么、所以、这样一来、因此
- 举例:比如说、就拿...来说、你看啊
- 总结:说白了、简单讲、一句话
- 引入:说到这个、提到...、讲起...
互动提示(拉近距离)
- 征询:你说是不是、对吧、你觉得呢、你懂我意思吧
- 共鸣:咱们都知道、大家都经历过、谁没遇到过
- 反问:你猜怎么着、你信不信、知道为什么吗
禁止使用
- ❌ "首先、其次、最后"
- ❌ "值得注意的是"、"需要指出的是"
- ❌ 破折号(用逗号或句号代替)
- ❌ "该"、"此"、"其"等文言词
- ❌ 连续超过3句没有互动
- ❌ 单句超过40字
- ❌ 学术腔和官方腔
完整示例(优化版)
【访谈式播客-带情感】楚汉争霸:刘邦凭什么赢?
晓晓|cheerful|欢迎来到《历史不装》,我是晓晓。
云扬|calm|我是云扬。
晓晓|chat|今天咱们聊聊楚汉争霸。云扬你先说说,很多人觉得刘邦就是人多欺负人少,你怎么看?
云扬|serious|这话听着就不对。你知道吗,这场战争其实是17打1。
晓晓|fearful|17打1?不是刘邦和项羽两个人吗?
云扬|chat|表面上是,但你得把彭越、英布、陈平、张良、萧何、韩信这帮人全算上。少了哪一个,刘邦都得完蛋。
晓晓|cheerful|哦!所以项羽是在跟整个天下对抗?
云扬|serious|对对对,可以这么说。但就是这样一场看似一边倒的战争,打得那叫一个精彩。
【第一章:项羽埋雷】
晓晓|chat|那咱们从项羽分封说起吧。项羽火烧咸阳之后干了啥?
云扬|calm|分封诸侯啊。一共分了18个王。
晓晓|cheerful|听起来挺霸气的。
云扬|disgruntled|霸气是霸气,不过分得太随意了。你猜刘邦分到哪儿了?
晓晓|gentle|关中?他功劳最大嘛。
云扬|angry|想得美。巴蜀!秦朝流放犯人的地方。关中被一分为三,全给了秦国降将。
晓晓|fearful|这也太欺负人了吧?
云扬|serious|可不是嘛。刘邦当场差点吐血,拎着剑要去找项羽拼命。还好萧何拉住他:苟着总比死了强,对吧?
晓晓|disgruntled|所以项羽这是在给自己埋雷?
云扬|cheerful|没错!这些雷很快就炸了。
改进点:
- ✅ 增加回应词:"对对对"、"可不是嘛"、"没错"
- ✅ 增加转折词:"不过"、"但"
- ✅ 增加承接词:"那"、"所以"
- ✅ 增加互动提示:"对吧"、"你猜"
- ✅ 让对话更像真实聊天,而不是一问一答
情感标注原则
- 每句必标:不要偷懒,每句话都要思考说话人的情感状态
- 符合语境:根据说的内容决定情感,不是随便标
- 自然过渡:情感变化要合理,不要跳跃太大
- chat是默认:普通对话用chat,有明显情感才用其他
声音配置
参考音频位置
- 女声:
workspace/voice_female.wav(真人录音优先) - 男声:
workspace/voice_male.wav(真人录音优先)
IndexTTS2参数
- emo_weight: 情感强度(0-1,默认0.65)
- temperature: 随机性(0.1-2.0,默认0.8)
使用方式
生成脚本
请根据以下内容生成双人访谈播客脚本:
[粘贴文章内容]
要求:
1. 使用 角色|情感|文本 格式
2. 遵循SKILL.md中的对话规范和情感标签
3. 晓晓提问,云扬解答
4. 口语化,有互动感
5. 每段不超过40字
生成音频
python skill.py workspace/脚本.txt --tts-engine indextts2 -o 播客.mp3
> related_skills --same-repo
> wechat-article-formatter
将 Markdown 文章转换为微信公众号 HTML 格式,支持自动插入配图、微信样式优化。
> twitter-crawler
Twitter 推文爬取器 - 指定用户名爬取推文,保存为 Markdown 格式,支持自定义数量和字段
> tts-script-generator
Intelligently compress and rewrite documents into TTS-friendly scripts. Uses Claude AI to analyze content, compress to target duration, convert to spoken style with emotional language, and auto-segment. Perfect for video narration.
> ppt-generator
生成专业 PPT 演示文稿,支持 22 种风格,自动根据内容选择最佳风格,输出到 ~/ppt-output/
┌ stats
installs/wk0
░░░░░░░░░░github stars34
███████░░░first seenMar 17, 2026
└────────────