声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记。文章中难免存在错误的地方,还望大家海涵。平时搜集一些资料,方便查阅学习:TTS 论文列表
低调奋进
TTS 开源数据
低调奋进
。如转载,请标明出处。欢迎关注微信公众号:低调奋进
1 研究背景
2 研究情况
2.1 数据充足
2.1.1 系统架构设计
2.1.2 高采样率数据
2.2 数据匮乏
2.2.1 低质数据
2.2.2 歌声转换
2.2.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.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对结果的影响。
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.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进行声学特征的推理,最后使用声码器合成音频。
歌唱合成则是让机器唱歌,因此更具有娱乐性。互联网的时代,人机交互更加频繁和智能,歌唱合成则添加了人机交互的趣味性。但相比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.
声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记。文章中难免存在错误的地方,还望大家海涵。平时搜集一些资料,方便查阅学习:TTS 论文列表 http://yqli.tech/page/tts_paper.html TTS 开源数据 http://yqli.tech/page/data.html。如转载,请标明出处。欢迎关注微信公众号:低调奋进目录1 研究背景2研究情况2.1 数据充足2.1.1系统架构设计2.1.2高采样率数据2.2数据匮乏...
pip install midi2
voice
您可以使用它使用python -m运行已安装的模块。 它具有五个参数,lyrics_file,midi_file,歌手性别(可选),速度(可选)和目标文件夹(可选)。
在检查midi和文本示例。
# Print help
python3 -m midi2
voice
-h
# Generate the
voice
given a midi file and a text file with the lyrics
python -m midi2
voice
-l shallow.txt -m shallow.
INTER
SPEECH
2019(最佳学生论文奖,口头报告)
在本文中,我们提出了一种使用以下三种新颖方法从歌词和符号旋律开始的端到端韩国唱歌
语音合成
系统:1)语音增强掩蔽,2)文本和音高的局部调节到超分辨率网络,以及3)有条件的对抗训练。 拟议的系统由两个主要模块组成; mel
合成
网络根据给定的
输入
信息生成mel频谱图,超分辨率网络将生成的mel频谱图上采样为线性频谱图。 在mel
合成
网络中,仅应用语音增强蒙版以仅从
输入
文本生成隐式共振峰蒙版,从而可以更精确地控制
歌声
。 此外,我们证明了另外两种提议的方法-文本和音高的局部调节以及有条件的对抗训练-对于在超分辨率过程中逼真的人类唱
歌声
音的生成至关重要。 最后,进行了定量和定性评估,确认了所有提议方法的有效性。
项目页面:
输入
mu
si
cxml file,
输出
音频。
nnsvs
https://github.com/r9y9/nnsvs/tree/master/egs/kiritan_
si
nging
.
运行时间5分钟
这个是demo版本,入门
歌声
合成
学习。
下载 mu
si
c xml 文件
$ git clone -q https://github.com/r9y9/kiritan_
si
nging
Tacotron模型是首个真正意义上的端到端
TTS
深度神经网络模型。与传统
语音合成
相比,它没有复杂的语音学和声学特征模块,而是仅用配对数据集对神经网络进行训练,因此简化了很多流程。然后Tacotron使用Griffin-Lim算法对网络预测的幅度谱进行相位估计,再接一个短时傅里叶(Short-Time Fourier Transform,STFT)逆变换,实现端到端
语音合成
的功能。Tacotron的总体架构如下图:参考资料:
Tacotron以及Tacotron2详解
语音合成
...
芝加哥大学
这是使用递归神经网络(RNN)开发的
歌声
分离工具。 它可以将歌手的声音和背景音乐与原始歌曲区分开。 由于分离尚不完善,因此它仍处于开发阶段。 请检查演示的性能。
的Python 3.5
脾气暴躁的1.14
TensorFlow 1.8
RarFile 3.0
进度栏2 3.37.1
LibROSA 0.6
Matplotlib 2.1.1
├── demo
├── download.py
├── evaluate.py
├── figures
├── LICENSE.md
├── main.py
├── model
├── model.py
├── preprocess.py
├── README.md
├── songs
├── statistics
├── train.py
└── utils.py
如果您没有诗歌,请按照进行
运行poetry install以设置虚拟环境
运行poetry shell以在虚拟环境中生成新的外壳程序。 现在,Python将看到虚拟环境中安装的所有软件包,而不是系统上全局安装的软件包。
要退出该shell,只需对任何shelled- exit或ctrl+d 。
在虚拟环境中,运行guild run <operation>运行一部分管道。 您可以通过运行guild help找到可用操作的列表。
然后,该操作将在专门为其创建的isloated目录中运行。 要查看操作
输出
,请使用guild runs run列出您已运行的所有操作,然后使用guild open <operation>打开文件浏览器。
您可以多次运
欢迎关注微信公众号:低调奋进
learn2
si
ng target speaker
si
nging
voice
synthesis
by learning from a
si
nging
teacher
本文是西北工业大学语音和语言处理小组和北京标贝科技有限公司发表的文章,主要是使用普通语音来学习
歌唱
合成
,具体的文章链接
https://arxiv.org/pdf
7. 最后,使用MATLAB 2016的函数进行滤波器的性能评估和仿真。
使用MATLAB 2016的coupling_matrix_filter_
synthesis
代码可以实现上述步骤。代码中包含了计算耦合矩阵、生成滤波器阵列、计算传输函数和优化频率响应等功能模块。用户只需
输入
设计要求和基本参数,即可得到滤波器的性能和响应。这个代码可以大幅缩短滤波器设计和优化的时间,并提供了便捷的仿真和测试环境。
总之,MATLAB 2016的coupling_matrix_filter_
synthesis
代码使得耦合矩阵法
合成
微波滤波器的设计和仿真变得更加快速和高效。
### 回答2:
coupling_matrix_filter_
synthesis
是一个用于耦合矩阵法
合成
微波滤波器的Matlab2016代码。耦合矩阵法是一种用于设计微波滤波器的方法,其基本原理是通过调整耦合矩阵的元素来实现频率响应的设计要求。
MATLAB代码通过提供一组滤波器设计参数和目标响应,自动计算并生成耦合矩阵,进而
合成
满足指定要求的微波滤波器。这个过程主要包括以下步骤:
1. 定义目标响应:根据特定的滤波器设计要求,如截止频率、带宽和通带/阻带衰减等,定义目标响应。
2. 类型选择:根据设计需求和滤波器类型(如带通、带阻、低通、高通),选择合适的滤波器类型。
3. 确定滤波器阶数和型号:根据设计要求和性能指标,选择适当的滤波器阶数和型号。
4. 计算耦合矩阵:使用MATLAB代码,通过
输入
设计参数和目标响应进行计算,获得对应的耦合矩阵。
5. 获得滤波器元件值:根据耦合矩阵算法,计算得到滤波器元件的理论值。
6. 优化和调整:根据实际电路布局、组件选型和制造工艺等考虑因素,对滤波器进行优化和调整,以实现更好的性能和适应特定应用的要求。
通过coupling_matrix_filter_
synthesis
代码,用户能够通过
输入
设计参数和目标响应,获得生成的耦合矩阵,并用于
合成
满足特定要求的微波滤波器。这个代码在微波器件设计和通信系统等领域具有重要的应用。
### 回答3:
耦合矩阵法是一种用于
合成
微波滤波器的方法。它通过设计和优化耦合矩阵来满足滤波器的性能要求。
MATLAB 2016的coupling_matrix_filter_
synthesis
是一个用于实现耦合矩阵法
合成
微波滤波器的代码。它可以帮助工程师们快速准确地设计出满足特定要求的滤波器。
这个代码的主要功能是基于耦合矩阵法中的理论原理,根据用户
输入
的要求参数,通过计算和优化得到滤波器的耦合矩阵。通过调用MATLAB中的优化算法和矩阵计算函数,该代码可以自动进行优化过程,从而得到最佳的耦合矩阵。
使用这个代码,用户首先需要确定滤波器的需求,例如带宽、中心频率等。然后,他们需要在MATLAB环境中
输入
这些要求参数,并运行代码。运行过程中,代码将根据用户
输入
的参数进行计算和优化,得到最佳的耦合矩阵。最终,用户可以得到滤波器的设计结果,包括耦合矩阵和其他相关参数。
耦合矩阵法
合成
微波滤波器是一种有效的设计方法,能够满足复杂的滤波器性能要求。MATLAB 2016的coupling_matrix_filter_
synthesis
代码提供了一个方便、快速和准确的工具,帮助工程师们设计和优化滤波器,提高滤波器的性能和可靠性。
语音合成论文优选:Multi-speaker Multi-style Text-to-speech Synthesis With Single-speaker Single-style Trainin
我叫永强:
语音合成论文优选:Multi-speaker Multi-style Text-to-speech Synthesis With Single-speaker Single-style Trainin
Isshang~: