语音转换的任务就是在不改变说话内容的前提下,将源说话人的语音转换成更像目标说话人的语音。语音转换在很多领域都有广阔的应用前景,例如有表现力的语音合成[1-2],帮助有语音障碍的人产生正常的语音[3]等。根据训练集中源说话人和目标说话人之间是否有对应的平行语料,语音转换可以分为平行语音转换和非平行语音转换。传统的语音转换方法一般是平行语音转换,先通过动态时间规整算法[4](Dynamic Time Warping, DTW)建立源说话人和目标说话人之间的帧级平行特征,再利用传统机器学习模型构建帧级特征之间的映射关系。其中使用的模型有高斯混合模型(Gaussian Mixture Models, GMM)[5-6],偏最小二乘法(Partial Least Square Regression, PLS)[7],非负矩阵分解法(Non-negative Matrix Factorization, NMF)[8-10]等。虽然上述平行语音转换算法已相对成熟,但是在现实中很难收集到大量平行语料,这会限制语音转换的大规模应用。因此,非平行语音转换具有更大的现实应用价值,当然难度也更大。随着深度神经网络的蓬勃发展,许多新的深度神经网络模型的出现使得高质量的非平行语音转换成为可能。
基于深度神经网络的非平行语音转换系统又可以分为基于对抗生成网络(Generative Adversarial Network, GAN)的模型和基于自编码器(Autoencoder, AE)的模型。在基于对抗生成网络的非平行语音转换模型中,Cycle对抗生成网络(CycleGAN)[11-12]模型通过使用对抗性损失、循环一致性损失和全等映射损失实现一对一非平行语音转换;而Star对抗生成网络(StarGAN)[13-14]在CycleGAN基础上加入额外的域分类器,从而实现多对多的非平行语音转换。然而生成对抗网络的训练很不稳定,这也影响了基于对抗网络的语音转换系统的性能。
基于自编码器的语音转换模型一般是由编码器和解码器组成。训练时,编码器需要从语音特征中提取出说话人无关的语义特征,而解码器需要将说话人特征与语义特征相融合,最后恢复语音。转换时,只需在解码器端融入目标说话人特征,即可实现语音转换。基于自编码器的各种语音转换系统的区别主要在于:编码器如何去除语音特征中的说话人信息。其中一类[15-16]是利用预训练好的语音识别(Automatic Speech Recognition, ASR)模型作为编码器提取出语义特征,训练时只需要优化解码器,但是这类方法的好坏依赖于预训练语音识别模型的性能,同时模型需要分为多阶段训练,结构复杂,消耗资源较大。而另一类模型无需任何预训练网络,为无监督模型。其中变分自编码器(Variational Autoencoder, VAE)[17-18]通过使编码器的输出符合正态分布从而去除语音特征中的说话人信息,然而符合正态分布这一条件过于简单,使得转换语音往往质量较差。为了解决这一问题,基于矢量量化自编码器(VQVAE)[19-21]的语音转换模型被提出,编码器的输出经过矢量量化从码本中得到与其最相近的语义特征,然后再通过解码器与说话人信息相融合并最终合成语音。矢量量化模块在其中起到的作用是去除说话人信息,然而量化的同时也不可避免的丢失了一部分语义信息;此外,由于矢量量化的不可微性,码本无法与编码器和解码器一起训练,只能单独训练,这导致了码本特征很难收敛到一个鲁棒的结果。以上VQVAE模型的缺点都导致了转换语音的发音和音质尽管比VAE模型好,但还是有很大的提升空间。
为了解决这一问题,本文提出一种矢量量化正则变分自编码器(VQ-REG-VAE)。与VQVAE不同的是,VQ-REG-VAE中矢量量化仅出现在训练中,且退化为正则化项。VQ-REG-VAE模型在训练时,分为两个任务,任务1将编码器的输出经过矢量量化从码本中取出说话人无关的语义特征,然后解码器将说话人信息与语义特征相融合最后重建语音。任务1是为了通过矢量量化让编码器学会去除说话人信息,同时让解码器学会将说话人信息融合进语义特征。任务2没有使用矢量量化模块,编码器的输出直接输入到解码器,再与说话人信息融合。在转换时,VQ-REG-VAE模型不需要矢量量化,只需要将编码器的输出和目标说话人的说话人特征输入解码器,即可实现语音转换。
如图1所示,VQVAE模型由编码器E、矢量量化码本e和解码器D组成。设输入的语音序列为x,码本中第j个码字为ej,码本一共有N个码字。在训练时,输入语音先进行特征变换得到频域特征,然后通过编码器输出ze(x),接着从码本中找出与ze(x)最相近的码字zq(x),即:
图1 基于VQVAE的语音转换模型结构示意图
Fig.1 The architecture of VQVAE based voice conversion model
ze(x)=E(x)
(1)
(2)
接着解码器将量化输出zq(x)与说话人特征Sx相融合,最终得到重建语音序列即:
(3)
整个模型的损失函数如下式所示:
L=-log p(x|zq(x),Sx)+‖sg[ze(x)]-ej‖2+
β‖ze(x)-sg[ej]‖2
(4)
公式(4)中sg代表的是梯度截断符号,代表此变量之前的模型在梯度回传时不更新。公式(4)中第一项表示的是重建损失,值得注意的是矢量量化是不可微的,因此梯度更新时解码器的输入端梯度直接复制到编码器输出端;公式(4)第二项是用来优化矢量量化码本中的码字的;而第三项使得编码器的输出更接近量化输出,从而去除更多的说话人信息,β是第三项的权重。
在转换时,将源语音输入编码器并进行量化得到语义特征zq(x),再将目标说话人特征Sy输入到解码器与zq(x)相融合,最终得到目标转换语音y:
y=D(zq(x),Sy)
(5)
基于VQVAE模型转换语音的音质差的根源在于矢量量化模块,因为矢量量化模块将编码器的输出映射到码本的单一码字,虽然去除了说话人信息但是大量语义信息也丢失了;此外,由于矢量量化模块不可导,码本只能通过公式(4)中的第二项单独训练,导致很难收敛到一个鲁棒的值。本文提出一种VQ-REG-VAE模型,该模型训练时采用多任务学习机制学习,训练时只在任务1中利用矢量量化的正则化特性来去除说话人信息,而在任务2和转换语音时并不需要矢量量化的参与,只需要编码器和解码器即可,从而使得语音转换时可以利用编解码器进行直接转换,避免了矢量量化引起的语义失真。接下来将详细讲述本文提出模型的多任务训练机制。
VQ-REG-VAE模型的训练分为两个任务,两个任务交替训练。如图2所示,任务1的训练过程与基线模型VQVAE完全相同,由于任务1中解码器D的输入是不含有说话人信息的量化输出zq(x),因此解码器可学会将说话人特征Sx融入语义特征;同时公式(4)中第三项使得编码器的输出ze(x)更接近zq(x),从而去除ze(x)中说话人信息。而与zq(x)相比,ze(x)中保留了更多的语义信息。为了充分利用ze(x)中的语义信息,并进一步去除ze(x)中的说话人信息,我们引入了任务2。
图2 基于VQ-REG-VAE的语音转换模型结构示意图
Fig.2 The architecture of VQ-REG-VAE based voice conversion model
如图2所示,任务2中不使用矢量量化模块,编码器输出ze(x)直接输入到解码器中,解码器再将其与说话人特征Sx融合在一起重建原始语音:
(6)
任务2的损失函数为:
L=-log p(x|ze(x),Sx)
(7)
任务2是一个完全端到端的模型,训练时只需要重建损失即可。由于在任务1中解码器已经学会了利用说话人信息Sx,任务2训练时解码器不再需要ze(x)中的说话人信息,因此可以促使编码器进一步去除ze(x)中的说话人信息,只保留解码器所需的语义信息。
转换时,语音特征x输入编码器得到语义特征ze(x),然后ze(x)并不经过矢量量化直接输入解码器,最后解码器将目标说话人特征Sy与ze(x)相融合得到转换语音:
y=D(ze(x),Sy)
(8)
与任务2相同,转换时解码器的输入是编码器的输出ze(x),因此任务2的训练也可以让解码器更好的利用ze(x)中的语义信息,从而提升最终转换语音的质量。
实验使用的语料是由英国爱丁堡大学语音实验室录制的VCTK语音库,该语音库包含46小时左右的英语语料,说话人个数为109个,每个说话人分别有400多条语音。我们在实验中选取了前三十个说话人的语料用于训练和测试,其中p225(女)、p226(男)、p227(男)和p228(女)的前三十条语音用于测试,其余剩下的语音用于训练模型。最终测试时选取p225-p226、p226-p227、p227-p228和p228-p225用于实现女转男、男转男、男转女和女转女的转换。转换语音样例在脚注(1)https:∥georgehappy1.github.io/VQ-REG-VAE/index.html网址中。
本文选取的基线系统是Interspeech 2020中一篇使用VQVAE的语音转换论文[21],为了与基线系统VQVAE公平比较,如图3所示,本文采取的网络结构与基线系统相同。输入的语音信号先降采样到16 kHz,然后通过短时傅里叶变换和梅尔尺度滤波器组得到80维的对数梅尔谱。短时傅里叶变换的帧长和帧移分别设置为25 ms和10 ms,傅里叶变换的点数设置为2048。接着将对数梅尔谱输入编码器,编码器由六个一维卷积层组成,其中前五个卷积层后接批归一化(Batchnorm)和激活函数(Relu)层。而解码器会将编码器输出或者量化输出与说话人特征串接在一起,再通过两层门控循环网络(GRU),每层循环网络前都会先升采样,最终经过两层全连接即可得到重建语音。
图3 编码器和解码器网络结构.其中k表示卷积核尺寸,s表示步长,c表示通道数,h表示门控循环网络(GRU)的隐藏层数,o表示全连接的输出层数
Fig.3 The network architecture of the encoder and decoder.k, s, c, h and o denotes kernel size, stride, channel size, hidden units of GRU and output nodes of fully connected layers, respectively
对于说话人特征,我们为每个说话人随机初始化一个64维的矢量,然后跟着网络一起训练。矢量量化码本数目设置为512,维度设置为64。公式(4)中的参数β设置为1,模型训练的优化器使用的ADAM优化器,学习率设置为0.0004,批大小(batchsize)设置为46,每一段训练长度为320 ms。整个模型最终迭代了240000次。
为了说明本文提出的VQ-REG-VAE模型的有效性,实验中选取三个模型来进行比较:
(1)VQVAE:选取的基线模型。
(2)VQ-REG-VAE(有任务2):本文提出的模型。
(3)VQ-REG-VAE(无任务2):为了说明任务2对VQ-REG-VAE模型的重要性,模型(3)训练时没有采取任务2,但是转换时和VQ-REG-VAE一样不使用矢量量化模块,直接将编码器的输出ze(x)输入解码器。
为了测试转换语音的发音质量,我们利用科大讯飞提供的语音识别接口(2)https:∥global.xfyun.cn/products/lfasr,将转换语音输入到语音识别模型。非特定说话人语音识别系统预先采用原始语音训练完成,其主要描述了与语义相关的语音信号声学特征,因此,若转换语音的字识别错误率(Word Error Rate, WER)越低,则说明转换语音与真实语音的声学特征更接近,更好地保留了语义信息。实验结果如表1所示。
表1 转换语音WER结果
Tab.1 WER of converted speeches
VQVAEVQ-REG-VAE(无任务2)VQ-REG-VAE(有任务2)p225-p226(女转男)47.5%54.9%21.2%p226-p227(男转男)38.6%33.1%13.9%p227-p228(男转女)33.3%31.5%12.8%p228-p225(女转女)32.8%31.9%14.3%平均38.05%37.85%15.55%
从表1中可以看出,与VQVAE基线模型相比,VQ-REG-VAE模型转换语音的字识别错误率有大幅度的降低,这说明通过将矢量量化退化为正则化项,VQ-REG-VAE模型有更强的能力保留语义信息,从而增强转换语音的音质。而当VQ-REG-VAE模型训练阶段缺少任务2时,转换语音的字错误率会出现较大幅度的上升,这进一步说明了任务2对VQ-REG-VAE模型的重要性,可以促使模型在转换语音时保留住更多的语义信息。
为了衡量转换语音与目标说话人语音之间的相似度,我们预先训练一个说话人识别模型,然后将转换语音输入该说话人识别模型,最终识别为目标说话人的准确率越高,则说明转换语音与目标语音之间相似度越高。识别为目标说话人的准确率如表2所示。
表2 转换语音的说话人识别准确率
Tab.2 Speaker verification results of converted speeches
VQVAEVQ-REG-VAE(无任务2)VQ-REG-VAE(有任务2)p225-p226(女转男)96.4%92.3%100%p226-p227(男转男)100%100%100%p227-p228(男转女)100%96.4%96.4%p228-p225(女转女)100%100%96.4%平均99.1%97.2%98.2%
从表2中可以看出,VQ-REG-VAE模型在音质上取得巨大的改进后,在相似度上仍然能与基线模型VQVAE相当,这进一步说明VQ-REG-VAE模型的有效性。
主观实验中邀请了20人对转换语音的音质和相似度分别进行MOS打分(1~5分)。实验在安静的实验室条件下进行,实验参与者佩戴耳机对转换语音进行打分。对于本文提出模型和基线模型,评测的时候都会从每个转换对中各选取25条语音进行测评。MOS分越高,则说明语音转换效果越好。MOS评测结果如图4所示。
图4 主观评测MOS结果
Fig.4 MOS results of subjective evaluation
从图4中可以看出,主观评测与客观评测基本一致,与VQVAE基线模型相比,本文提出的VQ-REG-VAE模型在语音质量上有很大幅度提升的同时,仍然能达到与基线模型相当的相似度。同时当VQ-REG-VAE模型训练时没有任务2时,音质会下降到与基线模型相似,这也说明了任务2的重要性。
图5展示了目标语音和各模型转换语音的语谱图,从图5方框标注处可以看出,VQVAE模型丢失了大量频谱精细结构,而VQ-REG-VAE模型能更好地生成频谱共振峰结构,增强转换语音的音质。当VQ-REG-VAE模型训练阶段缺少任务2时,转换语音的频谱也会丢失很多细节,退化到与VQVAE模型类似,这一现象与之前主客观实验一致,说明了任务2极大地增强了VQ-REG-VAE模型保留语义的能力。
图5 目标语音和各模型转换语音语谱图
Fig.5 Spectrograms of the target speech and different converted speeches
本文提出一种基于矢量量化正则变分自编码器(VQ-REG-VAE)的非平行语音转换模型,训练时采用多任务学习将矢量量化退化为正则化机制。通过主客观实验证明,与基线VQVAE模型相比,VQ-REG-VAE模型在不降低与目标说话人相似度的同时能大幅度提升转换语音的音质,这表明了VQ-REG-VAE模型的有效性。未来会继续将并行全卷积网络引入解码器,从而进一步增加整个模型的转换效率。
[1] KAIN A, MACON M W.Spectral voice conversion for text-to-speech synthesis[C]∥Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP′98(Cat.No.98CH36181).Seattle, WA, USA.IEEE, 1998: 285-288.
[2] ZHANG Mingyang, WANG Xin, FANG Fuming, et al.Joint training framework for text-to-speech and voice conversion using multi-source tacotron and WaveNet[C]∥Interspeech 2019.Graz, Austria.ISCA, 2019: 1298-1302.
[3] VEAUX C, YAMAGISHI J, KING S.Towards personalized synthesized voices for individuals with vocal disabilities: Voice banking and reconstruction[C]∥Proceedings of the 2013 Workshop on Speech and Language Processing for Assistive Technologies.France: ISCA, 2013: 107-111.
[4] WU Zhizheng, LI Haizhou.Voice conversion versus speaker verification: An overview[J].APSIPA Transactions on Signal and Information Processing, 2014, 3: e17.
[5] TODA T, BLACK A W, TOKUDA K.Voice conversion based on maximum-likelihood estimation of spectral parameter trajectory[J].IEEE Transactions on Audio, Speech, and Language Processing, 2007, 15(8): 2222-2235.
[6] CHEN Ying, CHU Min, CHANG ERIC, et al.Voice Conversion with Smoothed GMM and MAPAdaptation[C]∥Eurospeech 2003.Switzerland: ISCA, 2003: 2413-2416.
[7] HELANDER E, VIRTANEN T, NURMINEN J, et al.Voice conversion using partial least squares regression[J].IEEE Transactions on Audio, Speech, and Language Processing, 2010, 18(5): 912-921.
[8] TAKASHIMA R, TAKIGUCHI T, ARIKI Y.Exemplar-based voice conversion in noisy environment[C]∥2012 IEEE Spoken Language Technology Workshop(SLT).Miami, FL, USA.IEEE, 2012: 313-317.
[9] WU Zhizheng, VIRTANEN T, CHNG E S, et al.Exemplar-based sparse representation with residual compensation for voice conversion[J].IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2014, 22(10): 1506-1521.
[10] AIHARA R, NAKASHIKA T, TAKIGUCHI T, et al.Voice conversion based on Non-negative matrix factorization using phoneme-categorized dictionary[C]∥2014 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).Florence, Italy.IEEE, 2014: 7894-7898.
[11] KANEKO T, KAMEOKA H.CycleGAN-VC: Non-parallel voice conversion using cycle-consistent adversarial networks[C]∥2018 26th European Signal Processing Conference(EUSIPCO).Rome, Italy.IEEE, 2018: 2100-2104.
[12] KANEKO T, KAMEOKA H, TANAKA K, et al.Cyclegan-VC2: Improved cyclegan-based non-parallel voice conversion[C]∥ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).Brighton, UK.IEEE, 2019: 6820-6824.
[13] KAMEOKA H, KANEKO T, TANAKA K, et al.StarGAN-VC: Non-parallel many-to-many voice conversion using star generative adversarial networks[C]∥2018 IEEE Spoken Language Technology Workshop(SLT).Athens, Greece.IEEE, 2018: 266-273.
[14] KANEKO T, KAMEOKA H, TANAKA K, et al.StarGAN-VC2: Rethinking conditional methods for StarGAN-based voice conversion[C]∥Interspeech 2019.ISCA: ISCA, 2019: 679-683.
[15] LU Hui, WU Zhiyong, LI Runnan, et al.A compact framework for voice conversion using wavenet conditioned on phonetic posteriorgrams[C]∥ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).Brighton, UK.IEEE, 2019: 6810-6814.
[16] ZHOU Yi, TIAN Xiaohai, XU Haihua, et al.Cross-lingual voice conversion with bilingual phonetic posteriorgram and average modeling[C]∥ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).Brighton, UK.IEEE, 2019: 6790-6794.
[17] HSU C C, HWANG H T, WU Y C, et al.Voice conversion from non-parallel corpora using variational auto-encoder[C]∥2016 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference(APSIPA).Jeju, Korea(South).IEEE, 2016: 1-6.
[18] 黄国捷, 金慧, 俞一彪.增强变分自编码器做非平行语料语音转换[J].信号处理, 2018, 34(10): 1246-1251.
HUANG Guojie, JIN Hui, YU Yibiao.Voice conversion using non-parallel corpora based on enhanced variation auto-encoder[J].Journal of Signal Processing, 2018, 34(10): 1246-1251.(in Chinese)
[19] OORD DEN VAN, AARON, VINYALS, et al.Neural discrete representation learning[C]∥Advances in Neural Information Processing Systems.Long Beach, CA, USA.Curran Associates, 2017: 6309-6318.
[20] WU Dayi, LEE H Y.One-shot voice conversion by vector quantization[C]∥ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP).Barcelona, Spain.IEEE, 2020: 7734-7738.
[21] VAN NIEKERK B, NORTJE L, KAMPER H.Vector-quantized neural networks for acoustic unit discovery in the ZeroSpeech 2020 challenge[C]∥Interspeech 2020.ISCA: ISCA, 2020: 4836-4840.
Reference format: WANG Chao, YU Yibiao.Vector quantization regularized variational autoencoders for non-parallel voice conversion[J].Journal of Signal Processing, 2021, 37(7): 1339-1345.DOI: 10.16798/j.issn.1003-0530.2021.07.025.
王 超 男,1997年生,江苏盐城人。苏州大学电子信息学院硕士研究生,研究方向为语音转换。
E-mail: georgefly1@163.com
俞一彪 男,1962 年生,江苏无锡人。苏州大学电子信息学院教授,研究方向为语音信号处理、多媒体通信、信息隐藏。
E-mail: yuyb@suda.edu.cn