歌声合成( singing voice synthesis )是根据乐谱来生成歌声的技术,是创造能说会唱的虚拟人中的重要一环。例如,近期网易雷火音频与网易伏羲推出的拜年歌曲一键创作工具,取得了用户的好评,歌声合成是其核心基础服务。与语音合成任务相比,歌声合成需要根据乐谱内容生成正确的发音,还要需要符合乐谱的标注(如音高、歌唱节奏等),同时由于歌唱的基频等声学特征的变化范围更广,而且存在颤音等歌唱技巧,所以建模歌声的难度更大。随着深度学习技术的引入,歌声合成技术取得了巨大的飞跃,合成的歌声越来越逼真且更富表现力,但是距离真正媲美真人歌唱还有一段距离。

近期,由西工大音频语音与语言处理研究组(ASLP@NPU)和网易伏羲合作的论文“ VISINGER: VARIATIONAL INFERENCE WITH ADVERSARIAL LEARNING FOR END-TO-END SINGING VOICE SYNTHESIS ”被语音研究顶级会议ICASSP 2022接收。该论文在VITS [1] 模型的基础上改进得到一个完全端到端的歌声合成系统VISinger,可以避免声学模型和声码器两段式系统在训练和推理过程中的不匹配问题,简化歌声合成系统的训练流程,在使用更少的参数量下实现与两段式系统相当的歌声合成效果。现对该论文进行简要的解读和分享。


论文题目:VISinger: Variational Inference with Adversarial Learnling for End-to-End Singing Voice Synthesis

作者列表:张雍茂,从坚,薛鹤洋,谢磊,朱鹏程,毕梦霄

论文原文:https://arxiv.org/abs/2110.08813v2


发表论文截图


扫码直接看论文


背景动机
和语音合成类似,一个典型的歌声合成系统通常由声学模型和声码器构成,声学模型根据乐谱生成中间声学特征,声码器根据中间声学特征来生成波形,一个典型的系统如图1所示。尽管这种两段式的系统在歌声合成任务上已经取得了良好的效果,但是声学模型和声码器在训练和推理过程中的差异还是会导致合成效果的下降。具体来说,声码器训练过程使用了真实声学特征来生成波形,但在推理过程中使用声学模型产生的声学特征来生成波形,二者的差异可以导致推理过程的合成效果有下降。所以需要采用一些策略来缓解这个问题,如微调声码器和在声学模型训练中使用对抗策略等。
一个更直接的方法就是直接使用完全端到端的模型来替换两段式的模型,如FS2s [2],VITS [1]等一些完全端到端的语音合成模型已经展现了端到端的优势,理论上端到端模型可以获得更好的音质并且训练过程更简单。其中,VITS采用VAE [4]来连接声学模型和声码器,采用变分推理和对抗训练的策略来训练端到端模型,实现良好的合成效果。我们在VITS的基础上提出VISinger,即在VITS基础上进行改进得到一个完全端到端的歌声合成系统。


图1  一个典型的歌声合成系统(供图:薛鹤洋)


方案简介

如图3所示,类似VITS,VISinger分为先验编码器(Prior Encoder)、后验编码器(Posterior Encoder)、解码器(Decoder),其中后验编码器从波形中提取潜变量z,解码器将潜变量z还原为波形,二者构成一个VAE的结构,先验编码器编码乐谱信息 c 来为后验编码器提取 z 的过程提供先验信息,从而模型整体构成一个CVAE的结构。VISinger的结构图如图2所示。


图2 VISinger的模型结构

我们针对歌唱任务对原始VITS进行了改进,主要可以分为以下几点:
  • Frame Prior Network:采用时长模型进行扩展来代替VITS中的MAS,并通过Frame Prior Network预测帧级的均值和方差,提高先验编码器的建模能力。
  • F0 Predictor:由于基频变化对于歌声合成的效果十分重要,所以我们加入基频预测器,同时也给Prior Encoder提供了更多的监督信息,提高模型整体的稳定性。
  • Phoneme Predictor:潜变量 z 的提取过程主要受到重建loss的监督,但是由于在推理过程中需要从乐谱中预测潜变量 z ,所以为潜变量 z 的提取过程添加更多监督信息可以帮助提取出更稳定的隐层表征,减少发音错误,所以我们加入了音素预测器,根据潜变量 z 来预测音素并计算CTC loss。
  • Note Norm:由于歌声合成的结果需要符合乐谱中时长的标注,而乐谱中规定了每个Note的时长,Note时长是我们已知的信息,每个Note通常对应多个音素。所以我们可以将乐谱中的Note时长作为一个先验信息来辅助时长预测器,即时长预测器的输出为Note中每个音素的时长占其所在Note的时长的比例,最终每个音素的时长可以表示为乐谱Note与时长预测器输出的乘积。

整体训练loss为:


实验验证

实验使用标贝4.7小时的100首单人中文女歌手的歌唱数据,数据在高保真环境下录制,采用48k采样率并降采样到24k进行使用,使用16-bit编码。音素的时长由人工进行标注。

实验对比了FastSpeech[3]+Neural vocoder、原始VITS和VISinger的效果,从模型大小、音质MOS、自然度MOS、F0 MAE、Dur MAE等方面进行对比,结果总结在表1中。在主观打分结果表明,音质上VISinger优于其他模型,自然度上接近两段式模型。端到端模型在模型参数量上具有优势,同时简化了训练流程。实验中我们也发现,完全端到端的模型由于模型建模任务更加困难(直接从文本信息到波形采样点),所以其模型的训练会更有挑战性,训练的稳定性还值得进一步优化。

表1 主观评测得分和客观评测得分


表2消融实验验证了各种改进的作用,包括音素预测器、基频预测器、帧级先验网络和Note归一化策略。可以看出,音素预测器对自然度的提高有帮助,基频预测器和帧级先验网络对音质和自然度的提高均有帮助。而加深flow的层数并不能起到帧级先验网络的作用。

表2 消融实验的主观评测得分



图3 消融实验中的时长偏差

如图3所示,加入Note归一化策略后时长预测的误差会减小,主要体现在一些误差较大的时长预测结果会被纠正过来,减少由于时长预测偏差使歌曲整体偏快或者偏慢的现象,使歌曲整体节奏符合乐谱的标注。

样例展示

实验中的更多样例敬请访问:

https://zhangyongmao.github.io/VISinger/

《柠檬树》:音频戳我

《胆小鬼》:音频戳我

《没那么简单》:音频戳我


总结与相关研究
本文提出了一个端到端的歌声合成系统,针对歌唱任务的特点对VITS进行改进获得,以更小的参数量获得了与两段式模型可比的歌声合成效果,为端到端模型的构建和优化提供了一些有益的思路。同时我们看到,端到端模型仍然有优化空间。
近期,网易伏羲联合西工大ASLP实验室、上海视觉艺术学院、同济大学推出了中文精标歌声合成数据集Opencpop[5],数据集由一位专业歌手演唱的100首中文歌曲构成,有效时长超5.2小时,该数据的发布进一步降低了大家对歌声合成研究的门槛。接下来听一下两段式模型在Opencpop合成的高质量歌唱效果吧(44.1Hz)。

《给我一首歌的时间》:音频戳我


歌声合成开源库Opencpop发布

朱鹏程,公众号:语音之家
全球首个中文精标歌声合成开源数据Opencpop正式发布
此外能让不会唱歌的人唱歌,或者说只利用目标说话人讲话的数据进行建模,使目标说话人可以唱歌,也是一个非常有意义的研究方向。近期实验室在Learn2Sing1.0的基础上,推出了Learn2Sing2.0[6],在只有目标发音人语音数据的前提下,采用扩散模型(Diffusion model)和互信息技术实现了其歌声合成系统,同时实现了目标人音色的保持。
相关样例敬请访问:
https://welkinyang.github.io/Learn2Sing2.0/


参考文献
[1] Jaehyeon Kim, Jungil Kong, and Juhee Son, “Conditional variational autoencoder with adversarial learning for end-to-end text-to-speech,” in Proceedings of the 38th International Conference on Machine Learning, 2021.
[2] Yi Ren, Chenxu Hu, Xu Tan, Tao Qin, Sheng Zhao, Zhou Zhao, and Tie-Yan Liu, “Fastspeech 2: Fast and high-quality end-toend text to speech,” in International Conference on Learning Representations, 2020.
[3] Yi Ren, Yangjun Ruan, Xu Tan, Tao Qin, Sheng Zhao, Zhou Zhao, and Tie-Yan Liu, “Fastspeech: Fast, robust and controllable text to speech,” in Advances in Neural Information Processing Systems, 2019.
[4] Diederik P Kingma and Max Welling, “Auto-encoding variational bayes,” in International Conference on Learning Representations, 2014.
[5] Yu Wang, Xinsheng Wang, Pengcheng Zhu, Jie Wu, Hanzhao Li, Heyang Xue, Yongmao Zhang, Lei Xie, Mengxiao Bi, Opencpop: A High-Quality Open Source Chinese Popular Song Corpus for Singing Voice Synthesis, https://arxiv.org/abs/2201.07429
[6] Heyang Xue, Xinsheng Wang, Yongmao Zhang, Lei Xie, Pengcheng Zhu, Mengxiao Bi, Learn2Sing 2.0: Diffusion and Mutual Information-Based Target Speaker SVS by Learning from Singing Teacher, https://arxiv.org/abs/2203.16408