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