人工智能+音乐的探索:从洛天依到小冰初窥歌唱合成

歌唱合成技术是将乐谱信息和歌词转换为歌唱语音的技术。相较于语音合成(TTS),歌唱合成有更丰富的输入(音高、音符持续时间),并要求输出的人声更有感情、变化和起伏,技术上更为困难。与语音合成任务类似,歌唱合成是通过综合多人的评价(MOS)[1],来评判合成的歌声效果好坏。

本文将从以下几个方面进行解读:

  • 研究现状
  • 主流技术框架
  • 趋势与挑战

1. 研究现状

歌唱合成文献较少,截至到本稿写完(2020年12月6日),2019和2020两年只有17篇论文是以歌唱合成为主题。另一方面,歌唱合成有着重大的商业价值,微软、腾讯、字节跳动等互联网巨头,早早在歌唱合成中布局。

歌唱合成主要的技术方法:

  • 基于单元拼接的合成技术
  • 统计参数合成技术
  • 基于深度学习的合成技术

基于单元拼接的合成技术(unit concatenation)以及统计参数合成(statistical parametric synthesis)作为传统方法,广泛用于虚拟歌姬(洛天依、初音)。但,传统的方法,难以细粒度地刻画声音的变化,与真实的人声仍有差距。随着深度学习的兴起,基于深度学习的合成技术渐渐成熟,生成的歌声更真实,更细腻。

2. 主流技术框架

2.1 产品比较

AI虚拟歌姬/产品 关键技术 产品demo链接
小冰 Xiaoicesing https://xiaoicesing.github.io/
艾灵 Durian-sc https://www.bilibili.com/video/BV16C4y1p7tM?p=1&share_medium=iphone&share_plat=ios&share_source=SINA&share_tag=s_i&timestamp=1590728757&unique_k=t3avsg
洛天依 参数拼接技术 https://v.qq.com/x/page/l0532hidovu.html
CeVIO HMM合成技术 https://www.bilibili.com/video/BV1Nt411v7qu?t=71
Synthesizer V 参数拼接+DNN https://zhuanlan.zhihu.com/p/127796408
bytesinger bytesinger https://bytesings.github.io/paper1.html

从图表中的视频实际表现来看,小冰和艾灵优于其他歌唱合成产品。下文选择小冰和艾灵相关论文:

  • XiaoiceSing:小冰歌唱合成的主框架
  • HIFISINGER:小冰歌唱合成的升级版
  • Deepsinger:小冰团队提出的另一个歌唱合成系统,亮点是基于低质量数据的训练
  • DURIAN-sc:艾灵歌唱合成的主框架

2.2 XiaoiceSing [2]

歌唱合成任务,要求模型把握好每个字唱多长时间(持续时间),同时期的fastspeech模型,正是严格控制持续时间的非自回归语音合成模型,因而学者们提出以fastspeech[3]为骨干网络(backbone)的小冰歌唱合成模型——XiaoiceSing。

如上图是小冰歌唱合成模型,主要分为encoder 、decoder以及vocoder三部分。(这三部分的具体内容将在下一篇进行介绍)

模型的前向传播过程为:

(1) 将乐谱(musical score)的音素(phoneme)、持续时间(duration)以及音高(pitch)分别经过embedding层,并add,得到musical score的embedding

(2) 将位置编码(position encoding)与musical score的embedding进行add

(3) 将(2)的输入经过6层transformer层,得到encoder的output

(4) 用encoder的output经过由CNN、Linear层组成的duration predictor,得到每个音素的持续时间

(5) 使用每个音素的持续时间,对encoder的output进行repeat操作,得到decoder的input

(6) 将位置编码(position encoding)与decoder的input进行add

(7) 将(6)的结果经过6层transformer层,得到decoder的output

(8) decoder的output经过Linear层,得到world[4]声码器的输入(声学特征):MGC、BAP以及F0,V/UV

(9) F0与pitch进行ADD,再做log操作,所得结果与V/UV相乘得到最终的F0

(10) 将MGC、BAP以及F0输入到world声码器中,输出最终的音频

借助于world声码器,XiaoiceSing可以手动修改歌声的音高,使得XiaoiceSing生成的歌声可控性更高,但world声码器需要三个声学特征向量作为输入,过多的声学特征,使得XiaoiceSing训练困难。

2.3 HIFISINGER [5]

相较于语音合成,歌唱合成要求更高的采样频率以保留更多歌声细节。XiaoiceSing以及其他论文,在高保真的采样频率下,合成的歌声总体质量不佳。

针对上述情况,HIFISINGER延用了XiaoiceSing大体结构,通过改进声学特征的生成,保证在48Hz采样频率下,仍能保持较好的听觉表现。

相较于小冰(16Hz),HIFISINGER主要将world声码器换成类似mb-melgan[6]的声码器,基于声学特征(mel、v/uv以及F0)生成wav波形。

HIFISINGER的前向传播过程与XiaoiceSing相同,主要亮点在于,吸收了multi-scale思想,对于需要生成的数据,设计了不同长度的GAN:

(1) multi-scale思想用到mel频谱的生成,即论文中的sub-frequency GAN

(2) multi-scale思想用到wav波形的生成,即论文中的multi-length GAN

另外,HIFISINGER对windows_size、hop_size、f0和V/UV的作用进行对比,可以看作XiaoiceSing的补充介绍。

相较于XiaoiceSing,HIFISINGER有着更好的合成效果,但却需要额外训练两个GAN网络,引入了更大的资源消耗。

2.4 Deepsinger [7]

数据是制约歌唱合成发展的主要因素之一,大多数模型所需的数据要求特别严格,比如需要音素级的标注,需要纯净的人声等。

Deepsinger的最大亮点在于,可以直接使用质量较低的数据进行歌唱合成。具体方法是从网络上收集歌声数据,通过开源的歌词对齐工具、人声分离工具,将有噪声的音频数据,变成近乎干声的数据。受益于此,deepsinger可以利用更大规模的训练数据,提高了模型效果的上限。

Deepsinger模型流程为:

(1) 通过爬虫从互联网上爬取歌曲(音频)和歌词数据

(2) 根据(1)得到的数据,进行人声分离,得到人声以及歌词

(3) 对歌词和人声进行对齐,得到音符的持续时间(duration)

(4) 对数据进行过滤,去除低质量数据,保留高质量数据

(5) 通过高质量数据,进行歌唱合成

人声分离和歌词人声对齐目前没有完美的解决方案,使得Deepsinger的数据存在噪声,导致Deepsinger生成的歌声有杂音。

2.5 DURIAN-sc [8]

歌唱声音转换(Singing voice conversion)旨在保证歌唱内容的同时,将音色从source speaker转换到 target speaker。

DURIAN-sc的亮点是只需要target speaker的讲话数据(speech data),就可以学习到target speaker的音色。

经过实验,DURIAN-sc只要获取target speaker的20秒讲话数据,在合成target speaker嗓音的歌声时,就能取得不错的效果。

DURIAN-sc的骨干网络是19年腾讯的DURIAN论文。(关于DURIAN,详细可以参考 [11]。)相较于DURIAN,DURIAN-sc加入duration、pitch信息的输入,并将speaker进行embedding,输入到模型中。

模型的前向传播过程为:

(1)音素序列(phone sequence)经过embedding层、全连接层(FC),生成隐层表示

(2)用CBHG网络[9]提取隐层表示的特征

(3)将(2)的输出,根据音素持续时间(phone duration)进行repeat操作

(4)提取原始歌声的声学特征(F0、RMSE[10]

(5)将原始歌声的声学特征与(3)的输出进行concat操作

(6)提取target speaker的声纹特征,并与(5)的输出进行concat操作

(7)将(6)的输出经过全连接层,作为encoder的输出

(8)将encoder的输出经过由全连接层和RNN组成的网络,进行自回归解码

(9)将(8)的结果经过CBHG网络变换,得到Mel频谱

(10)Mel频谱经过声码器,得到wav波形

DURIAN-sc用的是自回归的解码器,如果用到实时歌唱合成上,相对较慢的自回归解码器,可能造成更多的时间消耗。

3. 趋势与挑战

通过上一章节,我们了解到歌唱合成的最新方法。基于深度学习的歌唱合成方案,让计算机合成的歌声富有情感,更有起伏。另外,对于高采样率、数据缺失等问题,学术界也做了很多研究。

3.1 趋势

本章节对主流技术框架进行概括和整理,得到如下的技术趋势:

(1) 深度学习方法成为主流:基于统计参数的合成或基于单元拼接的合成模型,生成的歌声机械感过强,基于深度学习的合成模型,可以生成更接近人声的歌声。

(2) Mel频谱作为音频特征 :相较于world声码器的声学特征,Mel频谱的数据维度更小,更容易被神经网络拟合。

(3) 非自回归的语言模型成为主流:非自回归与自回归模型生成质量相近,但非自回归模型生成速度更快,能用于实时歌唱合成。

(4) 基于噪声数据的歌唱合成:歌唱合成所需数据成本过高,极大制约了歌唱合成水平的发展,所以一些研究的关注点,是如何将噪声数据作为训练数据。

另一方面,歌唱合成作为一个多序列到多序列(multi sequence to multi sequence)的任务,仍然存在很多挑战。

3.2 挑战

歌唱合成整个领域错综复杂,可以归为以下几方面挑战:

(1)昂贵的数据集:歌唱合成要干声数据(没有背景音乐以及噪音的,纯人声),为了保证音高准确,歌唱合成数据必须请专业的歌手,在专业的环境下录制。往往整个数据集造价过百万。

(2)闭源的模型代码:多数歌唱合成的paper没有开放源码,且对参数没有详细介绍(例如小冰只有5页),学者个人难以复现模型。

(3)不准确的真人演唱:真人唱歌时,无法像机器一样,每个音素唱的持续时间与乐谱一致,甚至一首歌一个人不同时间唱,也有很大的差异,这导致了歌声数据本身就是不准确的。

4. 笔者的一些思考

歌唱合成领域,机遇与挑战并存。通过借鉴语音合成领域的发展,歌唱合成得到了实质性的进步:XiaoiceSing借鉴于fastspeech,DURIAN-sc借鉴于DURIAN。歌唱合成,因虚拟歌姬而为大家熟知,但歌唱合成的相关技术文章较少,鲜有针对整个领域的系统性介绍。究其原因,歌唱合成需要语音合成的知识、信号处理的技术、甚至要求研究人员具备乐理知识。

初窥几篇歌唱合成论文,笔者提出了各个模型的不足之处,并在实践中对这些不足之处,构思了一些解决方案,由此产生了潜在科技的歌唱合成模型。

千里之行,始于足下。庞大的歌唱合成领域,难以用一篇博文介绍清楚,本文作为潜在科技歌唱合成系列第一篇,旨在将歌唱合成领域的前沿算法,引入读者视野,并为后续的深入介绍做铺垫。本栏目后续会介绍歌唱合成的入门知识,针对小冰歌唱合成模型进行详细介绍,届时也会对潜在科技的歌唱合成模型,进行简单介绍。

如有兴趣,可以关注潜在科技,获得第一手资料。

参考文献

[1] ITU-T Rec. P.10 (2006) Vocabulary for performance and quality of service.
[2] Lu, P., Wu, J., Luan, J., Tan, X. and Zhou, L., 2020. XiaoiceSing: A High-Quality and Integrated Singing Voice Synthesis System. arXiv preprint arXiv:2006.06261.
[3] Ren, Y., Ruan, Y., Tan, X., Qin, T., Zhao, S., Zhao, Z. and Liu, T.Y., 2019. Fastspeech: Fast, robust and controllable text to speech. In Advances in Neural Information Processing Systems (pp. 3171-3180).
[4] Morise, M., Yokomori, F. and Ozawa, K., 2016. WORLD: a vocoder-based high-quality speech synthesis system for real-time applications. IEICE TRANSACTIONS on Information and Systems, 99(7), pp.1877-1884.
[5] Chen, J., Tan, X., Luan, J., Qin, T. and Liu, T.Y., 2020. HiFiSinger: Towards High-Fidelity Neural Singing Voice Synthesis. arXiv preprint arXiv:2009.01776.
[6] Yang G, Yang S, Liu K, Fang P, Chen W, Xie L. Multi-band MelGAN: Faster Waveform Generation for High-Quality Text-to-Speech. arXiv preprint arXiv:2005.05106. 2020 May 11.
[7] Ren, Y., Tan, X., Qin, T., Luan, J., Zhao, Z. and Liu, T.Y., 2020, August. Deepsinger: Singing voice synthesis with data mined from the web. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (pp. 1979-1989).
[8] Zhang, L., Yu, C., Lu, H., Weng, C., Zhang, C., Wu, Y., Xie, X., Li, Z. and Yu, D., 2020. Durian-sc: Duration informed attention network based singing voice conversion system. arXiv preprint arXiv:2008.03009.
[9] Wang, Y., Skerry-Ryan, R.J., Stanton, D., Wu, Y., Weiss, R.J., Jaitly, N., Yang, Z., Xiao, Y., Chen, Z., Bengio, S. and Le, Q., 2017. Tacotron: Towards end-to-end speech synthesis. arXiv preprint arXiv:1703.10135.
[10] https://en.wikipedia.org/wiki/Root-mean-square_deviation
[11] https://mp.weixin.qq.com/s/StKx0n7LRH9e5IuTvBIC5A

PS:

我们是行者AI,我们在“AI+游戏”中不断前行。

如果你也对游戏感兴趣,对AI充满好奇,那就快来加入我们(hr@xingzhe.ai)。

原文地址:https://www.cnblogs.com/xingzheai/p/14108874.html