本文欲回答的核心问题
如何构建一个能够生成自然、长格式、多说话者对话语音的系统,并支持方言和副语言控制?SoulX-Podcast 通过结合大语言模型与多阶段数据处理流程,在这一领域取得了突破性进展。
语音合成技术近年来取得了显著进步,但在多说话者、多轮对话场景中,现有系统往往难以保持流畅性和自然度。SoulX-Podcast 应运而生,专门为解决这一挑战而设计。它不仅支持普通话和英语,还涵盖四川话、河南话和粤语等多种中国方言,同时能够控制笑声、叹息等副语言特征,为播客风格语音生成设立了新标准。
想象这样一个场景:一个AI生成的播客节目中,三位来自不同地区的说话者用各自的方言自然交流,期间穿插着恰当的笑声和反应——这种曾经只存在于想象中的场景,现在通过 SoulX-Podcast 变成了现实。
为什么需要专门的多说话者对话语音合成系统?
现有系统的局限性
当前大多数文本转语音系统主要针对单说话者场景优化,在生成多说话者对话时面临诸多挑战。这些系统往往无法保持说话人音色的稳定性,难以处理长对话中的韵律变化,也缺乏对副语言特征的精细控制。
在实际应用中,播客、对话代理和有声内容创作都需要更自然的交互体验。传统系统生成的对话听起来机械、不连贯,缺乏人类对话中特有的节奏感和情感表达。这就催生了对专门针对多说话者场景优化的语音合成系统的需求。
作者反思:在开发过程中,我们意识到对话语音合成不仅仅是技术挑战,更是对人类交流本质的理解。真正的自然对话不仅关乎语音质量,还涉及节奏、停顿和情感细微差别的把握,这些元素共同构成了对话的“生命力”。
SoulX-Podcast 的核心特性
系统独特价值
SoulX-Podcast 区别于传统语音合成系统的核心优势体现在三个方面:长格式对话稳定性、方言多样性支持和副语言控制能力。
系统能够连续生成超过90分钟的对话音频,同时保持说话人音色的高度一致和平滑的说话人转换。在实际测试中,生成的对话展现出上下文适应的韵律特征,反映了对话推进过程中自然的节奏和语调变化。
除了普通话和英语,系统对四川话、河南话和粤语的支持使得语音生成更加个性化。更重要的是,所有这些方言都支持跨方言零样本语音克隆,仅需一段音频提示即可生成任何支持方言的语音。
应用场景示例:一家媒体公司可以使用 SoulX-Podcast 生成地方方言的播客内容,仅需提供主持人的普通话样本,就能生成该主持人讲四川话的节目版本,大大降低了多语言内容制作的门槛。

SoulX-Podcast 在多个评估维度上的表现
数据处理流程:从原始音频到训练就绪数据
本段欲回答的核心问题
如何从杂乱的真实对话录音中提取高质量、标注完善的训练数据?
数据处理是构建高质量语音合成系统的基石。SoulX-Podcast 的数据处理流程经过精心设计,专门针对真实场景中的对话数据优化。
音频预处理与增强
真实环境中的对话录音通常包含背景音乐或噪声,这些干扰因素会对后续的转录和说话人日志任务产生负面影响。解决方案是使用基于 UVR-MDX 的声乐分离工具去除背景音频和噪声,然后将处理后的信号归一化到一致的振幅水平。
实际操作示例:对于一个包含轻微背景音乐的访谈录音,系统会首先识别并分离人声和伴奏,只保留纯净的人声部分进行后续处理。这一步骤确保了模型学习的是纯净的语音特征,而不是无关的音频伪影。
分段与说话人日志
处理长格式对话录音(如超过30分钟)对传统说话人日志系统构成挑战。随着时间推移,说话人的声音特征和说话状态会发生变化,日志模型可能会错误地将同一人分配多个说话人身份,导致说话人数量和不连续性。
解决方案是采用多阶段处理流程:首先应用语音活动检测将长录音分割成短话语,然后将这些话语连接成约五分钟的对话片段。在此过程中,实施静默时长约束——如果话语间静默超过预定阈值,相邻话语将被视为不同片段的开始和结束。
最后,使用基于 Sortformer 的日志模型检测说话人边界并分配说话人标签,为后续处理生成可靠的说话人轮转标注。

从原始对话录音到结构化数据的完整处理流程
质量过滤与语音识别
尽管在初始阶段进行了音频增强,部分片段仍可能表现出次优的降噪效果或固有的录音质量差问题。为防止此类低质量数据对模型训练产生负面影响,对对话片段应用了一系列过滤标准,包括信噪比和由 DNSMOS 估计的感知质量。
语音识别环节采用了双ASR转录策略以获得可靠文本。每个话语由两个独立的ASR模型转录:中文语音使用 Paraformer 和 Whisper,英文语音使用 Parakeet 和 Whisper。对于每个话语,获得两个转录结果,并计算中文的字错误率或英文的词错误率。错误率低于预定义阈值的话语被完整保留,错误率超过阈值的话语则仅保留文本转录,对应音频被丢弃。
作者反思:数据清洗过程中最深刻的教训是,高质量的训练数据不仅需要数量,更需要一致性和纯净度。我们发现,即使是小比例的低质量数据,也会对最终模型的稳定性产生不成比例的负面影响。这促使我们建立了严格的多阶段过滤流程。
说话人纯净度优化
为确保说话人标签一致性,基于说话人嵌入聚类进行了说话人纯净度优化。对每个对话片段,聚类同一说话人所有话语的嵌入,识别偏离聚类中心过远的话语作为异常值。这些异常值话语从音频数据中排除——仅保留其文本转录。这一策略有效缓解了多轮对话合成中潜在的说话人混淆问题,同时最大化整体数据保留。
副语言与方言标注
副语言线索(如笑声和叹息)在增强对话自然度和表现力方面起着关键作用。为实现此类线索的可控生成,对收集的数据进行了副语言挖掘和标注。
副语言标注采用两阶段精炼框架,结合高通量自动检测和模型辅助验证。第一阶段使用针对副语言事件检测微调的语言特定ASR模型处理原始音频语料库。中文数据使用 Beats 进行非语言线索的粗略识别,英文数据使用 Whisperd。第二阶段,预标注片段使用 Gemini-2.5-Pro API 进行模型驱动的验证和细粒度标注,生成精确的时间对齐标注及对应文本。
方言标注方面,采用两种互补策略:收集特定中文方言的公开可用录音,以及训练方言识别模型从更广泛的真实数据集中检索和分类方言话语。最终获得了约2000小时的四川话、1000小时的粤语和500小时的河南话语音。
应用场景示例:在虚拟助手场景中,系统可以根据对话内容自动插入恰当的笑声或叹息,使交互更加自然。例如,当用户讲了一个笑话时,助手可以生成带有真诚笑声的回应,而不是机械的文本响应。
SoulX-Podcast 模型架构与技术实现
本段欲回答的核心问题
SoulX-Podcast 如何实现长格式、多说话者对话的自然生成?
SoulX-Podcast 采用两阶段生成框架,继承自 CosyVoice 系列模型。具体而言,大语言模型首先预测语义令牌,然后通过流匹配转换为声学特征,最后通过声码器合成为波形音频。
令牌组织与序列构建
为实现灵活的多轮对话生成,系统采用文本-语音交错序列,允许逐句合成。具体来说,每个说话者的文本令牌后跟其对应的语音令牌,然后按时间顺序与下一个说话者的文本和语音令牌连接。每个话语以说话人令牌开始,指示说话人身份。
方言控制通过在说话人令牌后立即插入方言特定令牌来实现,而副语言线索(如笑声、叹息)则被视为文本令牌,置于序列中对应的位置。
序列示例:
<说话人1><四川><文本令牌><音频令牌><说话人2><四川><文本令牌><音频令牌><说话人3><...>
这种组织方式使模型能够理解对话的轮转结构,同时保持对每个说话人特征和方言风格的一致性。
训练策略与课程学习
对话语音数据相比独白语音更为稀缺。为有效利用异构数据模式并增强在对话场景中的性能,采用了课程学习策略。
第一阶段,大语言模型骨干从 Qwen3-1.7B 初始化,并在独白和对话数据混合集上训练,以获得基本的文本转语音能力。随后,模型在中文和英文的多说话者对话数据上进一步训练,融入方言和副语言元素。
由于中文方言数据量远少于普通话和英语,对方言数据进行了额外微调,以增强模型的方言能力,最终产生专门针对方言生成优化的播客模型。
为解决长格式音频生成的挑战,引入了上下文正则化机制,逐步丢弃历史语音令牌同时保留其文本上下文。这鼓励模型依赖语义连续性而非低级声学记忆,从而改善扩展对话合成中的连贯性和稳定性。
作者反思:课程学习策略的采用是项目成功的关键因素之一。我们发现,让模型先掌握基础的语音合成能力,再逐步引入复杂的对话元素,比直接训练完整系统效果更好。这种“先易后难”的方法显著提高了最终模型的稳定性和泛化能力。
推理与跨方言语音克隆
在推理过程中,遵循训练中建立的令牌组织:多个说话者的初始文本和语音令牌交错排列,模型以自回归方式生成后续的语音令牌,保持相同的交错方式。
跨方言语音克隆面临独特挑战:与中英文之间清晰的拼写差异不同,各种中文方言——特别是普通话、河南话和四川话——共享相同的书面形式。即使语言上更为独特的粤语,仍与普通话有大量文本重叠。因此,当目标文本与普通话高度相似且语音提示也是普通话时,方言控制信号变得微弱。
为解决这一问题,提出了方言引导提示推理策略。具体来说,在生成方言播客之前,在输入文本前添加一个短小的方言典型句子——一个能强烈反映目标方言风格的初始话语。这初始话语有效引导模型在后续生成中产生具有所需方言特征的语音。

SoulX-Podcast 的推理过程,支持跨方言提示
性能评估与实际表现
本段欲回答的核心问题
SoulX-Podcast 在不同任务和场景下的实际表现如何?
尽管 SoulX-Podcast 专为多轮、多说话者对话合成设计,它也能完成传统的独白语音合成任务。我们首先比较其与最先进TTS模型在标准独白合成任务上的性能,然后评估其在对话生成以及副语言和方言控制方面的能力。
独白语音生成
为评估 SoulX-Podcast 的零样本语音克隆TTS能力,在 Seed-TTS-eval 上评估其性能,并与现有零样本TTS模型比较。语音清晰度使用中文CER和英文WER衡量,说话人相似度通过说话人嵌入的余弦相似度量化。
评估结果显示,SoulX-Podcast 在零样本独白TTS场景中的清晰度方面表现出显著优势。具体而言,SoulX-Podcast 在中文测试集上实现了最低的CER。在英文测试集上,SoulX-Podcast 仅略次于 F5-TTS。在说话人相似度方面,SoulX-Podcast 也取得了强劲结果,在中文和英文测试集上均仅次于 Seed-TTS 和 MaskGCT,展示了其在传统零样本TTS中的优秀性能。
| 模型 | test-zh CER(↓) | test-zh SIM(↑) | test-en WER(↓) | test-en SIM(↑) |
|---|---|---|---|---|
| Seed-TTS | 1.12 | 0.796 | 2.25 | 0.762 |
| MaskGCT | 2.27 | 0.774 | 2.62 | 0.714 |
| F5-TTS | 1.56 | 0.741 | 1.83 | 0.647 |
| CosyVoice2 | 1.45 | 0.748 | 2.57 | 0.652 |
| SoulX-Podcast | 1.10 | 0.743 | 1.91 | 0.661 |
播客生成能力
为评估多轮、多说话者对话生成,将 SoulX-Podcast 与代表性对话TTS系统在 ZipVoice-Dia 测试集上比较。该基准包含自然的多轮对话,能够评估长格式合成中的清晰度和跨说话人一致性。
结果显示,SoulX-Podcast 在中文和英文子集上均优于最近的最先进模型。具体而言,它实现了最低的WER/CER和最高的跨说话人相似度,同时保持了有竞争力的UTMOS分数,展示了卓越的说话人一致性和感知质量。
| 模型 | ZipVoice-Dia (zh) CER(↓) | ZipVoice-Dia (zh) cpSIM(↑) | ZipVoice-Dia (zh) UTMOS(↑) | ZipVoice-Dia (en) WER(↓) | ZipVoice-Dia (en) cpSIM(↑) | ZipVoice-Dia (en) UTMOS(↑) |
|---|---|---|---|---|---|---|
| ZipVoice-Dia | 3.39 | 0.553 | 2.24 | 3.32 | 0.438 | 3.10 |
| MoonCast | 27.43 | 0.441 | 1.76 | 23.62 | 0.356 | 2.30 |
| SoulX-Podcast | 2.2 | 0.599 | 2.09 | 2.27 | 0.484 | 2.96 |
应用场景示例:在线教育平台可以使用 SoulX-Podcast 生成多教师对话式课程,其中不同学科的教师以独特的语音风格和方言参与讨论,创造更加吸引人的学习体验。
副语言控制评估
为评估所提出模型的可控副语言生成能力,构建了专门的副语言测试集。使用大语言模型为五个副语言标签各生成20个测试话语,即<|笑声|>、<|叹息|>、<|呼吸|>、<|咳嗽|>和<清喉>。相应音频样本随后使用 SoulX-Podcast 以独白语音合成模式合成。
对于客观评估,采用 Qwen-2.5 Omni-FT 模型作为自动副语言识别器。评估器任务是验证每个合成话语是否包含提示中指定的目标副语言事件。结果识别准确率总结如下:
| 标签 | 数量 | 正确 | 错误 | 准确率 |
|---|---|---|---|---|
| 笑声 | 20 | 20 | 0 | 1.00 |
| 叹息 | 20 | 17 | 3 | 0.85 |
| 呼吸 | 20 | 15 | 5 | 0.75 |
| 咳嗽 | 20 | 14 | 6 | 0.70 |
| 清喉 | 20 | 16 | 4 | 0.80 |
| 总计/平均 | 100 | 82 | 18 | 0.82 |
模型在控制这些副语言事件方面实现了0.82的强劲总体准确率。它对明显事件如<|笑声|>表现出近乎完美的控制,对<|叹息|>和<|清喉|>具有高保真度。主要错误来源集中在声学上更细微或模糊的事件,即<|呼吸|>和<|咳嗽|>,这些对评估器模型来说可能更具挑战性。
方言生成能力
SoulX-Podcast 目前支持三种主要中文方言:四川话、河南话和粤语。在独白TTS和对话生成两种设置下评估其在这些方言上的性能。
独白测试集包括每种方言1000个样本,来自内部大语言模型生成数据以及 SeedTTS、Wenetspeech-Yue-eval 和 Wenetspeech-Chuan-eval。对话测试集包含每种方言100个大语言模型生成项目。
使用方言特定ASR系统计算CER,包括四川话的 Wenetspeech-Chuan-ASR、河南话的 TeleSpeech 和粤语的 Wenetspeech-Yue-ASR。SoulX-Podcast 在所有三种方言上实现了一致的说话人相似度,与其在普通话和英语上的性能相当。相对较高的CER值可能部分源于ASR系统的限制。
| 方言 | 独白测试 CER(↓) | 独白测试 SIM(↑) | 对话测试 CER(↓) | 对话测试 cpSIM(↑) |
|---|---|---|---|---|
| 四川话 | 3.75 | 0.704 | 15.42 | 0.641 |
| 河南话 | 8.14 | 0.705 | 28.06 | 0.647 |
| 粤语 | 9.77 | 0.680 | 19.50 | 0.627 |
作者反思:性能评估中最令人鼓舞的发现是,专门为对话场景优化的模型在传统独白任务上也能表现出色。这表明对对话复杂性的深入理解反而增强了模型的基础语音合成能力,体现了良好设计系统的通用性和鲁棒性。
结论与未来展望
SoulX-Podcast 代表了语音合成领域的一个重要进步,特别是在多说话者、长格式对话生成方面。通过文本-语音交错建模范式,系统能够生成具有一致质量和连贯性的长格式多轮对话语音。
实验结果表明,SoulX-Podcast 不仅在多轮对话合成中表现出色,还能有效地泛化到零样本独白TTS。其处理多种中文方言和副语言线索的能力进一步突显了其作为语音生成统一框架的多功能性和潜力。
作者反思:开发 SoulX-Podcast 的最大收获是认识到真正自然的语音合成需要超越单纯的声音质量,去捕捉人类交流中的细微差别。方言多样性和副语言控制的加入不只是技术特性,更是向更具包容性和表现力的语音技术迈出的一步。未来的工作应当继续探索如何让合成语音更好地反映人类情感和文化的丰富性。
实用摘要与操作清单
关键要点
-
SoulX-Podcast 支持生成长达90分钟的多说话者对话,保持音色稳定和自然韵律变化 -
系统除了普通话和英语,还支持四川话、河南话和粤语等多种方言 -
通过特殊的令牌组织方式,实现对笑声、叹息等副语言元素的精确控制 -
采用两阶段训练策略,先从基础语音合成开始,再引入复杂的对话元素 -
跨方言语音克隆功能允许使用单一音频提示生成多种方言的语音
实施建议
-
数据准备阶段务必进行严格的质量过滤和说话人纯净度优化 -
训练时采用课程学习策略,先单说话者后多说话者,先单语后多方言 -
推理时使用方言引导提示策略增强方言控制效果 -
对于长格式生成,利用上下文正则化机制保持对话连贯性
一页速览
SoulX-Podcast 是一个基于大语言模型的语音合成系统,专为多说话者、多轮对话场景设计。核心创新包括:
-
文本-语音交错序列建模,支持自然对话流 -
方言多样性支持,涵盖主要中文方言 -
副语言控制,可生成笑声、叹息等非语言元素 -
长格式生成能力,保持90分钟以上对话的稳定性 -
跨方言语音克隆,单一提示支持多方言生成
系统在独白TTS、对话生成、副语言控制和方言合成等多个任务上达到最先进性能,为播客、虚拟助手和有声内容创作提供了强大工具。
常见问题解答 (FAQ)
SoulX-Podcast 支持哪些方言?
系统目前支持四川话、河南话和粤语三种主要中文方言,以及普通话和英语。所有方言都支持零样本语音克隆。
如何实现跨方言语音克隆?
使用方言引导提示策略:在生成目标方言语音前,先在输入文本前添加一个典型的方言句子,这能有效引导模型后续生成所需的方言特征。
系统能生成多长的对话?
在实际测试中,SoulX-Podcast 能够连续生成超过90分钟的对话音频,同时保持说话人音色的一致性和对话的自然流畅度。
副语言控制有哪些具体功能?
系统可以控制生成笑声、叹息、呼吸声、咳嗽和清喉等副语言元素,这些元素作为特殊令牌插入到文本-语音序列中相应位置。
SoulX-Podcast 与传统TTS系统的主要区别是什么?
主要区别在于专门针对多说话者对话场景优化,支持长格式生成、方言多样性和副语言控制,而传统系统主要关注单说话者场景。
训练数据是如何准备的?
通过多阶段流程处理真实对话数据,包括音频增强、分段与说话人日志、质量过滤、双ASR转录验证,以及副语言和方言标注。
在资源较少方言上性能如何?
对于数据量相对较少的方言(如河南话),通过额外微调策略增强模型能力,尽管性能可能略低于数据丰富的语言,但仍保持可用的质量水平。
系统适合哪些实际应用场景?
适用于播客制作、虚拟助手、在线教育、娱乐内容创作等需要自然多说话者对话的场景,特别是需要方言多样性的应用。
