语音合成(speech synthesis)方向六:歌唱合成(singing voice synthesis)

声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记。文章中难免存在错误的地方,还望大家海涵。平时搜集一些资料,方便查阅学习:TTS 论文列表 低调奋进 TTS 开源数据 低调奋进。如转载,请标明出处。欢迎关注微信公众号:低调奋进


目录

1 研究背景

2 研究情况

2.1 数据充足

2.1.1 系统架构设计

2.1.2 高采样率数据

2.2 数据匮乏

2.2.1 低质数据

2.2.2 歌声转换

2.2.3 迁移学习

3 总结

4  引用


1 研究背景

歌唱合成SVS(singing voice synthesis)是根据歌词和乐谱信息合成歌唱。相比于TTS(text to speech)使机器“开口说话”,歌唱合成则是让机器唱歌,因此更具有娱乐性。互联网的时代,人机交互更加频繁和智能,歌唱合成则添加了人机交互的趣味性,因此受到工业界和学术界的关注。相比TTS,歌唱合成需要更多的输入信息,比如乐谱中的音高信息,节拍信息等等。但是歌唱合成的训练语料十分昂贵,为获得较高品质的歌唱干声和乐谱信息,研究者需要付出上百万的开销,这也阻碍大量研究人员的脚步。本文针对2020年歌唱合成的发展状况,总结在是否拥有大量训练数据前提下采用的不同方案,以供同行参考。

各家demo的链接:

Learn2Sing

https://bytesings.github.io/paper1.html 

https://xiaoicesing.github.io/ 

HiFiSinger: Towards High-Fidelity Neural Singing Voice Synthesis - Speech Research

DurIAN-SC: Duration Informed Attention Network based Singing Voice Conversion System | [“DurIAN_SC”]

DeepSinger: Singing Voice Synthesis with Data Mined From the Web - Speech Research

2 研究情况

其实歌声合成(singing voice synthesis)的文章不算太多,本打算通读以后再做个总结,但思来想去还不如先总结之后,以后再慢慢修改,也算“敏捷”总结。我找的文章都是2020年的文章,这样可以看出去年歌唱合成的发展动态。我们知道,歌唱合成之所以没有像TTS这样受到强烈关注的原因之一就是训练语料的匮乏。相较普通音频的训练语料,歌唱合成的训练语料要贵好几倍,因此很少有企业和研究所能够承担此种开销。歌唱合成训练语料相比普通语料的成本较高的原因:1)需要专业歌手在专业的录音棚录制高音质的干声;2)歌声的标注需要更复杂的信息,标注成本较高。是否拥有充足的训练数据导致不同的研究方向和策略,因此我根据训练数据是否充足进行以下分类:

2.1 数据充足

    2.1.1 系统架构设计

    (a)ByteSing: A Chinese Singing Voice Synthesis System Using Duration Allocated Encoder-Decoder Acoustic Models and WaveRNN Vocoders

     (b)XiaoiceSing: A High-Quality and Integrated Singing Voice Synthesis System

   2.1.2 高采样率数据

     (a)HiFiSinger: Towards High-Fidelity Neural Singing Voice Synthesis

2.2 数据匮乏

    2.2.1 低质数据

      (a)Deepsinger: Singing voice synthesis with data mined from the web

    2.2.2 歌声转换

      (a)Durian-sc: Duration informed attention network based singing voice conversion system

     2.2.2 迁移学习

       (a)learn2sing target speaker singing voice synthesis by learning from a singing teacher

2.1 数据充足

2.1.1 系统架构设计

2.1.1.1 ByteSing: A Chinese Singing Voice Synthesis System Using Duration Allocated Encoder-Decoder Acoustic Models and WaveRNN Vocoders

图一展示了ByteSing 系统的整体架构,该系统包含时长模型,声学模型和神经网络声码器。时长模型的输入为音素+音素类型+节奏和音符时长,输出为音素对应的时长。声学模型的输入为音素+音符音高+每帧的位置信息,输出为声学信息,具体为图2展示。看到图2结构可能大家跟我有相同的疑惑,既然时长模型已经预测出了每个音素时长,为什么还使用attention?本文在实验部分给出了实验结果:使用attention的效果更好。神经网络声码器是把声学特征转成波形,具体结构图3所示。

本文实验对比一下几个方面:Natural是原始录音,ByteSing为本文提出方案,BS-w/o-attention为不使用attention方案,BS-w-To为输入特征添加音调信息。

客观指标如table 2显示,本文ByteSing在各项指标最好,说明使用attention效果提升,同时添加音调信息结果反而不好。图4是attention的对齐信息。图5展示了主观MOS评测,该部分说明ByteSing在pitch, rhythm,pron,breath和express等方面跟原始录音差别不大。

2.1.1.2 XiaoiceSing: A High-Quality and Integrated Singing Voice Synthesis System

本文使用的系统架构是FastSpeech,声码器为world vocoder,具体系统架构为图1所示。该系统主要注意以下几点。第一,输入的内容是从乐谱中提取的phoneme, pitch和duration,具体的格式为图二。第二,encoder和decoder之间的durtion训练时候不仅考虑phoneme的loss,也考虑syllable的loss,因此此处的loss为公式1。第三,decoder输出的特征mgc+bap+v/uv+pitch,其中pitch使用残差的方式进行拼接,其loss为公式2和3。

本文在主客观两个方向进行对比。此处baseline系统为CNN的声学模型+LSTM的f0和duration。由table1的mos结果显示,xiaoicesing在pronun acc. sound quality和naturalness都是远远好于baseline。客观指标table2 显示错误率指标RMSE,xiaoicesing低于baseline,相关性corr 指标xiaoicesing高于baseline,其它参数也是好于baseline。

接下来图3显示ave gv实验,xiaoicesing更贴近原始音频,图4展示xiaoice的语谱图刻画的频率更好。

ab test结果如图5 显示,基频f0和durtion远远好于baseline系统。图6和图7也显示f0和durtion的测试中,xiaoicesing更贴切原始音频。

2.1.2 高采样率数据

2.1.2.1 HiFiSinger: Towards High-Fidelity Neural Singing Voice Synthesis

高仿真的音频合成需要处理高采样率的音频数据,尤其是歌唱合成。相对于使用16kHz和24kHz的音频,使用48kHz的音频将会覆盖更宽的频带和更长的音频序列,这将给音频合成造成极大的挑战。本文针对使用48kHz音频带来的问题,提出了HiFiSinger。

该系统由FastSpeech和Parallel wavegan组成,具体的如图1所示。音乐合成的输入是从歌词和乐谱提取的特征(如图一(a)的phoneme从歌词中转换,duration embedding 和pitch embedding从乐谱中提取),整个流程跟fastspeech差不多。不过因为使用48kHz的音频,因此80维的mel特征刻画的频带更广,因此本文提出了SF-GAN进行子带划分和辨别,具体如图一的(b)所示,把80维分为低中高三个频带(0~40,20~60,40~80),其目标函数为公式1和2。另外,为解决生成的音频序列增长的问题,本文对声码器添加ML-GAN,具体如图1的(c)所示,使用不同长度的音频进行辨别,其目标函数为公式3和4。另外本文也测试了使用特征pitch和v/uv,window/hop size 和larger receptive field对结果的影响。

首先对比合成音质的MOS值,table1中的recording为原始音频,xiaoicesing是上一篇文章小冰的效果,baseline为FastSpeech和parallel wavegan,但没有使用SF-GAN和ML-GAN。HifiSinger为本文提出的各种优化策略,由结果显示,本文的方案得出的MOS值在相同的采样率情况下均是最高。

然后,分别对比每个模块的效果。首先验证SF-GAN的效果,由table2 可知对频带划分不是越多越好,当分5个时候,音质反而下降,本文使用3的效果最好。由图2的语谱图可以看出使用SF-GAN的语谱图跟ground truth最接近。

接下来,对比ML-GAN的效果。由table 3结果可知,单独使用一个长度都没有使用多个长度效果好,图3也展示使用ML-GAN的语谱图更好。

其次,由图4和table4显示使用pitch和v/uv输入特征,都能够提高合成效果。最后,table5和table 6显示不同window/hop size和声码器receptive fields对合成质量的影响。

2.2 数据匮乏

2.2.1 低质数据

2.2.1.1 DeepSinger: Singing Voice Synthesis with Data Mined From the Web

歌唱合成是一项非常有趣的研究,但歌唱合成的训练语料十分昂贵,往往获得较好的训练语料需要花费上百万的成本,因此很少有企业和研究所能够承担此种开销。为了解决数据的问题,本文是首次使用网络爬取的数据进行模型训练,总体效果还算不错,也为很多研究者提供思路。

先来看一下DeepSinger整体的流程(图1所示):1)网上爬取歌曲和相应的歌词;2)使用Spleeter进行歌曲的歌声和伴奏的分离,获取干声;3)歌词和歌声之间的对齐,获取时长信息;4)进行数据筛选,获取较好的训练语料;5)歌唱合成系统的训练;

其中以上的五个步骤,本文主要讲解对齐设计和歌唱合成模型。对齐模型是使用encoder-attention-decoder的ASR模型,具体如图2所示,另外本部分的attention使用guided attention,具体如图3所示。本文通过attention的对齐情况来抽取时长。

本文的歌唱合成模型是在fastspeech系统上进行的修改,为了支持多人多语言的歌唱合成,具体的系统结构如图4所示:该部分的输入为phoneme + pitch + singer infomation (reference encoder)。推理阶段如图5所示,这里不再详细阐述。

本文的实验数据是在中文,粤语和英文歌曲进行的实验,具体的数据信息见table 1所示。接下来将在客观和主观两个方面进行评估。table 2的客观指标显示合成三种语言歌曲在句子级别正确率都差不多大于80%,ASE都小于100ms。table3展示了基频准确率都大于85%,这种效果还是不错的。table 4 是MOS测试,由此可知,合成的音质相比于GT较低,但也可接受。table 5分别展示每个模块的影响,其中添加TTS数据可以很好帮助提高合成效果。table 6显示使用参考音频是否干净的影响效果。table7显示reference encoder的重要性。table8显示出本文提出的DeepSinger使用歌唱语料的效果。

2.2.2 歌声转换


2.2.2.1 Durian-sc: Duration informed attention network based singing voice conversion system

本文的研究方向是把普通的音频转换成歌唱音频。

本文在DurIAN(duration informed attention network)基础上提出了DurIAN-SC (sing conversion),本系统如图2所示主要包括三个部分:encoder, alignment module 和 decoder。其中encoder主要把音素序列转成隐向量。对齐模块则把音素级别根据时长扩展成帧级别的特征。最后,最回归模式的decoder根据对齐模块的输出进行逐帧推理。

该转换主要分为训练和转换阶段。训练阶段如图2所示,把歌唱和普通音频混在一起,然后提取特征RMSE,F0,Specker embedding(该模块是使用8000多人先训练好)和duration sequence。最后把提取的特征输入到DurIAN-SC进行训练。转换阶段如图3所示,提取歌声的RMSE,F0和duration sequence,提取目标说话人的Specker embedding,然后使用训练好的DurIAN-SC进行合成。

比较有意思的是以下公式,该公式是为了处理不同说话人之间f0范围不同,因此做了一个系数进行缩放,这点可以借鉴一下。

本文主要进行主观评测。先对比使用声纹d-vector和look up table对比,table 1显示使用声纹d-vector效果好(这里我想说一句,训练d-vetcor需要大量数据,而且好坏影响合成效果,还不如LUT联合训练)。

接下来对sing conversion进行对比,结果由table2显示,本文提出的系统可以把普通音频转成歌唱。

2.2.3 迁移学习

2.2.3.1 learn2sing target speaker singing voice synthesis by learning from a singing teacher

本文设计了一种只输入歌词和乐谱就可以让普通语音合成歌声的系统,实验验证本方法可行。

       该系统主要包含三个模型(图1所示):Duration model (DM), LF0 prediction model (LF0M)和Acoustic model(AM),其中AM模型使用可domain adversarial training(DAT)进行歌唱类型解耦。另外,训练和推理阶段如图一所示,简单明了,而且每个模型的输入特征如table 1列出。其中声学模型如图2所示的encoder-decoder架构,其decoder为自回归模式(AM就是去掉attention的tacotron,因为已经有duration model了)。当进行推理阶段,先使用乐谱进行音素的duration预测,然后进行LF0的预测,最后设定目标speaker id和sing 的style tag进行声学特征的推理,最后使用声码器合成音频。

首先对比客观的指标,由table 2显示三个指标结果,其实最主要还是主观的听感。table 3的主观MOS测试显示,普通语句student 1和2 可以合成音乐,而且使用DAT网络效果更好,由图3的语谱图也可以看出使用DAT的频谱刻画更清晰。

3 总结

歌唱合成则是让机器唱歌,因此更具有娱乐性。互联网的时代,人机交互更加频繁和智能,歌唱合成则添加了人机交互的趣味性。但相比TTS,歌唱合成的训练语料十分昂贵,这也阻碍大量研究人员的脚步。本文根据是否拥有大量训练数据而采用的不同方案进行分类总结,以供同行参考。

4  引用

【1】Xue H, Yang S, Lei Y, et al. Learn2Sing: Target Speaker Singing Voice Synthesis by learning from a Singing Teacher[J]. arXiv preprint arXiv:2011.08467, 2020.

【2】Zhang L, Yu C, Lu H, et al. Durian-sc: Duration informed attention network based singing voice conversion system[J]. arXiv preprint arXiv:2008.03009, 2020.

【3】Chen J, Tan X, Luan J, et al. HiFiSinger: Towards High-Fidelity Neural Singing Voice Synthesis[J]. arXiv preprint arXiv:2009.01776, 2020.

【4】Lu P, Wu J, Luan J, et al. XiaoiceSing: A High-Quality and Integrated Singing Voice Synthesis System[J]. arXiv preprint arXiv:2006.06261, 2020.

【5】Gu Y, Yin X, Rao Y, et al. ByteSing: A Chinese Singing Voice Synthesis System Using Duration Allocated Encoder-Decoder Acoustic Models and WaveRNN Vocoders[J]. arXiv preprint arXiv:2004.11012, 2020.

【6】Ren Y, Tan X, Qin T, et al. Deepsinger: Singing voice synthesis with data mined from the web[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 1979-1989.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/47485.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何进行音频合并?很简单,只需三步骤

大家有没有经常在短视频上刷到一些歌曲串烧,他们将很多歌曲结合在一起居然毫无违和感,但其实像这样的歌曲合并呀,或者说是音频合并到一块的操作其实是非常简单的,仅需几分钟就能轻松上手,你们也可以像那些短视频的up主…

计算机弹音乐百度百科,电子音乐合成器

电子音乐合成器又简称电子合成器,是由电子设备代替乐队进行演奏和进行自动化编曲的一种电子化设备。用合成器制作声音的方法很多,起先是把若干个正弦波振荡器连在一起,改变各自的频率、振幅,就可以产生不同音色。后来,…

【音乐合成】基于FPGA的音乐合成系统verilog实现

1.软件版本 matlab2013b,quartusii12.1 2.系统FPGA实现 2.1频率选择 音乐的合成主要有几种频率,这里设置如下几组频率,在实际情况下,可以进行扩充。 Fc 261.63; %C Fd 293.66; %D Fe 329.63; %E Ff 349.23; %F Fg 3…

怎么把两个mp3音频合成一个?

怎么把两个mp3音频合成一个?如何合并两个MP3文件为一个音乐文件?两个MP3格式如何合并,两个MP3格式合并方法?这是我最近收到的最多的问题了,而且问这些的多是我们的新手小白,因为专业的人不需要问&#xff0…

java 合并两个音频_如何利用音乐合成软件将多段音频合并为一段?快速合并音频的方法...

在之前的文章中小编介绍了使用音乐剪切工具在一个音频文件中分割出多个音频的片段的方法,然后有小伙伴就问如何利用音乐合成软件将多段音频合并为一段?其实合并音频的方法和分割音频的方法大体上是相同的,如果还有不会编辑音频的小伙伴可以跟…

计算机合成音乐的交换标准,音乐合成器

简介 音乐合成器(Musical Synthesizer) 用来产生并修改正弦波形并叠加,然后通过声音产生器和扬声器发出特定的声音。泛音的合成决定声音音质。 C机声卡上的音乐合成器能合成音乐,可模仿许多乐器的演奏效果,音乐合成器的功能是将MIDI消息转换为…

音乐合成软件哪个好用?快把这些软件收好

小伙伴们平时有听过一些由很多歌曲串在一起的歌吗?一般这种歌我们都称为歌曲串烧,有些歌曲串的好的话,会给人在听感上别有一番体验。听到这些歌后,会不会激发起你们把自己喜欢的歌串在一起的想法呢?其实歌曲串烧很容易…

不懂怎么写辞职报告的看这里,教你们一个办法

今天,我有一个朋友告诉我说,他要辞职了,要写辞职报告,不懂怎么去措辞。然后我突然就想到一个办法,给他看之后,他直呼“牛x”!!! 所以,辞职报告不知道怎么写的…

GPT-3杀入漫威宇宙!二次元小伙用它生成蜘蛛侠续集

转自:新智元 既然GPT-3能循理路精炼总结语料文本,写诗可以、写rap歌词可以,那么照猫画虎写小剧本,也不是不可以的……吧? 其实真是可以的,而且有人已经如此操作了。 AI新玩法:生成蜘蛛侠电影剧本…

马斯克点赞!DeepMind神AI编剧,一句话生成几万字剧本

视学算法报道 编辑:David 昕朋 【导读】当够了画家、剪辑和在线客服,人工智能的接下来要征服的,是编剧。DeepMind推出的AI写作模型Dramatron,只需一句故事梗概,就能创作万字剧本! 你有灵光乍现的时刻吗&a…

景区旅游剧本杀体验打卡小程序开发

景区旅游剧本杀体验打卡软件的主要功能包括: 景区介绍:提供详细的景区介绍和地图信息,使用户能够更好地了解景区的背景、特色和各个景点的位置。 任务列表:提供任务列表和任务说明,让用户能够了解每个任务的目…

旅游景区AR剧本杀打卡软件

旅游景区AR剧本杀打卡软件的主要功能包括: 景区介绍:提供详细的景区介绍和地图信息,使用户能够更好地了解景区的背景、特色和各个景点的位置。 AR技术:使用AR技术实现虚拟现实场景和任务的展示,增强用户的游戏…

浅谈数字图书馆智能推荐系统的发展趋势

利用citespace对近十年来的相关中英文文献关键词进行突现分析,结果分别如下图所示: (y[0,1]0.6, Minimum Duration1) (y[0,1]0.8, Minimum Duration1) 关键词突现是指在短时间内发表文章中出现频次极高的关键词,从关键词突现开始至突现结束形…

chatgpt赋能Python-python_chm

Python chm:为你的Python学习之旅提供便利 如果你正在学习Python编程语言,你可能会遇到需要参考文档的情况,这时候,Python chm可能就是你的救星。Python chm是Python的 Windows 帮助文件格式,通常用于Windows上的Pyth…

chatgpt赋能python:Python实现数字颠倒技巧

Python实现数字颠倒技巧 在日常的程序开发中,数字颠倒(reverse integer)是一个常见而又实用的技巧,特别是在数据处理和算法设计方面。Python语言作为一门优秀的编程语言,自然也提供了多种实现数字颠倒的方案。本文主要…

chatgpt赋能Python-python_1_4

Python 1%4:提高Python编程效率的秘诀 Python是一种高级编程语言,因其简单易学、充满灵活性和适用性被广泛应用于各种领域。但是随着Python项目的复杂度增加,代码变得越来越长、难以维护,这会极大地影响开发效率。那么&#xff0…

chatgpt赋能Python-pythontutor怎么用

PythonTutor是什么?方法和用途 什么是PythonTutor? PythonTutor是一种在线程序可视化工具,旨在帮助初学者和专业人士更好地理解Python程序的工作原理。该工具通过交互式地显示变量、堆栈和函数的值来展示Python代码的执行过程。 PythonTut…

chatgpt赋能Python-pythonmd5校验

Python MD5校验 在数字信息时代,数据安全显然是非常重要的。在传输和存储数据的过程中,我们通常会使用MD5校验来验证数据的完整性和准确性。Python是一种非常流行的编程语言,因其简单易用、灵活性强、扩展性好而备受欢迎。 在本文中&#x…

chatgpt赋能python:Python入侵摄像头:实现简单且危险

Python 入侵摄像头:实现简单且危险 Python 作为一个强大的编程语言,可以实现很多有趣的应用。其中之一就是入侵摄像头。本文将介绍如何使用 Python 实现入侵摄像头,并探讨相关的危险性和安全性意识。 Python 入侵摄像头:如何实现…

10 年 Android 开发者突遭谷歌封号:“从此放弃,并决定开源所有应用!”

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 今日在 Reddit 上,一位业余开发者 StoryOfDavid(以下简称为 David)的帖子吸引了不少人注意:“从事 Android 开发近 10 年,现在我决定放弃了…