1、摘要
本文介绍了一种基于神经网络的语音克隆系统,可以从很少的音频样本中学习合成一个人的声音。
说话人自适应:通过微调一个预先训练好的多说话人生成模型来实现的。
说话人编码:通过训练一个单独的模型来直接推断新的说话人嵌入,并将其应用于多说话人生成模型,说话人编码方法在克隆时间和所需计算资源方面更为高效。
2、本文研究方向
从少量语音样本中学习一个未知说话者的声音,即语音克隆,在给定说话者身份的条件下进行少样本生成模型的语音建模。使用几分钟甚至几秒钟的数据对新说话者进行声音克隆。这是具有挑战性的,因为模型必须从非常有限的数据中学习说话者的特征,并且仍然能够概括到未见过的文本上。
3、提出的贡献
1、说话人适应 2、说话人编码 3、基于神经说话人分类和说话人验证的语音克隆自动评估
4、嵌入操作实现的性别和口音转换的语音变形
4、相关工作
- 神经语音合成方面:将Deep Voice 3作为基准多说话人模型
- 少样本生成建模方面:我们训练了一个单独的说话人编码网络,通过仅使用未注册的音频样本作为输入,直接预测多说话人生成模型的参数
- 说话人相关的语音处理方面:通过与语音合成相关的目标函数进行训练说话人编码器模型
- 多说话人语音合成方面:使用i-vector来表示说话人相关特征,但其训练是分开的,并且其目标与语音合成不直接相关。
- 声音转换:动态频率变形,对齐不同说话人的频谱或者使用神经网络进行频谱转换。
5、多说话人生成模型
- 模型结构:该模型接受文本和说话人身份作为输入,并通过优化参数来生成与真实音频相似的音频。模型通过最小化损失函数来调整可训练参数,损失函数惩罚生成音频与真实音频之间的差异。
- 训练方法:使用反向传播算法进行模型训练,通过最小化损失函数来优化可训练参数W和esi。同时,利用大量的训练数据来训练模型可以有效地提高语音克隆的性能。
a.说话人自适应
使用少量的音频-文本对来微调已经训练好的多说话人模型,以适应未见过的说话人
b.说话人编码
接从未见过的说话人的音频样本中估计说话人嵌入,不需要任何微调。说话人编码器通过输入一组克隆音频样本,估计说话人的嵌入。说话人编码器是与多说话人生成模型的说话人一起训练的。
6、说话人编码器:
架构:
对于说话人编码器,提出了一个包含三个部分的神经网络架构:
(i) 频谱处理:将克隆音频样本的梅尔频谱图输入到预处理网络中,该网络包含具有指数线性单元的全连接层,用于特征转换。
(ii) 时间处理:为了利用长期上下文,使用带门控线性单元和残差连接的卷积层,通过平均池化来总结整个话语。
(iii) 克隆样本注意力:考虑到不同的克隆音频包含不同数量的说话人信息,我们使用多头自注意力机制来计算不同音频的权重,并获取聚合的嵌入。
7、语音克隆性能评估
- 说话人分类:即确定一个音频样本属于哪个说话人。为进行语音克隆评估,使用训练集中用于克隆的说话人集合来训练说话人分类器。高质量的语音克隆应该能够得到高准确率的分类结果。
- 说话人验证:根据测试音频和注册过的说话人音频对声纹身份进行认证。它执行二进制分类以确定测试音频和注册过的音频是否来自同一说话人。我们考虑使用端到端文本无关说话人验证模型。说话人验证模型可以在多说话人数据集上进行训练,然后用于验证克隆音频和真实音频是否来自同一说话人。与说话人分类方法不同,说话人验证模型不需要使用目标说话人的音频进行训练,因此它可用于只有少量样本的未知说话人。作为定量性能指标,等误差率(EER)可以用来衡量克隆音频与真实音频之间的接近程度。
8、数据集
作者在第一组实验中使用了LibriSpeech数据集和VCTK数据集。LibriSpeech数据集包含了2484个说话人的音频,总计820小时,用于训练多说话人生成模型和说话人编码器。VCTK数据集则包含108名英语本地说话者的音频,用于进行声音克隆实验。
9、模型规格
- 作者的多说话人生成模型基于卷积序列到序列架构,并采用类似的超参数和Griffin-Lim声码器。为了提高性能,作者调整了跳跃长度和窗口大小参数,并添加了二次损失项。对于说话人自适应实验,嵌入维度被降低到128以减少过拟合问题。
- 说话人编码器使用了log-mel频谱图作为输入,经过预处理网络和1-D卷积层进行处理,最后应用多头注意力机制得到嵌入向量,大小为512
- 作者还训练了说话人分类器和说话人验证模型。说话人分类器用于将音频样本归类为108个说话人中的一个,准确率达到100%。说话人验证模型则通过测试集中随机配对相同或不同说话者的句子来估计等误识别率(EER)
10、语音克隆的性能
-
说话人适应方法:通过说话人分类准确率选择最佳迭代次数。随着样本数量的增加,分类准确率显著提高,直到样本数达到一定数量为止。
-
说话人编码方法:考虑了带有说话人编码器和多说话人生成模型联合微调以及不进行联合微调的语音克隆。与整体模型适应相比,需要更多的迭代次数才能收敛,导致克隆时间更长。
-
克隆样本数量:无论是说话人适应还是说话人编码,都受益于更多的克隆音频。当克隆音频样本的数量超过一定数量时,整体模型适应优于其他技术。
-
主观评估:除了判别模型评估外,进行了主观测试。更多的克隆音频可以改善自然度和生成音频与目标说话人真实音频相似程度的评估。整体模型适应在自然度方面有显著改善,而说话人编码实现了与基线模型相当或更好的自然度。
11、声音变形通过嵌入操作
下图展示了说话人编码器生成的说话人嵌入的可视化结果。通过对推断出的嵌入进行代数操作,例如添加性别或口音的差异,可以实现声音的转换和变形。例如,通过计算不同性别或口音之间的差异,并将其添加到特定说话人的嵌入上,可以生成具有特定性别和口音特征的高质量音频。
为了方便理解举个例子:
- 假设我们有一个英国男性说话人的嵌入(BritishMale),并且我们想要生成一个英国女性说话人的音频。我们可以计算出英国女性嵌入(AveragedFemale)和英国男性嵌入(AveragedMale)之间的差异,并将其加到特定的英国男性说话人嵌入上,得到新的嵌入,从而生成英国女性说话人的音频。
- 如果我们想要进行口音转换,比如将一个英国男性说话人的口音转换为美国男性口音,我们可以计算出美国男性嵌入(AveragedAmerican)和英国男性嵌入(AveragedBritish)之间的差异,并将其加到特定的英国男性说话人嵌入上,得到新的嵌入,从而生成具有美国口音的英国男性说话人的音频。
12、数据集对实验的影响
相较于LibriSpeech数据集,更干净的VCTK数据集可以改善多说话人生成模型,提高整体模型的自适应效果。然而,仅进行嵌入自适应的表现明显不佳,这是因为VCTK数据集中的说话人多样性有限所导致的。因此,对于声音克隆任务,选择合适的训练数据集对模型性能至关重要。
13、结论
本文研究了两种神经语音克隆方法:说话人自适应和说话人编码
自然度方面:说话人自适应和说话人编码都能达到与基线多说话人生成模型类似的主观意见得分
相似度方面: 两种方法都受益于更多的克隆音频
总结:
整体模型自适应和仅嵌入自适应之间的性能差距表明,在生成模型中除了说话人嵌入之外,仍然存在其他判别性的说话人信息。
嵌入的紧凑表示带来了快速克隆和每个说话人占用空间较小的好处。
使用语音识别数据集进行训练的多说话人生成模型存在低质量音频和有限的说话人多样性的缺点。
改进数据集的质量将有助于提高生成音频的自然度。