為了合成讓人類聽懂的語音,機器做了哪些“深度學習”?
深度學習在2006年開始嶄露頭腳后,近幾年取得了飛速的發展,無論是學術研究還是企業應用均呈現出指數級增長的趨勢;伴隨著這項技術的不斷成熟,深度學習在智能語音領域率先發力,取得一系列成功的應用。
例如,一。音色的定制化,需要跟蹤錄大量的音庫,重新訓練一個模型;二。個性化表示方法的定制化,KUKA機器人示教器維修,可以錄一些數據,通過深度學習訓練模型,自適應的方法來實現。
深度學習在統計參數語音合成中的應用
語音合成主要采用波形拼接合成和統計參數合成兩種方式。波形拼接語音合成需要有足夠的高質量發音人錄音才能夠合成高質量的語音,它是商業產品中最常用的語音合成技術。統計參數語音合成雖然整體合成質量略低,但是在小規模語料、低占用資源的情況下,優勢更為明顯。此外,混合語音合成聯合了波形拼接合成和統計參數合成的優勢,選音方法類似于傳統的波形拼接方法,它利用參數合成方法來指導選音;接下來重點介紹目前廣泛使用的語音合成方法:
(1)傳統的基于DNN/LSTM的合成
傳統的基于HMM統計參數的語音合成是在訓練過程中建立文本參數與聲學參數之間的映射模型,通過高斯混合模型描述每個建模單元。在建模過程中有三個環節會導致語音音質下降,第一是決策樹的聚類,第二是聲碼器,第三是參數生成算法。針對決策樹聚類問題,可以通過深層神經網絡建立文本特征和聲學特征之間的映射關系,替代傳統的淺層模型,提高模型精度;比較典型的深層神經網絡模型結構包括深層置信神經網絡和長短時記憶遞歸神經網絡;后者具有更強的序列學習能力,采用BLSTM-RNN建模時,還可以跳過參數生成算法直接預測語音參數,最后通過聲碼器就可以合成語音;總的來說,利用深層神經網絡強大的非線性建模能力,在一定程度上提升了語音合成系統的性能,但是并沒有跳出原有的語音合成系統框架。
(2)基于WaveNet的合成
在已有的研究中,很少有人會直接在時域上對已有音頻建模。從直覺上分析,構建一個自回歸模型,能夠預測每一個samples是如何被前面所有的samples所影響的,是一個相當艱巨的任務。谷歌提出的基于WaveNets的語音合成方法,跳出了傳統語音合成框架,繞開聲碼器模塊,直接對采樣點進行預測,面對這個充滿挑戰的問題,取得了突破。
WaveNet語音合成系統的輸入包括文本特征以及先前時段的音頻采樣點。其中文本特征的有效表述起到非常重要的作用。如果在沒有文本序列的情況下來訓練網絡,仍然可以生成語音,但是無法聽懂輸出音頻的內容。WaveNet語音合成系統存在的問題是模型每次輸出單個采樣點,計算效率難以滿足實用要求。可以引入一些自適應的方法對已有模型進行優化,使其能夠適用于不同發音人。也可以在模型的輸入端提供更多的信息,例如情感或口音,這樣使得生成的語音可以更多樣化,www.twshmhelmet.com,更具表現力。
(3)基于DeepVoice的合成
百度提出了DeepVoice語音合成系統,它將里面的很多模塊用深度神經網絡去實現,KUKA機器人示教器維修,通過類似于WaveNet的合成器來合成,效果也是比較理想的。已有的語音合成系統會在某些環節上采用深度學習,但在DeepVoice之前,沒有團隊采用全深度學習的框架。傳統語音合成需要進行大量的特征處理和特征構建,但百度通過使用深度學習避免了這些問題。這使得DeepVoice的應用范圍更加廣泛,使用起來也更加方便。如果需要應用于新的數據集,傳統的語音合成系統完成重新訓練需數天到數周的時間進行調節,而對DeepVoice進行手動操作和訓練模型所需的時間只要幾個小時就足夠。相比于WaveNet語音合成系統,現在這個系統的有效速度提升了400倍。
(4)兩個端對端的語音合成
第一個是Char2Wav,這個模型是直接對輸入的文本進行編碼,采用encoder-decoder模型。對輸入特征進行編碼,然后生成的中間編碼信息放到解碼器里進行最后的合成,合成采用SimpleRNN的合成器來合成語音,效果也是比較理想的,而且是典型的End-To-End的語音合成模型。
再一個是谷歌提出的端對端的語音合成系統,它跟Char2Wav比較類似,輸入的也是Embeddings,合成的效果也比較理性。