系統學習NLP(二) 語音合成的計算機處理綜述

2021-08-28 17:32:23 字數 2010 閱讀 4235

參考: 略刪改。

語音合成跟語音識別,自然語音理解,作為人機互動的基礎模組,加上對話管理器,形**機語音對話系統。

語音合成一般會經過文字與韻律分析、聲學處理與聲音合成三個步驟,分別依賴於文字與韻律分析模型、聲學模型與聲碼器。

其中文字與韻律分析模型一般被稱為「前端」,聲學模型和聲碼器被稱為「後端」。也可以定義為輸入文字轉換成語音內部表示的文字分析階段和內部表示轉換為波形的波形合成。

(語音合成的處理過程)

文字與韻律分析中,首先對文字進行分詞和標註:分詞會將文字切成乙個個詞語,標註則會註明每個字的發音以及**是重音、**需要停頓等韻律資訊;然後根據分詞和標註的結果提取文字的特徵,將文字變成乙個個文字特徵向量組成的序列。也就是文字分析的結果,內部表示。

聲學模型建立了從文字特徵向量到聲學特徵向量的對映:乙個個文字特徵向量經過聲學模型的處理,會變成乙個個聲學特徵向量。

聲碼器則會將乙個個聲學特徵向量通過反變換分別得到相應的聲音波形,然後依次進行拼接就得到了整個文字的合成語音。

聲學特徵反映了聲音頻號的一些「關鍵資訊」,反變換則可看作用關鍵資訊還原全量資訊。所以在反變換的過程中可以有人為「操作」的空間(如引數的調整),從而改變合成語音的語調、語速等。

反變換的過程還可以讓合成的語音具備特定的音色。錄製某個人少量的語音片段,在合成時即可據此調整引數,讓合成的語音擁有這個人的音色。老司機們最愛的「林志玲導航語音包」就是這麼來的。 

(別傷心,你們的女神還是多少錄了幾句話的)

紅遍宇宙的深度學習技術同樣可以運用在語音合成中。無論是文字與韻律分析模型、聲學模型還是聲碼器,都可以採用通過大量的文字和語音資料訓練出的深度神經網路。

語音合成在功能上可以看作語音識別的「逆過程」。語音識別是通過語音波形提取得到聲學特徵向量,再變為文字特徵向量,最後得到文字;而語音合成則是通過文字提取得到文字特徵向量,再變為聲學特徵向量,最後反變換得到合成語音波形。

然而,語音識別和語音合成在每個步驟的技術原理卻差異很大。語音識別可以看作是乙個分類問題(連續到離散),而語音合成則應看作回歸問題(離散到連續);前者希望盡可能排除個體發音的差異獲得其中的「共性」,後者則是從「共性」出發,希望盡可能還原個體發音的特色,獲得更有表現力的合成語音。

和語音識別不同,對語音合成質量的評價標準相對主觀。對於一段合成語音,一些人耳中的「發音錯誤」對其他人來說可能只是「發音不准」;同時,什麼樣的聲音像人聲,像到什麼程度,都很難通過幾個像「準確率」這樣的簡單指標來進行評價。

所以,語音合成的質量一般通過人工根據一系列規則打分來評價;而讓合成的語音聽起來像真實的人聲,則是語音合成真正的難點所在。現代語音合成的研究可以追溯到數十年前,但這個問題直到現在也沒有完全解決。

語音合成的難點主要來自前端的文字與韻律分析以及後端的聲碼器,它們也成為了目前各家公司語音合成技術實力的體現。

文字與韻律分析中的分詞與標註往往需要結合文字語義以及上下文的有關的內容才能作出準確的判斷,而這些也正是自然語言處理中的難點。如果這一步的處理出了問題,那麼合成語音的節奏、語調等聽起來就會比較奇怪。

(重音會隨著語義的變化而變化)

聲碼器反變換得到語音波形時,由於聲學特徵只反映了語音波形的少量關鍵資訊,所以還需要通過引數調整,新增大量資訊,才能使合成語音聽起來圓潤細膩、沒有機械感。真實的人聲擁有非常豐富的細節資訊,所以會使反變換的過程變得困難。

得到聲學特徵向量之後,也可以不用聲碼器,直接通過錄音拼接的方法進行合成。這種方式需要事先錄製大量的真人語音片段,然後根據聲學特徵向量找到它們所對應的那些語音片段直接進行拼接。

TTS語音系統學習

最近,在看電腦的時候總是感覺到累,於是就覺得如果有個軟體能夠把電腦上的東西讀出來就好了,然後就發現了這個tts語音系統。並且參考了一下三篇部落格內容,覺得對tts語音系統介紹的很詳細,這裡就不再多說了。當前最好的tts語音系統介紹 tts 使用總結 其中測試了lily liang hui wang等...

系統學習NLP(三) NLP入門綜述

從這個月開始,進入nlp方向了,因此,系統了看了一遍 自然語言處理綜論 對nlp做了點系統性的了解,後面抽時間乙個乙個業務或者方向進行實現學習。這裡主要是入門的認識,因此,大多數不涉及每個業務應用的最佳實現,比如基本沒有深度學習層面的 因為那本書只總結了2009年之前的 不過有了這個基礎,每個業務應...

系統學習NLP(二十六) NBSVM

baselines and bigrams good sentiment and topic classification 參考 跟原文有一定差異,理解不一致。樸素貝葉斯 bayes,nb 和支援向量機 support vector machines,svm 的變體常被用作文字分類的基線方法,但它們...