什麽是TTS語音文件?
TTS就是文本轉語音,文本轉語音,文本閱讀,意思差不多。它常用於語音系統的開發。目前市場上有很多TTS,實現方式也是多種多樣,有些非常昂貴,比如科大訊飛,據說是863計劃資助的,技術很高;有的相對便宜,比如捷通華聲,InfoTalk;也有免費的,比如微軟的TTS產品。相對於ASR(自動語音識別)來說,實現壹個TTS產品所需的技術難度並不大,在我看來是個苦差事。如果我們要做壹個可以大聲朗讀中文句子的TTS,我們會怎麽做?還有最簡單的TTS,就是每個字都要發音。妳會問,妳不是要錄六千多個漢字嗎?好在漢語音節少,同音字多。我們最多只需要記錄:聲母數×韻母數×4(其實不是每個發音都有四個音),所以我們最多只需要記錄幾百個語音。合成的時候需要壹個拼音對應的漢字對照表,漢語拼音輸入法也要靠這個表,網上可以查到,但是通常四聲都沒有,得自己加,呵呵,或者怎麽說都是辛苦。TTS效果可以不錯,尤其是讀壹些沒有特別含義的中文句子,比如姓名、家庭住址、股票代碼,聽起來足夠清晰。這是因為我們偉大的母語通常是單音節的。自古以來,每個漢字都有壹個字來表達壹個意思。而且,漢字和英文不壹樣。英語連讀多,聲調節奏變化大,漢字就簡單多了。當然,妳還是要處理壹些細節,比如復調,把“銀行”念成“銀行”是不對的;比如標點符號、數字、字母的處理,這些問題對於寫過很多程序的妳來說當然不難。國內壹些帶語音卡的TTS,不管是賣錢的還是免費的,壹般都是這樣做的,就是這個效果。如果想提高TTS的效果,那就要多下功夫,把基礎單詞記錄成讀音,比如常見的二字成語、四字成語,然後做壹個詞庫和讀音數據庫的對照表,每次需要合成的時候就在詞庫裏找。這樣以詞為單位自然比以詞為單位好很多。當然還有壹項技術,就是分詞技術。把復雜的句子分解成合理的詞序也有點技術含量。這也要歸功於新文化的先行者們,他們在提倡白話文,引進西文的橫格式和標點符號的時候,並沒有引進西文的空間分詞。不過,即使分詞算法沒有那麽高效準確,也不是什麽大問題。前面說過,漢字是單音節詞,壹般不會有拼音的錯誤。至於在交界處加壹些“字”,弄點裝飾色調,我覺得無關緊要,整體效果提升不大。市面上商業化的TTS壹般都支持粵語,所以請個粵語播音員錄下來再做壹遍。換個角度說,很多人認為最好找電臺或者電視臺的播音員來錄制。其實找個身邊的女同事來錄,只要字正腔圓就行。有些時候,普通的聲音比字正腔圓的新聞廣播更可愛。先說文字的識別。對於復雜的文本,有些內容程序處理不了,需要識別。比如簡單的數字“128”應該讀作“128”還是“128”?解決方案通常是添加XML標記,如微軟的TTS:“