2011-05-05 113 views
2

你們可能熟悉谷歌的TTS引擎:here從哪裏開始語音合成

我對如何能夠分析輸入並挑選出不同音節/部分的語音有基本瞭解,但是如果我想爲TTS系統創建「語音」,我該從哪裏開始?

回答

0

這是一個問題,我花了大約一個學期的時間在大學學習答案和一年級(或更多)的課程,以瞭解理解該過程所需的基礎信號處理。整個課程專門用於語音合成,整個課程用於信號處理。

人們可以將人類聲道想象成一個過濾器,將聲門當作脈衝發生器 - 也就是說,語音實際上是由聲道,口腔和鼻腔濾過的脈衝串的結果。

對於每個音素,「過濾器」將有所不同,因此您需要一個音素庫來爲其生成「過濾器」。理論上,可以在音素聲音庫的庫中使用逆濾波來查找「濾波器」係數。 Levinson-Durbin遞歸經常被用來找到LPC係數。

必須創建一個聲門脈衝序列。一個簡單的方法是將一個正半波正弦波脈衝序列進行卷積。

最後,用與您要創建的音素關聯的「濾波器」係數過濾聲門脈衝序列。

但這隻適用於濁音。爲了生成清音語音,一個簡單的解決方案是用與清音語音相關的「濾波」係數來濾波隨機噪聲信號。

上面的一層抽象,創建一個需要的音素列表,並連接。簡單如餡餅!

UPDATE:

一個朋友指出節,一個「黑盒子」來輸入文字,並得到了發言:http://festvox.org/festival/