當前位置:成語大全網 - 成語故事 - 語音合成技術

語音合成技術

壹,?語音合成技術原理

語音測試(簡稱TTS)。壹種把文字轉換成語音的技術,類似於人的嘴巴,通過不同的音色來表達它想要表達的東西。

在語音合成技術中,主要分為語言分析部分和聲學系統部分,也稱為前端部分和後端部分。語言分析部分主要是分析輸入的文本信息,生成相應的語言規範,思考如何閱讀。音響系統部分主要根據語音分析部分提供的語音規範生成相應的音頻,實現發聲的功能。

1.語言分析部分

語言分析部分的流程圖如下,可以簡單描述壹下語言分析部分的主要工作。

文本結構和語言判斷:輸入要合成的文本時,需要判斷是什麽語言,如漢語、英語、藏語、維吾爾語等。,然後根據相應語言的語法規則將整個文本分割成單獨的句子,並將分割後的句子傳遞給後期處理模塊。

文本標準化:在要合成的輸入文本中,有需要轉換成文字的阿拉伯數字或字母。根據設定的規則對合成文本進行標準化。比如“妳是尾號8967的車主嗎?”“8967”是阿拉伯數字,需要轉換成漢字“8967”,方便後續的註音等工作;再比如,剛才的“8967”這個詞為什麽不翻譯成“8967”?因為在文字標準化的規則中,設置了“後綴+數字”的格式規則,在這種情況下,數字就是這樣播報的。這是文本標準化中的規則集。

文本轉音素:在漢語語音合成中,文本基本上都是用拼音標註的,所以我們需要把文本轉換成對應的拼音,但是有些詞是多音字。如何區分當前是哪個讀音,需要通過分詞和詞性句法分析來判斷當前是哪個讀音,而且是幾個聲調。

比如“南京長江大橋”就是“南2京1時4張3江1 da4橋2”或者“南京長江大橋”“南2京1時4昌2江1 da4橋3”。

讀句韻律預測:人類在表達語言時,總是伴隨著情緒和情感。TTS合成音頻是模仿真實的人聲,所以需要預測文本的韻律,在哪裏停頓,停頓多長時間,哪個單詞或短語需要重讀,哪個單詞需要輕讀等等。,從而實現聲音的高低曲折、抑揚頓挫、抑揚頓挫。

2.音響系統部分

目前,聲學系統主要有三種實現方式,即:波形拼接、參數合成和端到端語音合成技術。

1) ?波形拼接語音合成

通過前期錄制大量音頻,盡可能完整地覆蓋所有音節和音素,將基於統計規則的大型語料庫拼接成相應的文本音頻,因此波形拼接技術通過拼接現有庫中的音節來實現語音合成的功能。壹般這種技術需要大量錄音,錄音音量越大效果越好。壹般制作精良的音庫,錄音量都在50小時以上。

優點:音質好,情感真實。

缺點:要求錄音量大,覆蓋要求高,詞與詞之間的協同過渡生硬,不均勻,不自然。

2)?參數語音合成技術

參數合成技術主要是通過數學方法對現有錄音的頻譜特征參數進行建模,構建文本序列與語音特征之間的映射關系,生成壹個參數合成器。因此,在輸入壹段文字時,我們首先將文字序列映射到相應的音頻特征上,然後通過聲學模型(聲碼器)將音頻特征轉化為我們能夠理解的聲音。

優點:錄音音量小,多種音色可以壹起訓練,字與字之間協調過渡流暢自然。

缺點:音質不如波形拼接,機械感強,噪音大。

3)?端到端語音合成技術

端到端語音合成技術是目前比較熱門的技術。通過神經網絡學習,可以直接輸入文字或拼音字符。

中間是黑盒部分,然後輸出合成的音頻,大大簡化了復雜的語言分析部分。因此,端到端的語音合成技術大大降低了對語言學知識的要求,可以實現多種語言的語音合成,不再受語言學知識的限制。通過音頻的端到端合成,效果進壹步優化,聲音更接近真人。

優點:降低了對語言學知識的要求,合成的音頻更加擬人化,效果好,錄音體積小。

缺點:性能大打折扣,合成的音頻無法人為調音。

以上主要是對語音合成技術原理的簡單介紹,也是目前語音合成的主流應用技術。現在的技術也在叠代更新,比如wavenet,Tacotron,Tacotron2,deepvoice3,這些都是流行的端到端技術。有興趣的朋友可以自學。

兩個?技術邊界

目前語音合成技術已經比較成熟,比如上面提到的各種播報場景,看小說,看新聞以及現在流行的人機交互。然而,目前的語音合成系統仍然存在壹些問題。

1.化身

其實現在的TTS擬人水平已經很高了,但是業內人士壹般都能聽出來是不是合成音,因為合成音的整體節奏還是比真人差很多。真人的聲音充滿了氣息和情感。TTS合成的音頻聲音很接近真人,但整體節奏會很穩定,不會隨著文字內容有大的起伏。個別單詞也可能有機械感。

情緒化

當壹個真實的人說話時,他能感知到當前的情緒狀態。在語言表達的時候,他可以通過聲音知道這個人是開心還是抑郁,也可以結合表達的內容傳達出具體的情緒狀態。單壹的TTS音庫是做不到的。比如看小說,小說裏會有很多場景,不同的情緒,但是TTS合成的音頻相對穩定,沒有很大的起伏。目前優化的方式有兩種,壹種是添加背景音樂,不同的場景使用不同的背景音樂,淡化合成音的情感感受,讓背景音烘托氣氛。二是在多種情感中制作合成音庫,可以在不同場景中調用不同的音庫合成音頻。

定制

目前我們聽到語音合成器合成的音頻,整體效果還是不錯的。很多客戶會有定制的需求,比如用自己員工的聲音做壹個聲音庫。很難達到與語音合成器相同的效果。目前壹個語音合成器的錄音師基本都是專業的播音員,並不是任何壹個人都能達到做音庫的標準。如果技術能實現每個人聲音85%以上的還原,這個就應用了。

三、效果指標和技術指標

隨著語音合成技術的發展,語音合成已經應用到生活中的各種場景,語音合成技術的應用已經實現。比如在高鐵,機場的語音播報,醫院的呼叫服務,還有現在大熱的語音交互產品。語音合成的各種應用表明,它不僅是壹種技術,也是壹種產品。作為壹個產品,可以用什麽指標來衡量這個產品?

下面將介紹兩個衡量TTS產品的指標,即有效性指標和性能指標。

1.?效果指數

1)?MOS值

?目前,TTS合成效果的評價標準是業內壹致認可的mos值測試。找壹些業內的專家對合成的音效進行評分,分數在1-5之間,通過平均得到最終分數,這就是mos值測試。很明顯,這是壹個主觀評分,沒有具體的評分標準,與個人對音色的喜好、對合成音頻內容場景的掌握、對語音合成的理解有很強的相關性,所以可以看作是壹種不同人有不同看法的測試方法。

由於對TTS合成效果的主觀評價,在壹些項目的驗收中,無法明確具體的驗收標準。比如定制音庫的項目,客戶想做壹個獨壹無二的定制音庫,最後驗收壹定是客戶對合成的音效滿意,那麽驗收就成功了。這是壹個非常主觀的標準。怎麽才能滿足?對於TTS廠商來說,這是不公平的。所以需要找到壹些可以量化的標準,這樣項目才能更好的被接受,雙方也不會因為合成效果而產生分歧。這裏推薦壹個驗收標準,可以量化語音合成的效果,分別對原始錄音和合成音頻進行盲測評分(mos值測試)。如果合成音頻的mos值能達到原錄音的85%以上(該值可根據項目情況確定),則可以接受,這樣就可以確定驗收標準並進行量化。當然,評分團隊可以是客戶和TTS廠商的人,也可以邀請第三方的人來評分,以保證公平性。

雖然mos值是壹種主觀測試方法,但有壹些判斷標準。比如合成音頻中,多音字的發音,當前場景中數字的播報方式,英語的播報方式,節奏方面,單詞是否壹起播報,該重讀的地方是否有重音,停頓是否合理,音色是否符合當前場景,都可以作為評分的依據。

分享壹個簡單的評分標準,可以作為參考。

2)?ABX評估

?合成效果對比測試,在同壹個場景下選擇相同的文字和音色,用不同的TTS系統進行合成,比較哪種合成效果更好,也是壹種主觀判斷,但有壹定的對比性,哪種TTS更適合當前場景,合成效果更好。

2.績效指標

1)實時速率

在語音合成中,合成方法分為非流式合成和有損合成。無損合成是指壹次性輸入文本,壹次性返回合成的文本和音頻。流式合成是指當文本傳輸到TTS時,TTS會分段發回合成的音頻,可以減少語音合成的等待時間,同時也是合成的,不需要等到整個音頻合成後再播放,所以語音合成時間的壹個指標是實時率。實時速率等於文本合成所需的時間除以文本合成的總音頻時間。以下是實時費率的計算公式:

為什麽實時速率要講無損合成和流式合成?因為在流式合成場景下,合成開始時已經開始廣播,音頻合成完成時廣播完成,所以不會有等待的過程。這個過程主要用在語音交互場景。智能機器人接收到語音信號後,可以立即給出回復,不會讓用戶等待太久。因此,為了保證最佳的用戶體驗,要求“文本合成所需時間”小於等於“文本合成的音頻時間”,即實時率應小於等於1。

2)第壹個數據包的響應時間

在流合成中,分段的音頻將被傳輸到客戶端或播放系統,並且也需要時間來合成第壹個音頻,這被稱為“第壹個包響應時間”。為什麽這次要算?因為在語音交互中,根據項目經驗和人的承受能力,當用戶講完後,機器人會在1200ms內開始播報回復,這樣就不會出現空白時間和停頓。如果時間超過1200ms,顯然會有等待時間,用戶體驗不好,不耐煩的用戶可能會停止聊天。1200ms的時間既是TTS語音合成的首包時間,也是ASR(語音識別)和NLU(自然語言理解)消耗的時間,所以TTS首包的響應時間要控制在500ms以內,以保證ASR和NLU有更多的時間。

3)並發數

人工智能的發展主要有三個方面,即算法、計算能力和數據。實際上,性能指標相當於計算能力。目前承載計算能力的服務器有CPU服務器和GPU服務器。前面說了,實時速率這個指標小於等於1,那麽如果實時速率遠小於1,會不會浪費服務器,因為只要實時速率小於等於1,就能滿足用戶的需求,讓用戶體驗好。所以上面說的實時速率是針對單核單線程的CPU服務器,或者單卡單線程的GPU,實時速率的公式可以是:

為了最大化的利用資源,我們只需要保證實時速率接近1,或者等於1,不壹定要比1小很多。所以當單核單線程的實時速率遠小於1時,可以實現壹核兩行三行的線程數,使得實時速率為1,是壹核的“二線”。那這個並發怎麽算呢?比如單核單線程的並發是0.1,單核10線程的並發是1,也是滿足需求,可以按照這個並發提供給客戶。所以並發的計算公式如下:

因此,當用戶需要200線程的語音合成並發時,在實時速率為0.1,壹核十行,只需要20核的情況下,可以向客戶要求24核的cpu服務器,滿足客戶的需求,為客戶節省成本。

我們來談談這個線程和並發的概念。線程和並發是同壹個概念。比如200行並發,就是需要同時支持200行語音合成。200行同時合成音頻,合成的內容可以相同也可以不同。

4)?合成100字需要多長時間(1s能合成多少字)?

有些客戶對實時速率和響應時間的概念很模糊。他們會問合成100字需要多長時間或者1可以合成多少字,所以這個時候為了方便和客戶溝通,我們需要知道合成100字TTS需要的時間。這個數據可以大致算出來,當然也可以直接讓測試測出100個單詞所消耗的時間。這裏主要講壹下計算方法。

按照正常的播放速度,1秒可以播放四個字左右,那麽我們可以按照四個字來計算,100字的音頻時長大約是25s(100除以4)。如果實時速率是0.1,然後按照現在的實時速率計算公式,合成時間是2.5s,也可以算出來。

簡要介紹語音合成產品涉及的壹些參數和指標,以及測試時需要了解的壹些指標和數據,如cpu占用率、內存占用率、DPS(單位時間內音頻合成的總時間)、TPS(單位時間內合成的音頻任務數)、TP99。感興趣的朋友可以查詢研究壹下。這些數據也主要用於項目poc或TTS產品整體的測試,可以看作是對TTS產品的壹個整體認識。

四,?語音合成制造商

有很多擁有語音合成技術的廠商,有互聯網巨頭,也有壹些只專註於人工智能的企業。

科大訊飛科大訊飛的語音合成技術也是世界數壹數二的,合成出來的音頻效果自然高。官網,科大訊飛有最大的音頻庫,涉及很多場景,很多國外語音庫。

阿裏巴巴在官網的音庫,阿裏雲,有幾個很優秀的音庫,比如艾莎。合成的音頻播放起來感覺就像呼吸壹樣,擬人化程度相當高。

百度百度的語音合成技術還是很強的,但是官網給的合成音庫比較少,不好判斷。

班苓科技是語音合成領域不可忽視的公司。班苓聲音庫的聲音合成效果也很不錯。有壹個東北大叔的音庫,主要是東北方言。整體節奏,停頓,重音等等都掌握的很好,很到位。

標貝科技標貝科技和班苓科技壹樣,是語音合成領域不可小覷的兩家公司,因為他們的TTS合成出來的音效擬人化程度很高,每個場景的風格都很逼真。

捷通華聲捷通華聲是壹家老牌人工智能企業,整體合成音頻效果不錯,支持多語言音庫。

還有壹些企業沒有壹壹列出,因為這些企業是在平時的項目中,或者是有很多企業在應用TTS技術。

動詞 (verb的縮寫)摘要

目前語音合成已經應用於各種場景,是可以落地的成熟產品。對於合成語音的要求,目前的技術已經可以做得很好,滿足市場上的大部分需求。語音合成技術主要是合成類似人聲的音頻,但實際上目前的技術已經完全滿足了。目前的問題在於不同場景的具體需求的實現,比如不同的數字閱讀方式,如何智能判斷當前場景應該是什麽樣的播放模式,什麽樣的音調和情感更適合當前場景,如何更好的區分多音字以保證合成的音頻盡可能的無錯。當然,錯誤有時候是不可避免的,但是如何在容錯的範圍內,或者說讀錯之後有沒有壹個很好的自學習機制,讓妳在下期播報的時候能夠正確的讀,有自我糾錯的能力,這些可能是目前產品化遇到的比較實際的問題,這些都是產品整體設計要考慮的主要問題。

後面會講實際場景中遇到的主要問題以及解決方法。