论文翻译(扩散模型来了):Diffusion-Based Mel-Spectrogram Enhancement for Personalized Speech Synthesis with Found Data

发布时间 2023-07-26 14:47:57作者: 啊诚

 

利用发现的数据来创建合成声音是具有挑战性的,因为现实世界的录音通常包含各种类型的音频退化。解决这个问题的一种方法是使用增强模型对语音进行预增强,然后使用增强后的数据进行文本转语音(TTS)模型训练。本论文研究了使用条件扩散模型进行广义语音增强,旨在同时解决多种类型的音频退化。增强是在对数Mel频谱领域中进行的,以与TTS训练目标保持一致。引入文本信息作为附加条件以提高模型的鲁棒性。对现实世界录音的实验证明,使用该模型增强的数据构建的合成声音比那些使用强基线增强的数据进行训练的声音产生了更高质量的合成语音。

引言

通常情况下,文本转语音(TTS)模型是通过精心录制的数据库进行训练的。然而,收集这样的录音是昂贵且有时不切实际的。在实际应用中,有时只能获得目标说话者的低质量录音。这促使人们研究如何利用现成的数据进行语音合成,即并非专门为开发TTS系统而录制的语音数据[1–8]。

在这种情况下开发TTS系统是具有挑战性的,因为发现的数据受到音频质量的高度变化影响。直接使用低质量录音来构建合成声音将不可避免地产生失真的语音。先前的研究尝试在TTS框架内解决这个问题,通过给声学模型增加额外的噪声嵌入[7, 8]。这使得TTS模型可以使用带噪声的语音进行训练,但并未考虑其他形式的音频退化对结果的影响。背景噪声并不是现实录音中唯一存在的干扰。考虑到这一点,预先利用一个单独的模块对发现的数据进行增强可能更为实际,就像[1–4]中所做的那样,尤其是考虑到最近在广义语音增强[9–13]方面的进展,该方法旨在同时解决多种类型的音频退化。

在本研究中,我们提出直接对对数Mel频谱图进行增强,以与TTS训练目标保持一致,并使用条件扩散模型进行广义语音增强。选择扩散模型的动机来自Palette的工作[14],该工作使用单个通用扩散模型处理一系列图像到图像的转换任务。Mel频谱图是一种时频表示,可以视为图像。因此,我们预期扩散模型在Mel频谱图增强方面会很有效。为了提高模型对未知音频退化形式的鲁棒性,将语音的文本内容作为附加条件,这在TTS训练的上下文中通常是可用的。

我们将所提出的增强模型应用于一个真实的语音生成案例:为一位患有喉切除术的男性粤语说话者开发个性化的合成声音,他提供了37分钟的现成录音。这位先生在几年前失去了说话的能力。他提供的录音虽然包含多种类型的退化,但是是唯一可用且珍贵的记录了他声音的资料。我们使用不同系统增强的语音来训练TTS模型。由人类听众进行的主观评估显示,使用所提出的模型增强的语音构建的合成声音在干净度和整体印象方面都比那些使用强语音增强基线增强的数据训练的合成声音评分更高。

相关工作

2.1. 利用发现的数据进行语音合成 许多先前的研究都在解决利用发现的数据进行语音合成的问题。[5, 6]设计了算法来自动从众包数据中选择干净的录音。其他研究考虑了在发现的数据中根本没有高质量样本的情况。[7, 8]在TTS模型中增加了额外的噪声嵌入,使得在TTS训练期间可以将环境噪声与清晰的语音分离。另一种研究方法[1–4]分为两个步骤:预先增强低质量的语音音频,然后使用增强后的数据进行TTS模型训练。

2.2. 广义语音增强 一些先前的工作[9–13]在解决广义语音增强问题时,即同时处理多种类型的音频退化方面取得了进展。他们的成功依赖于对音频退化的良好模拟和先进的神经网络架构。其中大多数模型在波形或幅度谱上运作。然而,对于通常设计用于预测紧凑声学表示(例如Mel频谱图)的TTS声学模型来说,增强后的语音可能不够理想。

2.3. 基于扩散的语音增强 在[13, 15–17]中已经研究了使用扩散模型进行语音增强的方法。其中大多数模型都源自于基于扩散的神经声码器[18],通过用退化的Mel频谱图替换干净的Mel频谱图作为输入。然而,这种设计可能没有充分利用扩散模型在语音增强任务上的优势,因为增强工作主要由条件网络完成。我们的工作与[19]最相似,在该工作中,扩散模型被用于复杂的短时傅里叶变换(STFT)领域的语音增强。然而,他们的模型只针对降噪,并没有专门为开发TTS系统进行优化。

当我们给定一个大型的Mel频谱图对集合,表示为 $D = {x^{(i)}, y^{(i)}}_{i=1}^N$,其中 $x^{(i)}$ 代表高质量语音样本的Mel频谱图,而 $y^{(i)}$ 代表相应降质样本的Mel频谱图。$y^{(i)}$ 可以通过对 $x^{(i)}$ 应用人工音频退化得到。我们感兴趣的是学习在 $D$ 上的条件分布 $P(x|y)$。如果 $D$ 被构造成具有代表性的样本集,那么可以通过从学习得到的条件分布中进行采样来实现Mel频谱图增强。在这里,采用扩散模型来学习 $P(x|y)$ 的参数化近似。

 

3.1. 条件扩散过程 我们考虑Variance Preserving (VP)扩散模型[20, 21]。假设 x0 ∼ P(x|y) 是通过增强降质输入 y 而得到的一个增强样本。VP扩散定义了前向过程为: ���=−12������+�����(1)dxt=21βtxtdt+βtdwt(1)

其中,�∼�(0,1)tU(0,1),��=�0+�1�βt=β0+β1t 是预定义的线性噪声调度器,��wt 是标准布朗运动。

由(1)得到的一个重要结果是给定 �0x0��xt 的条件分布为: �(��∣�0)=�(�(�0,�),��2�)(2)P(xtx0)=N(ρ(x0,t),σt2I)(2)

其中,�(�0,�)=�−12∫0������0ρ(x0,t)=e210tβsdsx0��2=1−�−∫0�����σt2=1e0tβsds。

(2) 给出的良好性质表明,如果 �0x0 已知,我们可以使用再参数化技巧来采样 ��xt��=�(�0,�)+����,��∼�(0,�)(3)xt=ρ(x0,t)+σtϵt,ϵtN(0,I)(3)

此外,当 �→1t1 时,通过适当的噪声调度器 ��βt,我们有 �(�0,�)→0ρ(x0,t)0 和 ��→1σt1,这意味着前向过程逐渐将数据分布从 �(�∣�)P(xy) 转换为标准高斯分布 �(0,�)N(0,I)。

扩散模型通过反转上述前向过程生成样本,从一个高斯噪声开始: ���=−12��[��+∇��log⁡�(��∣�)]��(4)dxt=21βt[xt+xtlogP(xty)]dt(4)

注意,反向过程是在条件 y 下进行的,以实现条件生成。扩散模型的核心部分是训练一个神经网络 ��Sθ 来估计 ∇��log⁡�(��∣�)xtlogP(xty)(也称为得分)。一旦对所有时间步骤得分估计已知,我们可以通过从 �=1t=1 到 �=0t=0 模拟反向过程来从 �(�∣�)P(xy) 中抽样,通常使用ODE求解器[22]。

 

3.2. 鲁棒的文本条件

如前所述,Mel频谱图增强模型依赖于一组成对样本的合成数据集来学习条件分布 P(x|y)。因此,训练样本和真实世界的降质录音之间存在一个领域差异是不可避免的。因此,训练得到的模型可能会过拟合到数据集内部,无法很好地泛化到未见过的音频退化。

为了提高模型的鲁棒性,我们引入语音样本的文本内容作为附加条件。在TTS开发的上下文中,通常会提供文本转录,并且已经证明它可以提高SE模型的鲁棒性[23, 24]。受到GradTTS [25]的启发,我们使用一个平均Mel频谱图 µ 来表示文本。µ 的形状与 y 相同,并通过以下三个步骤获得。首先,将每个训练样本的文本转录通过强制对齐转换为时间对齐的音素序列。其次,通过对应于相同音素的语音帧的平均值,在训练数据上创建一个音素到Mel频谱的字典。然后,通过查阅字典,给定任何时间对齐的音素序列,得到相应的平均Mel频谱图 µ。

当提供文本时,反向过程可重写为: ���=−12��[��+∇log⁡�(��∣�,µ)]��(5)dxt=21βt[xt+logP(xty,µ)]dt(5)

3.3. 训练和推断

遵循[20]的方法,我们使得得分估计器 ��Sθ 了解时间步,并使用加权的 L2 损失对其进行训练: �(�)=��,��2�(�0,�)���[��(��,�,�,�)+��−1��2��2]2L(θ)=Et,σt2E(x0,y)Eϵt[2σt2Sθ(xt,t,y,μ)+σt1ϵt]2 =��,��2�(�0,�)���[��(��,�,�,�)+��−1��2��2]2(6)=Et,σt2E(x0,y)Eϵt[2σt2Sθ(xt,t,y,μ)+σt1ϵt]2(6)

在这里,我们使用以下结果: �(��∣�0,�,�)=�(��∣�0)=�(�(�0,�),��2�)(7)P(xtx0,y,μ)=P(xtx0)=N(ρ(x0,t),σt2I)(7) ∇��log⁡�(��∣�0,�,�)=−��−1��(8)xtlogP(xtx0,y,μ)=σt1ϵt(8)

一旦得分估计器训练完成,我们可以使用预测得分通过从 �=1t=1 到 �=0t=0 反向运行方程(5)来生成样本。所提出的Mel频谱图增强模型的训练和推断过程如图1所示。

 

当训练条件扩散模型进行Mel频谱图增强时,我们需要估计对数条件概率 log⁡�(��∣�0,�,�)logP(xtx0,y,μ),其中 ��xt 表示时间步为 t 时的增强样本,�0x0 是降质输入 y 的增强样本,μ 是文本的平均Mel频谱图。

    1. 公式 (6):这是损失函数,用于训练条件扩散模型的参数 θ。它由三个部分组成:时间步 t、噪声标准差 ��σt 以及得分估计器 ��Sθ。损失函数的目标是使得 ��Sθ 的预测尽可能接近真实的得分 −��−1��σt1ϵt(公式 (8) 中的部分)。损失函数也包含了一个额外的项 ��−1��σt1ϵt(公式 (6) 中的部分),这是为了通过平衡因子 ��σt 来缩放噪声,使训练过程更加稳定。在训练中,我们采样一组噪声 ��ϵt,并计算预测得分和真实得分之间的误差,然后通过梯度下降优化参数 θ。

    2. 公式 (7):这是条件分布 �(��∣�0,�,�)P(xtx0,y,μ) 的表达式。由于我们使用了条件扩散过程,��xt 在给定 �0x0 的情况下是条件独立的于 y 和 μ,因此 �(��∣�0,�,�)=�(��∣�0)P(xtx0,y,μ)=P(xtx0)。在条件扩散过程中,��xt 在时间步 t 的条件分布是一个高斯分布,其均值是 �(�0,�)ρ(x0,t),方差是 ��2�σt2I,其中 �(�0,�)=�−12∫0������0ρ(x0,t)=e210tβsdsx0 是扩散过程的均值,��2=1−�−∫0�����σt2=1e0tβsds 是方差。

    3. 公式 (8):这是条件分布 �(��∣�0,�,�)P(xtx0,y,μ) 对 ��xt 的对数梯度。它表示 ��xt 在给定 �0x0y 和 μ 的条件下,对应于条件概率分布的梯度。在条件扩散模型中,这个梯度是 −��−1��σt1ϵt,其中 ��ϵt 是一个在标准正态分布 �(0,�)N(0,I) 下采样的随机噪声。注意,这个梯度对 ��xt 是负向的,它指向 ��xt 趋近于 �(�0,�)ρ(x0,t) 的方向。这个梯度将在反向过程中引导生成样本。

 

  1. 实验设置 4.1. 用于比较的基准模型 所提出的增强模型被称为DMSEtext,表示具有文本条件的基于扩散的Mel频谱图增强。没有文本条件的模型被称为DMSEbase。我们将它们与两个基准模型进行比较:Demucs [26] 和 VoiceFixer [12]。
    • Demucs 是一个降噪模型。我们将其作为基准模型,以研究单一任务降噪模型在预期应用中的有效性。
    • VoiceFixer 是一个回归模型,用于处理一系列音频退化,包括加性噪声、混响、裁剪和低带宽。选择VoiceFixer作为基准模型的动机是为了检查基于扩散的语音增强是否比基于回归的方法更有优势。


4.2. 网络架构 对于基于扩散的Mel频谱图增强模型,我们采用了GradTTS模型的架构[25]。它被增强为同时对文本(μ)和音频(y)进行条件建模。条件信息通过在通道维度进行连接来提供给得分估计器。我们将模型的深度设置为5层,输出通道的维度分别为32、64、128、256、256。TTS模型类似于DurIAN [27],但没有包含风格控制和postnet。我们使用HiFi-GAN [28]神经声码器将对数Mel频谱图转换为波形。将Mel频带的数量从80增加到128,经验性地发现这对于建模低音域的声音(例如我们的目标说话人)是有益的。

4.3. 数据 我们目标说话人的发现数据包含513个自发但非常流利的语音句子,总时长约为37分钟,所有句子都经过手工转录。语音在六个不同的场景中录制,房间声学和采样率为22.05 kHz。录音中发现的音频退化类型包括背景噪声、房间混响、频带限制和幅度裁剪。这些语音是广东话。这个语音语料库用于评估语音增强模型的性能。增强后的语音用于训练TTS模型。

我们使用了CUSENT [29],一个多说话人的粤语语音数据库,并通过人为创建的降质音频来训练DMSEbase和DMSEtext。CUSENT包含来自80位说话人的约20小时的朗读语音,采样率为16kHz。它被设计用于自动语音识别(ASR),录音中包含低级噪声,使其不太适合训练语音增强模型。因此,我们对CUSENT运行Demucs以获得高质量的干净语音。得到的数据集称为DenoiseCUSENT,代表了语音增强训练的干净参考数据。来自说话人cn01m和cn12f的数据被保留用于验证。

为了合成受损语音,我们考虑了发现数据中存在的四种最常见的音频退化类型:噪声、混响、频带限制和幅度裁剪。我们使用DNS noise数据集 [30] 和RIRs [31]数据集分别模拟背景噪声和混响,并采用它们的默认训练/测试划分。频带限制和幅度裁剪是通过Scipy信号处理工具包1来模拟的。

这四种退化类型按照特定顺序应用:混响、噪声、裁剪和频带限制。诸如信噪比(SNR)或频率之类的参数随机设置在合理范围内。模拟退化的详细信息在项目仓库中发布。

为了与Demucs和VoiceFixer进行公平比较,我们还在高质量的英文数据集VCTK [32]上训练了一个基于扩散的增强模型,以排除语言不匹配的影响。从训练中保留了说话人p232和p257的数据,因为它们出现在标准的降噪测试集中。这里没有包含文本条件,因为发现数据的语言是广东话。这个模型称为DMSEbase(VCTK)。

在整个实验中,Mel频谱图是在采样率为22.05 kHz的音频信号上计算的,窗长为1024,跳步为256。如前所述,Mel滤波器组的数量设置为128。

4.4. 实现细节 DMSEbase 和 DMSEtext 在 DenoiseCUSENT 数据集上进行了 900 轮的训练,而 DMSEbase(VCTK) 则在 VCTK 数据集上进行了 750 轮的训练,所有模型的批大小都为 32。所有三个模型的反向步数均为 25,使用 DPMsolver [22] 进行优化。梅尔频谱图被进行均值归一化,并缩放到区间 [-1.0, 1.0]。经验上发现,这种归一化有助于提高反向扩散的收敛速度。

TTS 模型在 CUSENT 上进行了 600 轮的预训练,批大小为 32,然后在目标说话人的数据(原始或增强后的数据)上进行了 6000 步的微调,批大小为 16。神经声码器从预训练的 HiFiGAN2 模型上进行了微调,在 VCTK 和 CUSENT 数据集上进行了 220,000 步的训练,批大小为 32。我们插入了一个预处理块,将 128 维的对数梅尔频谱图输入映射为 80 维,以充分利用预训练的 HiFi-GAN 参数。

在所有实验中,我们使用 Adam 优化器 [33],betas 参数设置为默认值 [0.9, 0.999]。学习率分别固定为 1e-4、1e-3 和 1e-6,用于训练 MDSEbase/base(VCTK)/text 模型、TTS 模型和 HiFi-GAN 声码器。

用于训练 TTS 模型和 DMSEtext 的时间对齐电话序列是使用 Montreal Forced Aligner [34] 获得的。在测试时,DMSEtext 还需要时间对齐的电话序列。对于找到的数据,我们首先使用 Demucs 进行降噪,然后再运行强制对齐,以提高对齐的准确性。需要强调的是,仅在强制对齐时使用降噪后的找到的数据。所有增强模型在评估时都以原始的找到的数据作为输入。

我们还额外训练了基于 CTC 的自动语音识别 (ASR) 模型,以客观评估语音增强效果,遵循 SpeechBrain3 的配置。该模型在 KingASR086 数据集上进行训练,该数据集是从 SpeechOcean4 购买的商业粤语语音识别语料库,包含来自 136 位说话人的 80 小时合理干净的读音数据,采样率为 44.1 kHz。没有应用数据增强技术。

 

  1. 结果 5.1. 提升找到的语音数据 我们分别使用三种基于扩散的模型以及两种基准模型来增强原始找到的数据中的 513 个话语,被称为“录音”。

我们使用 ASR 模型进行客观评估。结果总结在表1中。可以看出,VoiceFixer 和 DMSEbase/base(VCTK) 倾向于引入发音失真(通过替换数量反映)和删除语音片段(通过删除数量反映),与 Demucs 相比。另一方面,文本条件有助于 DMSEtext 保留内容信息,并同时改善原始录音的音频质量。

我们通过基于 Web 的听测试来进行主观评估。我们从每个系统产生的增强数据中选择了相同长度为 4.0 到 5.0 秒的 87 个句子,并添加了原始录音。每个句子共有六个刺激物。测试以 Mean Opinion Score (MOS) 的格式进行评估。听众被要求根据从 1.0 到 5.0 的范围内的尺度,对每个刺激物的干净程度(无噪声或混响)以及整体印象进行评分。我们提供了来自 DenoiseCUSENT 的干净音频样本和合成失真样本,作为高分和低分的锚点。我们将这 87 个句子均匀分成三组,并每组招募了 18 名听众。每位听众听取了 29 个句子,每个句子由其中一个六个系统随机选择的生成。所有听众都是粤语的母语使用者。

图 2 中的分数分布显示,VoiceFixer 和 DMSEbase/base(VCTK) 生成的语音干净但有些失真,而 Demucs 则呈现相反的模式。另一方面,DMSEtext 在干净度和整体印象方面得分最高,这与客观评估结果一致。值得注意的是,所有基于扩散的模型在干净度方面都优于两个基准模型。我们推测这可能与生成建模方法有关,其中生成过程受到干净语音先验的影响。

通过比较 DMSEbase 和 DMSEbase(VCTK),我们可以得出结论,使用粤语数据集并没有显著的收益,除非是为了获得文本信息。

图 3 给出了不同系统之间梅尔频谱图的具体比较示例。可以看出,由 Demucs 增强的音频保留了比其他系统增强的音频更多的语音内容和干扰。

.2. 增强数据的语音合成 开发 TTS 模型的目的是帮助目标说话人与他人交流。为了确保模型能够产生满足说话人个人需求的高质量语音,我们要求他提供他在日常生活中希望说或最有可能说的文本内容,用于评估 TTS 模型。从目标说话人编写的剧本中随机选择了 30 个句子,并使用在不同系统上训练的 TTS 模型合成了这些句子的语音。我们招募了 24 位粤语的母语使用者参与听测试。测试格式与前面的描述类似。每位听众听取了所有 30 个句子一次,每个句子由其中一个六个 TTS 模型生成,由四位听众进行评估。

表2中的 MOS 结果显示,与图2中观察到的趋势相反,由 Demucs 增强的语音合成声音在整体印象方面得分远低于其他系统。这种差异可能有两个因素解释。首先,在经过 TTS 训练后,Demucs 增强的语音中残留的干扰被转化为不愉快的平均伪影。其次,TTS 系统中的文本编码器在所有说话人之间是共享的,这可能减轻了 VoiceFixer 和 DMSEbase/base(VCTK) 的内容失真对声音质量的负面影响。然而,由 DMSEtext 增强的语音合成声音在干净度和整体印象方面得分最高,这是可以预期的,因为在增强过程中,额外的文本条件有助于保留语音内容。欢迎读者访问 https://dmse4tts.github.io/ 来听取音频样本。

  1. 结论 我们介绍了一种基于扩散的梅尔频谱图增强模型,旨在预增强找到的数据,以用于 TTS 模型的开发。该模型训练以同时解决多种类型的音频退化,并使用文本转录作为条件来提高其鲁棒性。我们经验证明,相比于单任务降噪模型,通用性的增强模型更适用于预增强用于 TTS 模型开发的真实世界录音。此外,额外的文本条件有助于在增强过程中保留语音内容。通过人类听众的主观评估,显示出由此产生的合成语音与那些由其他通用语音增强基准训练的语音相比,产生了更高质量的合成语音。