HTS 語音合成簡述

2021-06-27 05:43:58 字數 1524 閱讀 4397

這裡,想要寫一些關於hts語音合成系統的東西。其實也就是想說說hts語音合成系統是個啥玩意,它的基本思想和基本流程是什麼?而不是用乙個什麼簡圖了事的那種。

總的來說,hts語音合成系統,和htk語音識別系統思想和流程基本相同,為什麼這麼說?那麼我們就從流程上來說一條條分析。

1. 訓練模型。兩者都需要對語音基本單元(音素,半音節,音節)進行訓練hmm模型。且訓練模型使用的引數也是那些語音的acoustic引數,如mfcc, lsf, f0等。

2. 模型細化。 以音素模型為例,一般我們喜歡用di-phone 或 tri-phone來表徵上下文相關的模型。但是這意味著對訓練資料量的需求就更大,這時,我們一般需要做一些特殊處理,如狀態繫結,對那些資料稀疏的狀態,將他繫結在其他和它相似的狀態上。對hts, 可能採用基本分類樹的方法來克服資料稀疏的問題。

3. 解碼過程。在解碼階段,hts語音合成和htk語音識別剛好是一對可逆的過程。 在htk語音識別中,給定的是每個音素的hmm模型和觀察序列(如mfcc, f0序列,從輸入語音中提取出來的),要求的是這些觀察序列屬於哪個模型。  而在hts語音合成中,給定的是每個音素的hmm模型,以及由這些模型解碼的結果(即輸入的文字資訊,經過處理後的音素序列),要求的是觀察序列(這裡得到的觀察序列是指每一幀的mfcc,f0等特徵)。

至此,htk語音識別的過程就完成了。但是,hts語音合成系統還有乙個過程,那就是語音合成器。

所謂語音合成器,就是給定mfcc和f0特徵,產生實際的語音資料。

這裡,我們一般根據人的發音方式,即根據假設人的發生是通過乙個聲波(由聲帶振動產生), 經過聲帶共振(相當於乙個濾波器),然後到達口鼻輻射出去。 這裡,這個聲波的產生過程是,對於濁音,用乙個週期脈衝(其頻率就是前面得到的f0)代替,對於清音,則用乙個高斯白雜訊代替。 而聲帶共振調製過程,這個濾波器的主要引數就是前面得到的mfcc引數。最後,經過乙個輻射模型就可以得到所要的合成語音了。

可見,hts語音合成的方法是嚴重的依賴於htk的。所以,欲練此功,必先學習htk。 此外,如果你已經掌握了htk,那麼,我覺得在這整個過程中,還有幾個問題需要注意及好好解決。

(1) 對基頻f0的建模。 因為對於清音部分,是沒有基頻的,且即使對於母音,基頻也是乙個一維的特徵。所以,在hts中,一般採用多空間概率分布hmm模型來對他建模。具體可以參考文獻:

k.tokuda, t.masuko, n.miyazaki, and t.kobayashi, "hidden markov models based on multi-space probability distribution for pitch pattern modeling." icassp 99, u.s.a.

(2)如果訓練資料不足的話,這不易採用tri-phone的上下文相關模型。當然,資料越豐富越多,上下文資訊定義的越多,每個音素的上下文相關模型就越多,系統就越準確。 在資料不足的情況下,可以參考hts的基於決策樹的方法來建立模型。 但是,如果是用決策樹的方法,照本人經驗,效果不是很好。所以在這放方面,要非常注意。

(3)就是合成的時候,合成引數產生的方法。因為這部分是htk中沒有的,所以沒有任何參考的地方。至於合成器,這個就大同小異了,沒什麼花頭。

語音合成 什麼是語音合成?

1.什麼是語音合成?2.psola演算法 3.基於hmm的引數合成 4.未來有哪些趨勢?本系列時常補充和糾錯 1.1 什麼是語音合成?語音合成則是乙個相反的過程,語音合成要求使用者輸入一段文字,系統負責將文字轉換成一段流暢自然的語音。其實,語音合成在生活中的應用也是隨處可見,只是我們有時候會將其忽略...

語音合成技術

語音合成又稱文語轉換 text to speech 簡稱tts,指通過機械的 電子的方法生成語音的技術。隨著科技的發展,合成語音的自然度和音質均得到了明顯的改善。目前,語音合成技術在我們生活中具有廣泛的應用,如電子閱讀 車載語音導航 銀行醫院排號系統 交通播報等等,這些應用場景都離不開語音合成。簡單...

語音網頁和語音合成API

幾周前,我簡要討論了nlp及其相關技術。在處理自然語言時,要考慮兩個不同但又互補的方面 自動語音識別 asr 和文字轉語音 tts 在介紹web語音api的文章中,我討論了web語音api,這是乙個在web瀏覽器中提供語音輸入和文字到語音輸出功能的api。您可能已經注意到,我只介紹了如何在 中實現語...