Tacotron


传统的基于语音参数的合成方法。

3个模块

文本分析:从原始的文本输入中,识别出来这段文本中的每一个字中的重音,节奏,语调。

结构:对应听懂,三级停顿两级重音,一级,二级,语调。

声学模型:从文本中抽取文本特征中,输入到声学模型中预测每一帧的文本所对应的声学的特征。基于TTL的模型。

声码器:得到每一帧的声学特征映射到语音波形中,

 

 

 

基于信号处理声码器

基于神经网络的声码器

神经网络和传统方法相结合 ,神经网络中预测一部分

--------------------------------------------------------------------------------------------

前两模块合并为一个特征,直接从文本输入映射到声学特征。

前端端到端: 

Tacotron 17 年10月   Taxotron2 18 月3

后端端到端: 基于WaveNet 预测得到的声学参数,作为条件,语音波形。

------------------------------------------------------------------

Tacotron:

1.基于注意力机制的编码器-解码器结构

输入字符序列,输出:整个语音带出来美而浦;

编码器:Pre-Net:连接层,得到每一个字母它所对应包含上下文信息高层的表征

解码器:0得到美而浦的信息作为下一个信息的输入,是一个自回归的模型,所有梅尔谱的一个信息。

 

解码器优化:解码器帧长设置的大一些,输出一个多帧的信息,对解码长更长缩短,对注意力机制有一个有效的学习

2.后处理模型

线性参数,使用CBGH模块。在映射语音波形

直接从梅尔谱映射到语音波形,直接用信号处理的方式会失去很多的信息。

3.声码器

使用线性GL声码器,得到最后的语音波形

补充:

先线性-》梅尔谱   ,产生波形,否则会很困难

CBHG:一维卷积滤波器组。

{提取出一些信息,设置她的核。

加速模型的收敛。

捕获一个上下文的关系,从而得到一个更有效的文本映射

}

 

 

重构相位时会使一些高频信息得到损伤,所以有些信息不是很清晰。会影响整体结构的一个音质。

---------------------------------------------------

Tacotron2

缺点:

1...acotron 合成时会存在尾音,他可能并不能恰当的合成。

2.会受到声码器的影响,音色会降低。提出WaveNet ,明显提升的效果

3.会存在漏音问题 ;会缓解漏音问题

---------------------------------------------------------

模块1,基于注意力机制的编码器-解码器结构

模块2.基于Wavenet的声码器模块

-----------------------------------------------------------------------

第一部分:

1.。。从原始的文本输入中预测出它所对应的梅尔谱信息。对于音素的提升不是很明显,但是会加速模型实际合成预测的一个过程

2.。将原始Tacotron中的软对齐机制,漏音的问题,替换为局部敏感注意力机制。可以有效减少漏音发生的概率、

局部敏感注意力机制:在计算下一个下一个对齐信息的时候会考虑上一个对齐信息,将其作为它额外的输入。希望最后的对齐影响曲线是一个单调的。 t->m  t+1->m或m+1

3.。在预测每一帧的美而浦信息时,我同时预测到底是否应该停止。如果应该停止我就给1,不应该停止我都给0.最测的损失和真实的进行对比,然后再做一个优化

美而浦:有助于整体的音质。对模型一个优化。

4.。直接从梅尔谱映射到语音波形

--------------------------------------------------

WaveNet是一个自回归的深度生成模型,可以根据一个序列的前t-1个点预测第t个点结果,因此可以用来预测语音中的采样点数值。

就是当Xn是n时刻采样点,没一个因子项表示用n时刻以前的历史信息作为输入预测当前采样点的概率分析。

迭代回归的一只策略;

主要构成单元是:扩张因果卷积网络。

每一个卷积层都对前一层进行卷积,卷积核越大,层数越多,时域上的感知能力越强,感知范围越大,在生成过程中,每生成一个点,把该点放入到输入层最后一个点继续迭代生成即可。

--------------------------------------------------------------------------------------------------

 

1.情感语音合成:

2.Transfomer TTS 改进版

3.需要经过一定的处理,在合成前段时间,然后在放前5个字是处理后面的

4.说话人的信息:基于文本编码的后面,编码器的后面。

5.输入汉语拼音,以及声调进行合成。转换成拼音或者音素,拼音音素最多几百个,但是汉字需要上万个

 ---------------------------------------------------------------------------------------------------------------------------

我们组的项目是:端到端的语音合成;

 主要是围绕目前工业界常用的基于TacotronvWavenet 合成框架来进行;

我们先看一下传统的基于参数的语音合成方法,它主要三个模块,第一个是。。第二个是。。第三个是。。

对于文本分析模块,我们从原始的文本输入中识别出来文本中的每一个字所对应的的节奏,重音,以及语调。什么叫节奏,往往指的是节奏重音语调。

什么叫节奏呢?在这里我们考虑的主要是停顿,一般是三级停顿:韵律词,韵律短语,以及语调的短语三个级别的停顿。

重音的话,就是我预测我这个词到底应不应该发重音,他常常包含两级重音,一个一级重音,一个二级重音。

语调主要就是我们日常说的这个字应该发什么调,一般是一声二声三声四声还有一个轻音,一共是五种语调。

从文本中抽取文本特征之后,我们输入到声学模型中来预测每一帧的文本所对应的一个声学的特征。常用的是基于一个FTM的一个模型。

声码器的话就是将我们得到的每一帧映射到我们最后的一个语音波形中去,常常用的声码器包含三种:第一种是基于信号处理的声码器:第二种是基于神经网络的声码器。第三种是把神经网络与传统方法相结合,只用神经网络来预测中间的某一部分。

今天我们主要讲的是端到端的语音合成。为什么叫端到端的语音合成呢,因为他没有包括这三个模块。它是把文本分析和声学模型这两个模块合并为一个模块。直接从文本的输入直接映射的声学的一个特征。目前提出的主流的框架是Tacotron 以及他的改进版Tacotron2 。第二个是声码器部分。这里主要介绍的是一个基于WaveNet的一个声码器。它能直接与预测的得到的声学参数作为他的条件,直接到一个语音波形的映射。

首先我们简单的介绍一下Tacotron 。它包含三个模块,第一个模块是基于注意力机制的一个编解码模块。第二个模块是后车处理模块,第三个模块是声码器模块。我们会逐一对各个模块简单的介绍一下。

 首先是第一个模块,基于注意力机制的编解码模块。我们可以看出他们输入的是一个字符序列。每一个空代表一个字符的输入。他的输出的话是一个整个语音它所对应的梅尔谱。这个整体的基于注意力的编解码模块又会分为三部分。第一部分是编码器,第二部分是解码器。第三部分是注意力机制。我们先看一下这个编码器,刚才提到比如说我们这个文本开始输入的时候,对每一个字母进行输入,先经过一个Pre-Net,Pre-Net就是包含一个两层的全连接层,提高泛化能力得到一个映射。再用一格CBHG模块。目的就是为了每一个字母它所对应的一个包含上下文信息的一个高层的一个表征。我们使用这个绿点来表示。

第二个模块是解码器模块,我们在训练的过程中一般输入的时候原始的音,这是第一帧所对应的梅尔谱,这是第二帧所对应的梅尔谱,比如说这是在这里输入,我们预测得到第一帧的梅尔谱信息,这个信息得到后他又作为下一时刻的输入,在预测她的第二帧所对应的梅尔谱信息,又作为下一时刻的输入,所以这相当于一个自回归的模型。这里就是一个所有梅尔谱的预测结果。当我们做实践的时候,我们会发现,我这个文本输入比如说是包含三四个字母,但是转语音的话可能会有一秒的时间,一秒的话如果我按照正常的采样,一个帧长一个帧长来计算的话,可能会有两百帧左右,怎样从这个200帧到这个3帧来映射对于这个注意力机制是一个很难的问题。因此我们常常需要对这个解码器进行一定的优化。第一个优化就是说,我们在对语音进行分帧的时候,我的帧长设置的大一点,这样我最后解码的长度会有一定的缩短。第二个就是说,在输出的时候,我不是输出单帧的梅尔谱信息,而是输出一个多帧的梅尔谱信息,比如说r=3就是说我一次输出3帧的梅尔谱信息。这样地话我对解码路长又进一步地缩短。所以说这些操作的目的都是为了使注意力机制能够得到有效的一个学习

后面是第二个模块,第二个模块就是说我这里得到一个预测的梅尔谱之后,我先把他转成一个线性的谱参数,我这里用到的一个是一个CBHG的模块,这两个CBHG模块是一样的,只是参数不一样而已。然后我再把这个线性用GL声码器直接*过它的相位最后得到一个语音的波形,这里就涉及到一个问题,

  为什么我不直接从梅尔谱直接映射到语音波形呢,如果我直接从梅尔谱映射到语音波形也是可以的,但是直接用信号处理方式的话会损失很多的信息。但是线型谱到语音波形的映射会变的更加直观。因为如果我们做语音分析的时候我们知道,如果想提这个梅尔谱参数,一般都是把波形转换成线型谱,然后在转成梅尔谱,他会包含两个步骤,如果直接从梅尔谱到语音波形映射的话会变得比较困难。因此他增加了一个CBHG模块,先映射成线型谱,再2转换成波形。

-------------------------------------------------

CBHG模块:

简单介绍一下不论是编码器还是解码器都设计到一个模块 CBHG模块:

1-D convolutional bank它是一个一维卷积滤波器组,比如说我输入很多的字符,然后通过这个卷积滤波器组可以提取出一些信息,因为我可以设置她的核,她的核长度是不一样的;

第二个模块是一个 highway network (高速公路网络) 它的作用都是为了加速这个模型的收敛。

B-GRU (双向门控制单元) 这个模块的目的是为了能够捕获一个长时的一个上下文的关系,从而完成更有效的一个文本的映射。

根据这个步骤做下来的音质不是很高,主要是受到了GL声码器的影响。声码器在重构相位的时候会导致一部分的高频信息得到了一定的损伤,所以在高频的结构体上不是那么的清晰,所以会影响一部分的机制。因此在上面的限制下所以提出了Tacotron 的改进版Tacotron2.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM