目前,基于神經(jīng)網(wǎng)絡(luò)的端到端文本到語(yǔ)音合成技術(shù)發(fā)展迅速,但仍面臨不少問(wèn)題——合成速度慢、穩(wěn)定性差、可控性缺乏等。為此,微軟亞洲研究院機(jī)器學(xué)習(xí)組和微軟(亞洲)互聯(lián)網(wǎng)工程院語(yǔ)音團(tuán)隊(duì)聯(lián)合浙江大學(xué)提出了一種基于Transformer的新型前饋網(wǎng)絡(luò)FastSpeech,兼具快速、魯棒、可控等特點(diǎn)。與自回歸的Transformer TTS相比,F(xiàn)astSpeech將梅爾譜的生成速度提高了近270倍,將端到端語(yǔ)音合成速度提高了38倍,單GPU上的語(yǔ)音合成速度達(dá)到了實(shí)時(shí)語(yǔ)音速度的30倍。
近年來(lái),基于神經(jīng)網(wǎng)絡(luò)的端到端文本到語(yǔ)音合成(Text-to-Speech,TTS)技術(shù)取了快速發(fā)展。與傳統(tǒng)語(yǔ)音合成中的拼接法(concatenative synthesis)和參數(shù)法(statistical parametric synthesis)相比,端到端語(yǔ)音合成技術(shù)生成的聲音通常具有更好的聲音自然度。但是,這種技術(shù)依然面臨以下幾個(gè)問(wèn)題:
合成語(yǔ)音的速度較慢:端到端模型通常以自回歸(Autoregressive)的方式生成梅爾譜(Mel-Spectrogram),再通過(guò)聲碼器(Vocoder)合成語(yǔ)音,而一段語(yǔ)音的梅爾譜通常能到幾百上千幀,導(dǎo)致合成速度較慢;
合成的語(yǔ)音穩(wěn)定性較差:端到端模型通常采用編碼器-注意力-解碼器(Encoder-Attention-Decoder)機(jī)制進(jìn)行自回歸生成,由于序列生成的錯(cuò)誤傳播(Error Propagation)以及注意力對(duì)齊不準(zhǔn),導(dǎo)致出現(xiàn)重復(fù)吐詞或漏詞現(xiàn)象;
缺乏可控性:自回歸的神經(jīng)網(wǎng)絡(luò)模型自動(dòng)決定一條語(yǔ)音的生成長(zhǎng)度,無(wú)法顯式地控制生成語(yǔ)音的語(yǔ)速或者韻律停頓等。
為了解決上述的一系列問(wèn)題,微軟亞洲研究院機(jī)器學(xué)習(xí)組和微軟(亞洲)互聯(lián)網(wǎng)工程院語(yǔ)音團(tuán)隊(duì)聯(lián)合浙江大學(xué)提出了一種基于Transformer的新型前饋網(wǎng)絡(luò)FastSpeech,可以并行、穩(wěn)定、可控地生成高質(zhì)量的梅爾譜,再借助聲碼器并行地合成聲音。
在LJSpeech數(shù)據(jù)集上的實(shí)驗(yàn)表明,F(xiàn)astSpeech除了在語(yǔ)音質(zhì)量方面可以與傳統(tǒng)端到端自回歸模型(如Tacotron2和Transformer TTS)相媲美,還具有以下幾點(diǎn)優(yōu)勢(shì):
快速:與自回歸的Transformer TTS相比,F(xiàn)astSpeech將梅爾譜的生成速度提高了近270倍,將端到端語(yǔ)音合成速度提高了近38倍,單GPU上的語(yǔ)音合成速度是實(shí)時(shí)語(yǔ)音速度的30倍;
魯棒:幾乎完全消除了合成語(yǔ)音中重復(fù)吐詞和漏詞問(wèn)題;
可控:可以平滑地調(diào)整語(yǔ)音速度和控制停頓以部分提升韻律。
模型框架
圖1. FastSpeech網(wǎng)絡(luò)架構(gòu)
前饋Transformer架構(gòu)
FastSpeech采用一種新型的前饋Transformer網(wǎng)絡(luò)架構(gòu),拋棄掉傳統(tǒng)的編碼器-注意力-解碼器機(jī)制,如圖1(a)所示。其主要模塊采用Transformer的自注意力機(jī)制(Self-Attention)以及一維卷積網(wǎng)絡(luò)(1D Convolution),我們將其稱之為FFT塊(Feed-Forward Transformer Block, FFT Block),如圖1(b)所示。前饋Transformer堆疊多個(gè)FFT塊,用于音素(Phoneme)到梅爾譜變換,音素側(cè)和梅爾譜側(cè)各有N個(gè)FFT塊。特別注意的是,中間有一個(gè)長(zhǎng)度調(diào)節(jié)器(Length Regulator),用來(lái)調(diào)節(jié)音素序列和梅爾譜序列之間的長(zhǎng)度差異。
長(zhǎng)度調(diào)節(jié)器
長(zhǎng)度調(diào)節(jié)器如圖1(c)所示。由于音素序列的長(zhǎng)度通常小于其梅爾譜序列的長(zhǎng)度,即每個(gè)音素對(duì)應(yīng)于幾個(gè)梅爾譜序列,我們將每個(gè)音素對(duì)齊的梅爾譜序列的長(zhǎng)度稱為音素持續(xù)時(shí)間。長(zhǎng)度調(diào)節(jié)器通過(guò)每個(gè)音素的持續(xù)時(shí)間將音素序列平鋪以匹配到梅爾譜序列的長(zhǎng)度。我們可以等比例地延長(zhǎng)或者縮短音素的持續(xù)時(shí)間,用于聲音速度的控制。此外,我們還可以通過(guò)調(diào)整句子中空格字符的持續(xù)時(shí)間來(lái)控制單詞之間的停頓,從而調(diào)整聲音的部分韻律。
音素持續(xù)時(shí)間預(yù)測(cè)器
音素持續(xù)時(shí)間預(yù)測(cè)對(duì)長(zhǎng)度調(diào)節(jié)器來(lái)說(shuō)非常重要。如圖1(d)所示,音素持續(xù)時(shí)間預(yù)測(cè)器包括一個(gè)2層一維卷積網(wǎng)絡(luò),以及疊加一個(gè)線性層輸出標(biāo)量用以預(yù)測(cè)音素的持續(xù)時(shí)間。這個(gè)模塊堆疊在音素側(cè)的FFT塊之上,使用均方誤差(MSE)作為損失函數(shù),與FastSpeech模型協(xié)同訓(xùn)練。我們的音素持續(xù)時(shí)間的真實(shí)標(biāo)簽信息是從一個(gè)額外的基于自回歸的Transformer TTS模型中抽取encoder-decoder之間的注意力對(duì)齊信息得到的,詳細(xì)信息可查閱文末論文。
實(shí)驗(yàn)評(píng)估
為了驗(yàn)證FastSpeech模型的有效性,我們從聲音質(zhì)量、生成速度、魯棒性和可控制性幾個(gè)方面來(lái)進(jìn)行了評(píng)估。
聲音質(zhì)量
我們選用LJSpeech數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),LJSpeech包含13100個(gè)英語(yǔ)音頻片段和相應(yīng)的文本,音頻的總長(zhǎng)度約為24小時(shí)。我們將數(shù)據(jù)集分成3組:300個(gè)樣本作為驗(yàn)證集,300個(gè)樣本作為測(cè)試集,剩下的12500個(gè)樣本用來(lái)訓(xùn)練。
我們對(duì)測(cè)試樣本作了MOS測(cè)試,每個(gè)樣本至少被20個(gè)英語(yǔ)母語(yǔ)評(píng)測(cè)者評(píng)測(cè)。MOS指標(biāo)用來(lái)衡量聲音接近人聲的自然度和音質(zhì)。我們將FastSpeech方法與以下方法進(jìn)行對(duì)比:1) GT, 真實(shí)音頻數(shù)據(jù);2) GT (Mel + WaveGlow), 用WaveGlow作為聲碼器將真實(shí)梅爾譜轉(zhuǎn)換得到的音頻;3) Tacotron 2 (Mel + WaveGlow);4) Transformer TTS (Mel + WaveGlow);5) Merlin (WORLD), 一種常用的參數(shù)法語(yǔ)音合成系統(tǒng),并且采用WORLD作為聲碼器。
從表1中可以看出,我們的音質(zhì)幾乎可以與自回歸的Transformer TTS和Tacotron 2相媲美。
FastSpeech合成的聲音Demo:
文字:“The result of the recommendation of the committee of 1862 was the Prison Act of 1865”
合成速度
我們比較FastSpeech與具有近似參數(shù)量的Transformer TTS的語(yǔ)音合成速度。從表2可以看出,在梅爾譜的生成速度上,F(xiàn)astSpeech比自回歸的Transformer TTS提速將近270倍;在端到端(合成語(yǔ)音)的生成速度上,F(xiàn)astSpeech比自回歸的Transformer TTS提速將近38倍。FastSpeech平均合成一條語(yǔ)音的時(shí)間為0.18s,由于我們的語(yǔ)音平均時(shí)長(zhǎng)為6.2s,我們的模型在單GPU上的語(yǔ)音合成速度是實(shí)時(shí)語(yǔ)音速度的30倍(6.2/0.18)。
圖2展示了測(cè)試集上生成語(yǔ)音的耗時(shí)和生成的梅爾譜長(zhǎng)度(梅爾譜長(zhǎng)度與語(yǔ)音長(zhǎng)度成正比)的可視化關(guān)系圖??梢钥闯觯S著生成語(yǔ)音長(zhǎng)度的增大,F(xiàn)astSpeech的生成耗時(shí)并沒(méi)有發(fā)生較大變化,而Transformer TTS的速度對(duì)長(zhǎng)度非常敏感。這也表明我們的方法非常有效地利用了GPU的并行性實(shí)現(xiàn)了加速。
圖2. 生成語(yǔ)音的耗時(shí)與生成的梅爾譜長(zhǎng)度的可視化關(guān)系圖
魯棒性
自回歸模型中的編碼器-解碼器注意力機(jī)制可能導(dǎo)致音素和梅爾譜之間的錯(cuò)誤對(duì)齊,進(jìn)而導(dǎo)致生成的語(yǔ)音出現(xiàn)重復(fù)吐詞或漏詞。為了評(píng)估FastSpeech的魯棒性,我們選擇微軟(亞洲)互聯(lián)網(wǎng)工程院語(yǔ)音團(tuán)隊(duì)產(chǎn)品線上使用的50個(gè)較難的文本對(duì)FastSpeech和基準(zhǔn)模型Transformer TTS魯棒性進(jìn)行測(cè)試。從下表可以看出,Transformer TTS的句級(jí)錯(cuò)誤率為34%,而FastSpeech幾乎可以完全消除重復(fù)吐詞和漏詞。
語(yǔ)速調(diào)節(jié)
FastSpeech可以通過(guò)長(zhǎng)度調(diào)節(jié)器很方便地調(diào)節(jié)音頻的語(yǔ)速。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),從0.5x到1.5x變速,F(xiàn)astSpeech生成的語(yǔ)音清晰且不失真。
消融對(duì)比實(shí)驗(yàn)
我們也比較了FastSpeech中一些重要模塊和訓(xùn)練方法(包括FFT中的一維卷積、序列級(jí)別的知識(shí)蒸餾技術(shù)和參數(shù)初始化)對(duì)生成音質(zhì)效果的影響,通過(guò)CMOS的結(jié)果來(lái)衡量影響程度。由下表可以看出,這些模塊和方法確實(shí)有助于我們模型效果的提升。
未來(lái),我們將繼續(xù)提升FastSpeech模型在生成音質(zhì)上的表現(xiàn),并且將會(huì)把該模型應(yīng)用到其它語(yǔ)言(例如中文)、多說(shuō)話人和低資源場(chǎng)景中。我們還會(huì)嘗試將FastSpeech與并行神經(jīng)聲碼器結(jié)合在一起訓(xùn)練,形成一個(gè)完全端到端訓(xùn)練的語(yǔ)音到文本并行架構(gòu)。
-
微軟
+關(guān)注
關(guān)注
4文章
6537瀏覽量
103818 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11040瀏覽量
102449 -
語(yǔ)音合成系統(tǒng)
+關(guān)注
關(guān)注
0文章
3瀏覽量
6351
原文標(biāo)題:速度提升270倍!微軟和浙大聯(lián)合推出全新語(yǔ)音合成系統(tǒng)FastSpeech
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論