引言

人工智能与音乐的交汇一直是一个令人着迷的前沿领域。我们在文本转语音 (TTS) 系统方面已经取得了显著进展,现在的模型生成的语音几乎难以与真人分辨。然而, 歌声合成 (Singing Voice Synthesis, SVS) 仍然是一个难度大得多的挑战。

为什么合成歌声如此困难?与说话不同,歌唱需要对音高 (F0) 、节奏以及颤音、假声或滑音等特定声乐技巧进行精确控制。此外,歌手的“风格”是一个复杂的混合体,包含了他们的音色 (声音身份) 、情感表达以及他们采用的特定演唱方法 (例如美声唱法与流行唱法) 。

大多数现有的 SVS 模型都在“闭集”假设下运行: 它们在训练期间见过的歌手身上表现良好,但在推广到未见过的歌手时却很难奏效——这就是所谓的零样本合成 (zero-shot synthesis) 问题。此外,即使它们设法克隆了声音的音色,往往也无法捕捉到风格上的细微差别。它们可能会生成正确的旋律,但声音听起来很平淡,缺乏悲伤情歌的气息感或摇滚乐的有力咬字。

在这篇文章中,我们将深入探讨 TCSinger , 这是由浙江大学和上海人工智能实验室的研究人员提出的一种新颖架构。TCSinger 是一枝独秀的零样本 SVS 模型,能够实现跨语言风格迁移和多级风格控制。它不仅能复制声音,还能将风格与内容和音色解耦,从而实现对歌曲演绎方式的精细控制。

背景与核心概念

在剖析架构之前,我们需要建立一些 TCSinger以此为基础的核心概念。

歌声的组成部分

为了有效地合成歌声,我们必须将其视为不同特征的组合:

  1. 内容 (Content) : 语言信息 (歌词) 和乐谱 (音符和时长) 。
  2. 音色 (Timbre) : 使歌手具有辨识度的声音静态特征 (“身份”) 。
  3. 风格 (Style) : 动态的、随时间变化的属性。在 TCSinger 中,“风格”被严格定义为包括演唱方法 (如歌剧与流行) 、情感节奏技巧 (如颤音) 和发音

零样本合成

“零样本”是指模型处理以前从未见过的数据的能力。在这里,它意味着使用未包含在训练数据集中的歌手的声音和风格来生成歌曲,通常只需提供该歌手的一小段音频参考 (提示音频) 。

以往方法的瓶颈

之前的模型如 DiffSinger 或 VISinger 利用扩散模型和 DSP (数字信号处理) 在音频质量上取得了长足进步。然而,它们通常将风格与音色纠缠在一起。如果你试图将“快乐”的风格迁移给一位“悲伤”的歌手,模型往往会混淆歌手的身份与情感。TCSinger 通过使用专门的架构显式解耦这些特征来解决这个问题。

TCSinger 架构

TCSinger 框架非常复杂,采用了分而治之的策略。该架构分别为内容、风格和音色创建单独的表示,然后将它们重新组合以生成最终音频。

让我们看一下系统的高级概览:

TCSinger 的架构。图 (a) 展示了整体流程,解耦了内容、风格和音色。

图 1(a) 所示,该流程由几个关键模块组成:

  1. 用于内容 (歌词/音符) 和音色的编码器 (Encoders)
  2. 用于从音频提示中提取风格的聚类风格编码器 (Clustering Style Encoder)
  3. 用于预测风格和时长的风格与时长语言模型 (Style and Duration Language Model, S&D-LM)
  4. 用于生成最终梅尔声谱图的风格自适应解码器 (Style Adaptive Decoder) (基于扩散模型) 。

让我们逐一分解这些模块。

1. 聚类风格编码器 (Clustering Style Encoder)

风格迁移最困难的部分之一是如何用数学方式表示“风格”。如果表示太宽泛,它会捕捉到歌词 (内容) 。如果太具体,它会捕捉到录音质量或背景噪音。

研究人员引入了聚类风格编码器 (如图 1(d) 所示) 。它以梅尔声谱图为输入,并通过 WaveNet 块对其进行细化。但创新之处在于它如何量化这些信息。

聚类矢量量化 (CVQ)

标准的矢量量化 (VQ) 将连续特征映射到离散码本。然而,VQ 容易出现“码本坍塌 (codebook collapse) ”问题,即模型只使用了可用代码的一小部分,限制了表达能力。

TCSinger 使用聚类矢量量化 (CVQ) 。 CVQ 创建了一个信息瓶颈。通过强制将风格信息压缩到紧凑、离散的潜在空间中,模型剥离了非风格信息 (如内容或说话人身份) 。它使用动态初始化策略来确保码本中的所有代码都被利用,从而捕捉丰富多样的歌唱风格。

该编码器的训练目标包括特定的损失函数以维持这种结构:

CVQ 损失和对比损失的公式。

在这里,损失包括重构项 (确保代码与输入匹配) 和对比损失 (contrastive loss) 。 对比损失至关重要——它推开不同风格的表示,同时拉近相似风格,确保潜在空间在语义上是有意义的。

2. 风格与时长语言模型 (S&D-LM)

一旦我们要有了表示风格的方法,就需要一种预测它的方法。歌唱风格与时长 (duration) 高度相关。例如,“美声”风格通常涉及拉长的元音,而“流行”风格在节奏上可能有所不同。

S&D-LM 是一个基于 Transformer 的模型,它同时预测风格和音素时长。这种联合预测使得这两个特征能够相互增强。

S&D-LM 在两种不同的模式下运行,如图 2 所示:

两种推理模式: (a) 使用音频提示的风格迁移,和 (b) 使用文本提示的风格控制。

模式 A: 风格迁移

在这种模式下 (图 2a) ,模型接收一个音频提示 (某人唱歌的录音) 。

  1. 编码器从提示中提取风格 (\(s\))音色 (\(t\))内容 (\(c\))
  2. S&D-LM 利用这些上下文为你想要生成的新歌词预测目标风格 (\(\tilde{s}\)) 和时长 (\(\tilde{d}\))。

风格迁移推理的数学公式为:

展示从音频提示中提取风格和音色的风格迁移推理公式。

随后是对目标风格和时长的自回归预测:

风格和时长自回归预测的概率公式。

这意味着模型会观察提示的风格和目标内容,生成一系列既匹配提示氛围又适合新歌词的风格向量。

模式 B: 多级风格控制

这是 TCSinger 成为创意工具的地方。你可以提供文本提示 (图 2b) 来代替音频提示。

  • 全局层级: 你可以指定演唱方法 (例如“美声”) 和情感 (例如“悲伤”) 。
  • 音素层级: 你可以用“颤音”、“假声”或“气声”等技巧标记特定的单词或音素。

文本编码器将这些标签转换为嵌入,以替换提取的音频风格向量。预测过程随后变为以这些文本提示 (\(tp\)) 为条件:

以文本提示为条件的预测公式。

3. 音高扩散预测器 (Pitch Diffusion Predictor)

预测了风格和时长后,模型需要确定基频 (F0) ,即音高曲线。作者采用了一个音高扩散预测器

扩散模型擅长通过逆转噪声过程来生成高分辨率数据。在这里,模型预测 F0 曲线和清浊音 (UV) 决策。通过使用扩散模型,模型生成了多样化且逼真的音高曲线,既不过于平滑也不机械,保留了人声自然的抖动和颤音。

训练涉及高斯扩散 (用于连续音高) 和多项式扩散 (用于分类清浊音决策) :

详细说明音高预测的高斯和多项式扩散过程的公式。

逆过程 (生成) 在数学上定义为迭代地清理噪声音高信号:

用于近似清晰音高的逆扩散过程公式。

4. 风格自适应解码器 (Style Adaptive Decoder)

最后阶段是将所有这些表示 (内容、音色、风格、时长、音高) 转换为梅尔声谱图,然后再将其转换为音频。

标准解码器往往无法融合之前提取的微妙“风格”信息。它们可能会得到正确的音高,但丢失了风格中的气声或特定的音调质量。

TCSinger 引入了风格自适应解码器 。 这是一个基于扩散的解码器,使用了一种新颖的机制: 梅尔-风格自适应归一化 (Mel-Style Adaptive Normalization)

自适应归一化

在计算机视觉中,“自适应实例归一化” (AdaIN) 因图像风格迁移而闻名。TCSinger 将其调整用于音频。

在解码器的神经网络层内部,中间特征图 (\(m^{i-1}\)) 被归一化。然后,风格向量 (\(s\)) 用于预测缩放 (\(\gamma\)) 和偏置 (\(\beta\)) 参数,以调制这些特征。

梅尔-风格自适应归一化的公式。

在这个公式中:

  • \(\mu\) 和 \(\sigma\) 是当前特征的均值和标准差。
  • \(\phi_{\gamma}(s)\) 和 \(\phi_{\beta}(s)\) 是风格向量的学习变换。

这有效地将风格信息“注入”到声谱图生成的每一层中。为了确保高保真度,解码器使用平均绝对误差 (MAE) 和结构相似性指数 (SSIM) 损失进行训练,确保生成的声谱图在像素级精度和结构连贯性上都与真值匹配。

MAE 损失公式。 SSIM 损失公式。

一旦解码器输出梅尔声谱图,最后一步是根据预测的风格和时长生成输出变量 (音高和梅尔) :

F0 和梅尔声谱图的最终生成公式。

最后,声码器 (HiFi-GAN) 将梅尔声谱图转换为可听的波形。

实验与结果

为了验证 TCSinger,作者使用包含中文和英文歌唱及语音的数据集进行了广泛的实验。他们将 TCSinger 与 StyleSingerRMSSinger 等强基线模型以及 YourTTS 等语音到语音迁移模型进行了比较。

1. 零样本风格迁移

主要测试是使用未见过的歌手生成歌曲。使用的指标包括:

  • MOS-Q (平均意见得分 - 质量) : 听起来有多好?
  • MOS-S (相似度) : 听起来像目标歌手吗?
  • FFE, MCD: 客观误差指标 (越低越好) 。

下方的 表 1 总结了结果。TCSinger 在质量和相似度方面均获得最高分,显著优于基线模型。

表 1: 合成质量和歌手相似度的比较。TCSinger 得分最高。

可视化输出有助于我们理解为什么它的得分更高。在 图 3 中,我们可以看到梅尔声谱图。

声谱图比较。TCSinger 比基线模型更好地捕捉了红框和黄框中的细节。

注意 TCSinger 声谱图 (d 行) 中突出显示的框。

  • 黄框: 显示颤音 。 TCSinger 再现了颤音特有的波浪状频率模式。
  • 红框: 显示节奏和发音 。 TCSinger 保留了辅音和元音的详细频谱纹理。
  • 相比之下,YourTTS (e 行) 或 RMSSinger (g 行) 等基线模型通常产生“更模糊”的声谱图或丢失这些细粒度的时间细节。

2. 多级风格控制

模型可以通过文本准确控制风格吗?研究人员通过要求模型生成具有特定属性 (例如“流行 + 快乐”或“假声”) 的歌曲来测试这一点。

表 2 显示了“风格可控性” (MOS-C) 的结果。

表 2: 多级风格控制的结果。TCSinger 在平行和非平行测试中均表现出色。 * (注: 表 2 包含在此图像文件中) *

TCSinger 实现了 3.95 到 4.09 的 MOS-C,而最好的基线模型 (StyleSinger) 则落后。这证实了文本编码器成功地将语义标签 (如“气声”) 映射到了潜在空间中正确的声学特征。

3. 跨语言和语音转歌唱

TCSinger 的一个迷人能力是跨语言迁移 。 能否用英语使用者的声音唱中文歌,同时保留该英语使用者的声音风格?

表 3 表明 TCSinger 处理得非常好。

表 3: 跨语言风格迁移结果。

因为 TCSinger 将内容 (音素) 与音色和风格解耦,它可以在保持后两者不变的情况下交换内容 (语言) 。

同样,该模型支持语音转歌唱 (STS) 。 你可以给它一句口语作为提示,它会生成听起来像那个说话者的歌声,并采用说话的“风格” (例如,如果说话很愤怒,歌声可能会带有那种强度) 。

4. 消融研究

为了证明每个组件都是必要的,作者移除了模型的部分组件并测量了性能下降。

表 5: 消融研究结果。移除 CVQ、SAD 或时长模型会损害性能。

  • w/o CVQ: 用标准 VQ 替换聚类 VQ 导致质量下降,证明聚类机制对于稳定的风格提取至关重要。
  • w/o SAD: 移除风格自适应解码器导致显著下降,表明将风格注入归一化层对于细节至关重要。
  • w/o DM: 使用简单的时长预测器代替联合 S&D-LM 也降低了性能,证实了风格和时长是紧密相连的。

结论与意义

TCSinger 代表了 AI 音乐生成的重大飞跃。通过将“风格”视为一种可测量的、多方面的属性 (方法、情感、技巧) 而不仅仅是一个模糊的概念,研究人员创建了一个能为创作者提供精细控制的系统。

主要收获:

  1. 解耦为王: 分离内容、音色和风格允许灵活的混合和匹配 (例如,英语使用者唱中国京剧) 。
  2. 瓶颈是有用的: 聚类风格编码器强制模型学习紧凑、有意义的风格表示,避免了过拟合的“复制粘贴”陷阱。
  3. 整体建模: 共同预测时长和风格 (通过 S&D-LM) 可以产生更自然、更有节奏感和表现力的歌声。

这项技术为个性化音乐制作打开了大门,允许作曲家尝试物理上可能不存在的歌手和风格,或者以前所未有的保真度对音乐内容进行跨语言配音。虽然目前仍存在局限性——例如可控技巧的词汇量有限——但 TCSinger 为可控神经音频合成的未来奠定了坚实的基础。