SoulX-Singer:面向高质量零样本歌声合成的系统 SoulX-Singer: Towards High-Quality Zero-Shot Singing Voice Synthesis
42000小时数据训练的零样本歌声合成系统,支持乐谱与旋律双模态控制
前置知识
歌声合成 (Singing Voice Synthesis, SVS)
歌声合成是指根据歌词和乐谱(如MIDI音符序列)生成具有表现力的人声歌唱音频的技术。与普通语音合成(TTS)不同,SVS需要同时建模语言内容(歌词发音)、旋律信息(音高轨迹)和节奏信息(音符时长),三者精确对齐才能产生自然的歌唱效果。传统的SVS系统通常需要在训练时见过特定歌手的数据才能合成该歌手的声音,而零样本SVS则旨在仅凭一段短音频提示(prompt)就能克隆任意歌手的音色,这在实际音乐制作中极为重要。
本文的核心任务就是零样本SVS,理解SVS的基本概念(歌词-旋律对齐、音色克隆、MIDI控制)是理解全文技术方案的基础。
Flow Matching 与条件流匹配
Flow Matching 是一种生成模型框架,其核心思想是学习一个向量场(velocity field),将简单的先验分布(如高斯噪声)通过常微分方程(ODE)变换到目标数据分布。与扩散模型(Diffusion Model)逐步加噪再去噪的过程不同,Flow Matching 直接建模从噪声到数据的概率路径(通常是线性插值路径),训练目标是预测每个时间步的速度向量 $v_\theta(x_t, t)$,使得 $\frac{dx}{dt} = v_\theta(x_t, t)$ 能将噪声 $x_0 \sim \mathcal{N}(0, I)$ 积分到目标样本 $x_1$。该方法在音频生成中展现出比传统扩散模型更快的收敛速度和更高的生成质量。
SoulX-Singer 的解码器核心就是基于 Flow Matching 的非自回归模型,理解这一框架才能理解模型如何从条件输入生成梅尔频谱图。
Diffusion Transformer (DiT)
DiT 是将 Transformer 架构应用于扩散模型的骨干网络设计。传统扩散模型使用 U-Net 作为去噪网络,而 DiT 用 Transformer 替代 U-Net,通过将输入特征(如梅尔频谱图的 patch 化表示)与时间步嵌入、条件嵌入一起输入 Transformer 层来预测噪声或速度场。DiT 的关键优势在于:(1) Transformer 的自注意力机制能更好地建模长距离依赖;(2) 架构的可扩展性更强,便于通过增加参数量提升性能;(3) 可以更灵活地融合多种条件信号(如文本、音高等)。
SoulX-Singer 的 Flow Matching 解码器就是用 DiT 作为骨干网络构建的,这是模型能实现高质量生成的架构基础。
零样本学习 (Zero-Shot Learning)
在语音合成语境下,零样本(Zero-Shot)指的是模型在推理时能够处理训练集中从未出现过的说话人/歌手。具体来说,给定一段目标歌手的短音频提示(prompt),模型需要克隆该歌手的音色特征,并用新的歌词和旋律生成歌声,即使该歌手从未出现在训练数据中。这要求模型在训练阶段学习到音色与内容的充分解耦——音色信息从 prompt 中提取,语言和旋律信息从条件输入中获取,两者独立后再融合生成。零样本能力的强弱通常用音色相似度(SIM)和合成质量(MOS)来衡量。
零样本泛化是本文的核心目标之一,论文提出了专门的评估基准 SoulX-Singer-Eval 来严格测试这一能力。
F0 基频轨迹与 MIDI 音符序列
F0(基频)是语音/歌声中反映音高的连续信号,通常以 Hz 为单位,表示声带振动的频率。在歌声中,F0 轨迹(F0 contour)精确描述了每个时刻的音高变化,包含颤音、滑音等细节。MIDI 音符序列则是符号化的音乐表示,每个音符包含音高(pitch class,如C4=60)、起止时间、时值等离散信息。两者的区别在于:F0 是连续的、细粒度的声学特征,适合从已有歌曲中提取旋律进行翻唱;MIDI 是离散的、粗粒度的符号特征,适合从乐谱出发进行创作性合成。
SoulX-Singer 的核心创新之一就是同时支持 F0(旋律控制模式)和 MIDI(乐谱控制模式)两种输入,理解这两种表示的区别是理解双模态控制设计的关键。
研究动机
当前开源歌声合成(SVS)系统在工业部署中面临两大核心障碍:鲁棒性和零样本泛化能力不足。早期的代表性系统如 DiffSinger 在相对小规模的数据集上训练(通常仅几百小时,来自有限数量的歌手),缺乏对未见歌手的泛化能力,严重限制了实际应用场景。后续探索零样本 SVS 的工作如 StyleSinger 和 TCSinger 系列虽然开始尝试零样本生成,但训练数据规模仍然只有几百小时,来自少量歌手,难以在实践中实现鲁棒的零样本泛化。更近期的 Vevo2 和 YingMusic-Singer 将数据规模扩展到数千小时级别,但两者都采用纯旋律驱动的合成范式,不提供音符级时长控制。这带来两个关键限制:第一,需要从现有歌曲中提取旋律,无法仅凭乐谱和歌词生成歌曲;第二,缺乏显式的音符时长建模使得音节级时间控制不可控,导致合成歌声与原始伴奏之间存在时间错位,严重限制了在混音、编曲等音乐制作工作流中的实际使用。
本文的目标是本文的具体目标是构建一个高质量的开源零样本歌声合成系统 SoulX-Singer,使其具备以下能力:(1) 支持乐谱控制(MIDI输入)和旋律控制(F0轨迹输入)两种互补的生成模式,适应从乐谱创作和从现有歌曲翻唱的不同场景;(2) 在超过42,000小时的大规模多语言歌声数据上训练,大幅提升零样本泛化能力,支持普通话、英语和粤语三种语言;(3) 构建专门的零样本评估基准 SoulX-Singer-Eval,包含50位未见歌手(25位普通话、25位英语),提供细粒度音符级乐谱标注,实现系统化的零样本性能评估。最终目标是弥合学术研究与工业部署之间的差距,提供一个在合成质量、可控性和泛化能力上均达到SOTA水平的实用系统。
与已有工作不同的是,本文的独特切入角度体现在三个层面。首先是数据规模的跨越式提升:从之前最多几千小时的数据规模跃升到42,000小时,实现了数量级的增长,这是提升零样本泛化能力的根本保障。其次是双模态控制的统一框架设计:不同于 Vevo2 和 YingMusic-Singer 只支持单一的旋律驱动模式,SoulX-Singer 在同一个模型中同时支持 MIDI 乐谱控制和 F0 旋律控制,通过二值门控机制在训练时随机丢弃某一模态来鼓励模型从单一模态中鲁棒提取特征,推理时则灵活启用对应门控。这种设计使得模型既能适应基于符号乐谱的创作工作流,也能处理需要旋律引导的翻唱场景。第三是评估体系的创新:针对 SVS 领域缺乏标准化零样本评估基准的问题,构建了包含严格训练-测试分离的 SoulX-Singer-Eval,引入了完全未见的歌手,为整个领域提供了可复现的评估协议。
核心方法
SoulX-Singer 的整体技术路线可以分为三个核心模块:大规模数据处理流水线、基于 Flow Matching 的非自回归合成模型、以及双模态条件控制机制。从直觉上理解,歌声合成需要同时处理'唱什么'(歌词内容)、'怎么唱'(旋律和节奏)和'谁来唱'(音色)三个维度的信息。数据流水线负责从原始带伴奏的歌曲中自动提取干净人声、歌词转录和音符级 MIDI 标注,构建高质量的训练数据。模型层面,SoulX-Singer 采用非自回归架构,以歌词文本和旋律线索(MIDI音符或F0轨迹)作为条件输入,通过一个'歌唱内容编码器'(Singing Content Encoder)将多模态信息融合为统一的时间对齐表示,然后送入基于 DiT 的 Flow Matching 解码器预测梅尔频谱图,最后通过神经声码器转换为波形。整个系统的设计理念是:用大规模数据保障泛化能力,用 Flow Matching + DiT 保障生成质量,用双模态门控机制保障灵活可控性。
SoulX-Singer 与已有方法的本质区别体现在三个关键设计上。第一,双模态条件控制的统一框架:通过二值门控(binary gating)机制,模型在训练时随机丢弃音符音高或 F0 输入之一,迫使模型学会从单一模态中鲁棒地提取特征。推理时,启用 F0 门控进入旋律控制模式(melody-control mode),启用音符音高门控进入乐谱控制模式(score-control mode)。这种设计的巧妙之处在于,同一个模型参数可以无缝切换两种生成模式,而不需要训练两个独立模型。第二,音符级长度调节器(Length Regulator)作为核心特征整合机制:将音符类型、音符音高和文本 token 的嵌入按照每个音符的时值展开到梅尔频谱图的时间尺度,通过逐元素相加生成统一的条件序列,精确强制音符到梅尔的对齐。第三,两阶段训练策略:第一阶段在2-16秒的短音频上训练,prompt 从目标音频的非相邻片段采样,鼓励模型更多依赖语言和音乐条件而非局部声学连续性;第二阶段在30-90秒的长音频上训练,prompt 从相邻片段采样,捕捉长程时间依赖。这种从短、非相邻 prompt 到长、相邻 prompt 的渐进策略兼顾了鲁棒性和长时建模能力。
方法步骤详情
SoulX-Singer 的完整方法包含数据处理和模型推理两大阶段。数据处理阶段:(1) 人声分离——使用基于 Mel-Band Roformer 的预训练主唱分离模型从混音中提取主唱,并用去混响模型去除商业录音中的混响;(2) 歌词转录——先用微调的 SenseVoiceSmall 进行语言识别(普通话/粤语/英语),再用语言专用 ASR 模型(Paraformer 用于普通话和粤语,Parakeet-TDT-0.6B-V2 用于英语)提取歌词和词级时间戳,与参考歌词比对后丢弃含插入/删除错误的样本,修正替换错误;(3) 音符转录——使用 ROSVOT 模型进行音高类别估计和音符边界检测,以带时间戳的歌词为输入,生成包含文本、音高、音符类型和时值的音符级 token 序列。模型推理阶段:给定目标歌词和旋律线索(F0轨迹或MIDI音符),歌词通过字符级拼音(普通话/粤语)或音素(英语)编码,英语音素用 / 边界 token 包裹,拼音附加语言特定标签。旋律信息通过音符音高嵌入和 F0 嵌入分别编码,经二值门控调节贡献。所有嵌入通过长度调节器按音符时值展开到梅尔时间尺度,逐元素相加后送入 DiT Flow Matching 解码器,预测梅尔频谱图,最后由神经声码器转换为波形。
技术新颖性
SoulX-Singer 的技术新颖性体现在多个维度。首先,在数据工程层面,论文提出了一套完整的大规模歌声数据处理流水线,从带伴奏的商业录音出发,通过主唱分离、去混响、多语言歌词转录、音符转录四个自动化步骤,构建了42,000小时的多语言数据集(普通话和英语各约20k小时,粤语约2k小时),比现有SVS研究的数据规模提升了一个数量级。这种数据规模的突破为零样本泛化提供了根本保障。其次,在模型架构层面,双模态门控机制是一个巧妙的设计创新——通过在训练时随机丢弃某一旋律模态(音符音高或F0),模型被迫学会从单一模态中完整提取旋律信息,这种'课程学习'式的策略使得推理时可以无缝切换控制模式。第三,在评估层面,针对SVS领域缺乏标准化零样本评估的问题,论文构建了包含50位完全未见歌手的评估基准,并引入了严格的训练-测试分离协议,这为整个领域的可复现研究提供了基础设施。此外,论文还展示了从 SoulX-Singer 派生的歌声转换(SVC)模型 SoulX-Singer-SVC,通过替换编码器为冻结的 Whisper-base 编码器并微调,扩展了系统在没有精确MIDI和时间对齐歌词场景下的适用性。
实验结果
SoulX-Singer 在多个评估基准上全面超越现有SOTA方法,具体表现在以下方面。在 GMO-SVS 基准的歌声合成任务中,SoulX-Singer(旋律控制模式)在中文上实现最低的 WER 0.065(对比 YingMusic-Singer 的 0.099)、最低的 FFE 0.044(对比 Vevosing 的 0.112),以及最高的 SingMOS 4.458;英文上同样取得最低 WER 0.151、最低 FFE 0.036 和最高 SingMOS 4.323。在乐谱控制模式下,SoulX-Singer 在中文 WER 上达到 0.069(优于 TCSinger 的 0.270 和 StyleSinger 的 0.367),SIM 达到 0.905。在歌词编辑场景中,SoulX-Singer(乐谱控制)在中文 WER 上仅上升到 0.089,而纯旋律方法如 Vevosing 上升到 0.308,说明MIDI控制在歌词修改时具有更好的鲁棒性。在 SoulX-Singer-Eval 的零样本评估中,SoulX-Singer(乐谱控制)在中文上取得最高 SIM 0.922,英文上取得最高 SIM 0.914,证明了强大的零样本音色克隆能力。在跨语言合成评估中(用普通话语音提示合成英文歌声),SoulX-Singer 实现 WER 0.110 和 SIM 0.898,而 Vevosing 的 WER 高达 0.717,表明 SoulX-Singer 的歌唱内容编码器成功实现了语言无关音色特征与语言相关内容的解耦。在歌声转换(SVC)任务中,SoulX-Singer-SVC 在中文 GMO-SVS 上达到 WER 0.107、FFE 0.036,展示了从预训练 SVS 模型迁移到 SVC 任务的有效性。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 中文歌声合成 (GMO-SVS) | WER ↓ | 0.065 (旋律控制) / 0.069 (乐谱控制) | YingMusic-Singer 0.099 / TCSinger 0.270 | WER降低34%(旋律)/ 74%(乐谱) |
| 中文歌声合成 (GMO-SVS) | FFE ↓ | 0.044 (旋律控制) / 0.122 (乐谱控制) | Vevosing 0.112 / YingMusic-Singer 0.132 | FFE降低61%(旋律控制vs Vevosing) |
| 中文歌声合成 (GMO-SVS) | SingMOS ↑ | 4.458 (旋律控制) | Vevosing 4.355 | 提升0.103 |
| 英文歌声合成 (GMO-SVS) | WER ↓ | 0.151 (旋律控制) / 0.149 (乐谱控制) | Vevosing 0.239 / TCSinger 0.410 | WER降低37%(旋律)/ 64%(乐谱) |
| 零样本音色克隆 (SoulX-Singer-Eval 中文) | SIM ↑ | 0.922 (乐谱控制) | YingMusic-Singer 0.913 / Vevosing 0.908 | SIM提升0.009(vs YingMusic-Singer) |
| 跨语言合成 (SoulX-Singer-Eval) | WER ↓ | 0.110 (乐谱控制) | Vevosing 0.717 / TCSinger 0.333 | WER降低85%(vs Vevosing)/ 67%(vs TCSinger) |
| 歌声转换 (GMO-SVS 中文 SVC) | FFE ↓ | 0.036 | Vevo-SVC 0.104 / YingMusic-SVC 0.057 | FFE降低65%(vs Vevo-SVC)/ 37%(vs YingMusic-SVC) |
局限与改进
尽管 SoulX-Singer 取得了显著的性能提升,仍存在多方面的局限性。首先,论文在伦理声明中承认了潜在的滥用风险:作为零样本歌声合成系统,模型能够根据短音频提示生成逼真的歌声,可能引发声音冒用和欺诈的风险,用户需尊重知识产权、隐私和个人授权。其次,从技术角度看,模型的非自回归架构虽然提升了推理效率,但在超长序列(如完整歌曲)的长程时间依赖建模上可能仍不如自回归模型细腻,尽管论文通过两阶段训练策略部分缓解了这一问题。第三,评估基准 SoulX-Singer-Eval 虽然设计了严格的训练-测试分离,但仅包含100个片段(50位歌手各2段),样本量相对有限,可能无法完全代表真实世界中歌手风格的多样性。第四,粤语数据仅约2,000小时(普通话和英语各约20,000小时),这种数据不平衡可能导致粤语合成质量相对较低,但论文未单独报告粤语的评估结果。第五,论文未提供计算效率的详细分析(如推理速度、GPU显存占用、与自回归模型的效率对比),这对于工业部署评估至关重要。最后,歌词编辑场景中的评估仅限于保持原歌词字数不变的改写,未探索更具挑战性的编辑场景(如大幅增减歌词、跨语言歌词替换等)。
独立分析的弱点
从独立分析的角度来看,SoulX-Singer 存在以下值得改进的弱点。第一,评估基准的规模和多样性不足:SoulX-Singer-Eval 仅包含100个片段和50位歌手,且每个歌手只有2段音频,这可能导致评估结果的统计显著性不足。建议扩大评估规模,增加更多歌手和每个歌手的音频数量,并引入更多声乐技巧(如假声、转音、颤音等)的覆盖。第二,粤语支持的数据基础薄弱:约2,000小时的粤语数据相比普通话和英语的各20,000小时存在明显的数据不平衡,可能导致粤语合成质量不如同等条件下的普通话和英语。建议通过数据增强或多语言迁移学习来缓解这一问题。第三,模型对输入质量的敏感性未充分探讨:数据处理流水线依赖于人声分离和ASR模型的质量,如果这些上游模型在特定场景(如极度嘈杂的背景、非常规唱腔)下表现不佳,可能影响最终合成质量。建议增加对输入质量鲁棒性的消融实验。第四,缺乏主观评估:论文主要依赖客观指标(WER、SIM、FFE、SingMOS等),缺少大规模的人类主观听评(MOS评分、A/B偏好测试),这对歌声合成质量的最终评判至关重要。
未来方向
基于论文成果可以延伸出多个有价值的研究方向。首先,论文作者提到的 SoulX-Singer-SVC 已经展示了从 SVS 模型迁移到歌声转换任务的可行性,未来可以进一步探索统一的歌声生成框架,将 SVS、SVC、歌声编辑(如修改特定音符的音高或时值)整合到同一个模型中。其次,当前模型支持的三种语言(普通话、英语、粤语)可以扩展到更多语言(如日语、韩语、西班牙语等),利用大规模多语言预训练进一步提升跨语言泛化能力。第三,可以探索更细粒度的可控性,如支持歌唱风格(气声、假声、强混等)、情感表达(悲伤、欢快、激昂等)的显式控制,通过条件嵌入或风格标签实现。第四,将模型与大型语言模型(LLM)结合,实现从自然语言描述到完整歌曲的端到端生成(如用户描述'一首欢快的中文流行歌曲,关于夏天',系统自动生成歌词、旋律和歌声)。第五,探索更高效的推理方法,如知识蒸馏或一致性模型,减少 Flow Matching 所需的ODE求解步数,实现实时或接近实时的歌声合成。
复现评估
在复现性方面,SoulX-Singer 提供了相对完善的开放资源。论文声明了开源代码仓库(https://github.com/Soul-AILab/SoulX-Singer)和演示页面(https://soul-ailab.github.io/soulx-singer),这对学术研究和工业应用的复现至关重要。然而,复现面临的主要挑战在于数据规模:论文使用了超过42,000小时的歌声数据,这一数据规模对于大多数研究团队来说难以复制,尽管论文描述了完整的数据处理流水线(包括人声分离、歌词转录、音符转录等步骤),但获取同等规模的商业歌曲数据涉及版权问题。评估基准 SoulX-Singer-Eval 的构建需要招募歌手并获取授权,这也增加了复现的门槛。从算力角度看,42,000小时数据上的两阶段训练(短音频阶段和长音频阶段)需要相当可观的GPU计算资源,论文未提供具体的训练硬件配置和时间。模型架构层面,DiT + Flow Matching 的实现相对标准化,结合开源代码应该可以复现模型结构,但训练数据的差异可能导致最终性能的差距。总体而言,论文在方法描述和代码开源方面做得较好,但数据和算力需求构成了实际复现的主要障碍。
论文图表