想做一段双人播客,可以把流程拆成四件事:确定听众和本期问题、列出核过的资料、让 Qwen 起草轮次、再用两个固定的声音分别合成。本文用“出门前如何准备随身物品和工作清单”做一段原创示例,先实测本机 Qwen3.8-27B,再用 ChatTTS 把主持人 A、B 分句生成和拼接。下载双人播客练习包。模型起草的句子仍要人工核对;本次测试没有试听最终音频。

先把一集节目缩成一个问题

开始前写下四项:听众是谁、他们遇到什么具体问题、听完能带走哪一个做法、节目长度大约多少。一个节目只讲一个问题,不要把一集塞成百科全书。选题可以来自读者常问的问题、亲自做过的流程或公开资料中反复出现的困惑;如果会谈政策、健康、金融、法律或近期新闻,先找一手来源,再把来源要点写成事实卡。

本次示例给 Qwen 的事实卡只有三条:睡前把钥匙、门禁卡和水杯放在门边同一位置;把第二天最重要的三件事写在纸上;这只是个人做法,不延伸成效率提升百分比或健康结论。这样就能检查模型有没有在短对话里添新说法。

用 Qwen 起草分角色稿

Qwen3.8-27B 本机调用,输入设定、事实卡、主持人关系、节目结构和输出格式。可下载双人播客练习包,先打开 写稿提示词.md,再运行 qwen_draft_podcast.py。它调用本机 Ollama 的 qwen3.8-27b:latest,将结果写到 qwen实测结果.json,并检查标题、轮数、角色字段和 A/B 交替。

本次模型在 12.15 秒内产出 8 轮对话。不过它加了事实卡没有提供的“一分钟”和“省不少时间”。我把这两处删掉,并把漏掉的“三件工作”建议补回 episode.json。这说明格式和轮数检查只能证明结构,不代表内容核实完成;涉及数字、效果、引用和经验结论,都要回事实卡逐句确认。

用两个固定音色合成分句

ChatTTS 的官方说明面向对话语音,支持多说话人,也能控制停顿、笑声等韵律;这很适合验证双人分句的技术流程。但它的模型权重许可是 CC BY-NC 4.0,官方写明用于教育/研究,不应商业使用;代码许可另为 AGPLv3+。所以本篇 ChatTTS 成品只做非商业技术样例,不能把它拿去接收费配音、放广告、做赞助/带货节目或收费分发。若节目需要商业化,先换成许可允许该用途的模型再完整验证;IndexTTS-2.5 可作为候选,但它也有规模门槛和第三方数据授权条件,不能省略阅读当前许可。

在 ChatTTS 项目根目录(能看到 models/ 的位置)放入练习包里的 episode.json 和 two_host_podcast.py,按该项目文档准备环境和模型,再运行:

python two_host_podcast.py

脚本为 A、B 各抽取一个说话人向量,同一角色每一轮都复用该向量;逐句输出 WAV,在句间插入 0.35 秒停顿,再拼成 outputs/s124_podcast/双人播客.wav。合成脚本只做文件与格式检查,不会评判声音是否像两个人、语气是否自然或停顿是否合适。交付前还要听每句和整条音频,重点查角色串音、错读、断句、响度跳变和最后一句是否完整。

发布前核对稿件、授权和标识

  • 对照事实卡校验每句话;模型新加的数字、效果承诺和引用要删除或补来源。
  • 选题、音乐、音效、片头片尾和嘉宾录音分别确认权利;真人声音用于克隆要取得与用途对应的明确授权。
  • 确认 ChatTTS 等模型的权重许可和代码许可分别适用;模型能本地运行不代表成品自动可商用。
  • 发布 AI 合成音频时,按《人工智能生成合成内容标识办法》和目标平台当前流程主动声明、使用平台标识功能;不要移除已有标识。
  • 保存最终稿、音轨、节目版本、来源、授权和人工听审记录;客户稿和未发布节目先不要上传到不清楚数据处理规则的服务。

本次实测边界

本机实测覆盖 Qwen 的分角色脚本生成、对模型输出做事实修订,以及 ChatTTS 的双音色逐句合成和拼接。Qwen 生成 8 轮稿件用时 12.15 秒(输入 316、输出 155 tokens);ChatTTS 加载 3.21 秒、8 句合成 52.62 秒,拼接后音频 29.23 秒、单声道 24kHz。实测细节见练习包记录。对话文稿是原创示例;ChatTTS 声音只用于本地非商业试验,练习包不包含音频和模型权重。没有人工试听,也没有验证商业许可、播客平台审核、订阅/广告收入或长篇稳定性;不要将样例当成已审核的可发布成品。