① 語音合成技術
一, 語音合成技術原理
語音合成(test to speech),簡稱TTS。將文字轉化為語音的一種技術,類似於人類的嘴巴,通過不同的音色說出想表達的內容。
在語音合成技術中,主要分為 語言分析部分 和 聲學系統部分 ,也稱為 前端部分 和 後端部分, 語言分析部分主要是根據輸入的文字信息進行分析,生成對應的語言學規格書,想好該怎麼讀;聲學系統部分主要是根據語音分析部分提供的語音學規格書,生成對應的音頻,實現發聲的功能。
1. 語言分析部分
語言分析部分的流程圖具體如下,可以簡單的描述出語言分析部分主要的工作。
文本結構與語種判斷: 當需要合成的文本輸入後,先要判斷是什麼語種,例如中文,英文,藏語,維語等,再根據對應語種的語法規則,把整段文字切分為單個的句子,並將切分好的句子傳到後面的處理模塊。
文本標准化: 在輸入需要合成的文本中,有阿拉伯數字或字母,需要轉化為文字。根據設置好的規則,使合成文本標舉滲准化。例如, 「請問您是尾號為8967的機主嗎?「8967」為阿拉伯數字,需要轉化為漢字「八九六七」,這樣便於進行文字標音等後續的工作;再唯扮如,對於數字的讀法,剛才的「8967「為什麼沒有轉化為」八千九百六十七「呢?因為在文本標准化的規則中,設定了」尾號為+數字「的格式規則,這種情況下數字按照這種方式播報。這就是文本標准化中設置的規則。
文本轉音素: 在漢語的語音合成中,基本上是以拼音對文字標注的,所以我們需要把文字轉化為相對應的拼音,但是有些字是多音字,怎麼區分當前是哪個讀音,就需要通過分詞,詞性句法分析,判斷當前是哪個讀音,並且是幾聲的音調。
例如,「南京市長 江大橋」為「」或者「南京市 長江大橋」「」。
句讀韻律預測: 人類在語言表達的時候總是附帶著語氣與感情,TTS合成的音頻是為了模模擬實的人聲,所以需要對文本進行韻律預測,什麼地方需要停頓,停頓多久,哪個字或者詞語需要重讀,哪個詞需要輕讀等,實現聲音的高低曲折,抑揚頓挫。
2 .聲學系統部分
聲學系統部分目前主要有三種技術實現方式,分別為:波形拼接,參數合成以及端到端的語音合成技術。
1) 波形拼接語音合成
通過前期錄制大量的音頻,盡可能全的覆蓋所有的音節音素,基於統計規則的大語料庫拼接成對應的文本音頻,所以波形拼接技術通過已有庫中的音節進行拼接,實現語音合成的功能。一般此技術需要大量的錄音,錄音量越大,效果越好,一般做的好的音庫,錄音量在50小時以上。
優點:音質好,情感真實。
缺點:需要的錄音量大,覆蓋要求高,字間協同過渡生硬,不平滑,不是很自然。
2) 參數語音合成技指答灶術
參數合成技術主要是通過數學方法對已有錄音進行頻譜特性參數建模,構建文本序列映射到語音特徵的映射關系,生成參數合成器。所以當輸入一個文本時,先將文本序列映射出對應的音頻特徵,再通過聲學模型(聲碼器)將音頻特徵轉化為我們聽得懂的聲音。
優點:錄音量小,可多個音色共同訓練,字間協同過渡平滑,自然等。
缺點:音質沒有波形拼接的好,機械感強,有雜音等。
3) 端到端語音合成技術
端到端語音合成技術是目前比較火的技術,通過神經網路學習的方法,實現直接輸入文本或者注音字元
,中間為黑盒部分,然後輸出合成音頻,對復雜的語言分析部分得到了極大的簡化。所以端到端的語音合成技術,大大降低了對語言學知識的要求,且可以實現多種語言的語音合成,不再受語言學知識的限制。通過端到端合成的音頻,效果得到的進一步的優化,聲音更加貼近真人。
優點:對語言學知識要求降低,合成的音頻擬人化程度更高,效果好,錄音量小。
缺點:性能大大降低,合成的音頻不能人為調優。
以上主要是對語音合成技術原理的簡單介紹,也是目前語音合成主流應用的技術。當前的技術也再迭代更新,像端到端技術目前比較火的wavenet,Tacotron,Tacotron2以及deepvoice3等技術,感興趣的朋友可以自己了解學習。
二, 技術邊界
目前語音合成技術落地是比較成熟的,比如前面說到的各種播報場景,讀小說,讀新聞以及現在比較火的人機交互。但是目前的TTS還是存在著一些解決不掉的問題。
1. 擬人化
其實當前的TTS擬人化程度已經很高了,但是行業內的人一般都能聽出來是否是合成的音頻,因為合成音的整體韻律還是比真人要差很多,真人的聲音是帶有氣息感和情感的,TTS合成的音頻聲音很逼近真人,但是在整體的韻律方面會顯得很平穩,不會隨著文本內容有大的起伏變化,單個字詞可能還會有機械感。
2. 情緒化
真人在說話的時候,可以察覺到當前情緒狀態,在語言表達時,通過聲音就可以知道這個人是否開心,或者沮喪,也會結合表達的內容傳達具體的情緒狀態。單個TTS音庫是做不到,例如在讀小說的時候,小說中會有很多的場景,不同的情緒,但是用TTS合成的音頻,整體感情和情緒是比較平穩的,沒有很大的起伏。目前優化的方式有兩種,一是加上背景音樂,不同的場景用不同的背景音樂,淡化合成音的感情情緒,讓背景音烘托氛圍。二是製作多種情緒下的合成音庫,可以在不同的場景調用不同的音庫來合成音頻。
3. 定製化
當前我們聽到語音合成廠商合成的音頻時,整體效果還是不錯的,很多客戶會有定製化的需求,例如用自己企業職員的聲音製作一個音庫,想要達到和語音合成廠商一樣的效果,這個是比較難的,目前語音合成廠商的錄音員基本上都是專業的播音員,不是任何一個人就可以滿足製作音庫的標准,如果技術可以達到每一個人的聲音都可以到達85%以上的還原,這將應用於更多的場景中。
三, 效果指標和技術指標
隨著語音合成技術的發展,語音合成(TTS)已經應用於生活中的各個場景,實現了語音合成技術的應用落地。例如,在高鐵,機場的語音播報工作,醫院的叫號業務,以及現在比較火熱的語音交互產品。語音合成的各種應用說明它不僅僅是一項技術,更是一款產品,作為產品,可以用哪些指標來衡量這款產品呢?
下面將介紹兩種衡量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核的cpu伺服器,則可以跟客戶要求24核的cpu伺服器即可滿足客戶的需求,也為客戶節省了成本。
再說一下這個線程和並發的概念,線程,並發算是同一個概念,例如200線並發,指的是需要同時支持200線的語音合成,200線是同時合成音頻的,合成內容可以相同也可以不同。
4) 合成100個字需要多少時間(1s能合成多少個字)
有些客戶對於實時率,響應時間這些概念是比較模糊的,他會問你們的 TTS合成100個字需要多少時間 或者 1s能合成多少個字 ,所以這個時候為了方便和客戶溝通,我們需要知道合成100個字TTS消耗的時間。這個數據是可以大概算出來的,當然也可以直接讓測試測出一百字消耗的時間。這里主要講一下計算的方法。
按照正常的播報速度,1秒可以播報4個字左右,我們就按照四個字計算,100個字的音頻,音頻時長大概就是25s(100除以4),假如實時率為0.1,再根據當前的實時率計算公式,算出合成時間為2.5s,也可以計算出1s合成的字數(100/2.5)為40個字。
簡單介紹了語音合成產品會涉及到的一些參數指標,還有一些測試時需要了解的指標數據,例如cpu佔用,內存佔用,DPS(單位時間合成的音頻總時長),TPS(單位時間合成的音頻任務數)以及TP99,感興趣的朋友可以查詢研究一下,這些數據也主要用於項目poc的測試中,或者TTS產品整體的測試中,可以算是對於TTS產品的一個整體的了解。
四, 語音合成廠商
有很多廠商擁有語音合成技術,有互聯網大廠,也有一些只專注於人工智慧的企業。
科大訊飛 科大訊飛的語音合成技術在全球范圍內也是數一數二的,合成的音頻效果自然度高,訊飛官網掛接的音庫是最多的,且涉及很多的場景,以及很多的外語音庫。
阿里巴巴 在阿里雲官網的音庫,有幾個音庫的合成效果非常棒,例如艾夏,合成的音頻播報時感覺帶有氣息感,擬人化程度相當高。
網路 網路的語音合成技術還是很強的,但是官網給的合成音庫較少,具體不太好評判。
靈伴科技 這家公司在語音合成領域是不在忽略的。靈伴的音庫合成音效果也是非常的棒,有一個東北大叔的音庫,主要是偏東北話,整體的韻律,停頓,重讀等掌握的很好,很到位。
標貝科技 標貝科技和靈伴科技一樣,是語音合成領域不可小覷的兩個企業,是因為他們TTS合成的音頻效果擬人化程度很高,每個場景的風格也很逼真。
捷通華聲 捷通華聲是一家老牌的人工智慧企業,合成的音頻效果整體還是不錯的,且支持多種語種的音庫。
還有些企業沒有一一列出來,是因為上面這些企業是在平時項目中,或者TTS技術落地應用上比較多的企業。
五, 小結
目前的語音合成已經應用於各種場景,是較成熟可落地的產品,對於合成音的要求,當前的技術已經可以做很好了,滿足了市場上絕大部分需求,語音合成技術主要是合成類似於人聲的音頻,其實當前的技術已完全滿足。目前的問題在於不同場景的具體需求的實現,例如不同的數字讀法,如何智能的判斷當前場景應該是哪種播報方式,以及什麼樣的語氣和情緒更適合當下的場景,多音字如何更好地區分,確保合成的音頻盡可能的不出錯。當然錯誤有時候是不可避免的,但是如何在容錯范圍之內,或者讀錯之後是否有很好的自學機制,下次播報時就可以讀對,具有自我糾錯的能力,這些可能是當前產品化時遇到的更多更實際的問題,在產品整體設計的時候,這些是需要考慮的主要問題。
後續會講述在實際場景中主要遇到的問題以及解決的方案。
② TTS是什麼意思呢
TTS是指一項語音合成技術。
語音合成是將人類語音用人工的方式所產生。若是將電腦系統用在語音合成上,則稱為語音合成器,而語音合成器可以用軟/硬體所實現。
文字轉語音系統則是將一般語言的文字轉換為語音,其他的系統可以描繪語言符號的表示方式,就像音標轉換至語音一樣。
(2)語音合成包括哪些技術擴展閱讀:
發展歷史
1、17世紀法國人研發機械式的說話裝置,直到19世紀,貝爾實驗室對於電子語音合成技術的研究,才開啟近代語音合成技術的發展。
2、貝爾實驗室在1939年製作出第一個電子語音合成器VODER,是一種利用共振峰原理所製作的合成器。
3、1960年,瑞典語言學家G. Fant則提出利用線性預測編碼技術(LPC)來作為語音合成分析技術,並推動了日後的發展。
4、1980年代Moulines E和Charpentier F提出新的語音合成演算法PSOLA,此技術可以合成比較自然的語音。
③ 語音合成的合成方法
一種語音合成系統,其包括:分割單元,其被配置成將對應於目標語音的音位串分割為多個節段,來產生第一節段序列;
選擇單元,其被配置成基於第一節段序列通過組合多個語音單元產生對應於第一節段序列的多個第一語音單元串,並從所述多個第一語音單元串中選擇一個語音單元串;和連接單元,其被配置成連接包含在所選擇語音單元串中的多個語音單元,以產生合成語音,選擇單元包括檢索單元,其被配置成反復實施第一處理和第二處理,該第一處理基於對應於第二節段序列的最多W個(W為預定值)第二語音單元串產生對應於第三節段序列的多個第三語音單元串,所述第二節段序列作為第一節段序列中的部分序列,所述第三節段序列作為通過將節段添加給第二節段序列而獲得的部分序列,第二處理從所述多個第三語音單元串中選擇最多W個第三語音單元串,第一計算單元,其被配置成計算所述多個第三語音單元串中每個的總成本,第二計算單元,其被配置成基於涉滲春及語音單元數據獲取速度的限制來為所述多個第三語音單元串中的每個計算對應於總成本的懲罰系數,其中懲罰系數依賴於接近所述限制的程度,和第三計算單元,其被配置成通過使用懲罰系數修正總成本來計算所述多個第三語音單元串中每個的估計值,其中檢索單元基於所述多個第三語音單元串中每個的估計值從所述多個第三語音單元宴喊蘆串中選擇最多W個第三語音單元串。 「未來的十年是語音技術的時代」。隨著語音技術研究的突破,其對計算機發展和社會生活的重要性日益凸現出來。語音合成技術是語音技術中十分實用的一項重要技術,它能解決人民大眾的實際需求晌帶,能夠深入到社會的各行各業中去。
語音合成技術經歷了一個逐步發展的過程,從參數合成到拼接合成,再到兩者的逐步結合,其不斷發展的動力是人們認知水平和需求的提高。它們各有優缺點,人們在應用過程中往往將多種技術有機地結合在一起,或將一種技術的優點運用到另一種技術上,以克服另一種技術的不足。
④ 語音合成的合成技術
波形拼接技術的發展與語音歲橘的編、解碼技術的發展密不可分,其中LPC技術(線性預測編碼技術)的發展對波形拼接技術產生了巨大的影響。LPC合成技術本質上是一種時間波形的編碼技術,目的是為了降低時間域信號的傳輸速率。
LPC合成技術的優點是簡單直觀。其合成過程實質上只是一種簡單的解碼和拼接過程。另外,由於波形拼接技術的合成基元是語音的波形數據,保存了語音的全部信息,因而對於單個合成基元來說能夠獲得很高的自然度。
但是,由於自然語流中的語音和孤立狀況下的語音有著極大的區別,如果只是簡單地把各個孤立的語音生硬地拼接在一起,其整個語流的質量勢必是不太理想的。而LPC技術從本質上來說只是一種錄音+重放,對於合成整個連續語流LPC合成技術的效果是不理想的。因此,LPC合成技術必須和其他技術相結合,才能明顯改善LPC合成的質量。 20世紀80年代末提出的PSOLA合成技術(基音同步疊加技術)給波形拼接合成技術注入了新的活力。PSOLA技術著眼於對語音信號超時段特徵的控制,如基頻、時長、音強等的控制。而這些參數對於語音的韻律控制以及修改是至關重要的,因此,PSOLA技術比LPC技術具有可修改性更強的優點,可以合成出高自然度的語音。
PSOLA技術的主要特點是:在拼接語音波形片斷之前,首先根據上下文的要求,用PSOLA演算法對拼接單元的韻律特徵進行調整,使合成波形既保持了原始發音的主要音段特徵,又能使拼接單元的韻律特徵符合上下文的要求,從而獲得很高的清晰度和自然度。
PSOLA技術保持了傳統波形拼接技術的優點,簡單直觀,運算量小,而且還能方便地控制語音信號的韻律參數,具有合成自然連續語流的條件漏雀橡,得到了廣泛的應用。
但是,PSOLA技術也有其缺點。首先,PSOLA技術是一種基音同步的語音分析/合成技術,首先需要准確的基因周期以及對其起始點的判定。基音周期或其起始點的判定誤差將會影響PSOLA技術的效果。其次,PSOLA技術是一種簡單的波形映射拼接合成,這種拼接是否能夠保持平穩過渡以及它對頻域參數有什返旁么影響等並沒有得到解決,因此,在合成時會產生不理想的結果。 隨著人們對語音合成的自然度和音質的要求越來越高,PSOLA演算法表現出對韻律參數調整能力較弱和難以處理協同發音的缺陷,因此,人們又提出了一種基於LMA聲道模型的語音合成方法。這種方法具有傳統的參數合成可以靈活調節韻律參數的優點,同時又具有比PSOLA演算法更高的合成音質。
這兩種技術各有所長,共振峰技術比較成熟,有大量的研究成果可以利用,而PSOLA技術則是比較新的技術,具有良好的發展前景。過去這兩種技術基本上是互相獨立發展的,
⑤ 什麼是語音合成技術
語音合成,又稱文語轉換(Text to Speech)技術,能將任意文字信息實時轉化為標准流暢的語音朗讀出來,相當於給機器裝上了人工嘴巴。它涉及聲學、語言學、數字信號處理、計算機科學等多個學科技術,是中文信息處理領域的一項前沿技術,解決的主要問題就是如何將文字信息型磨轉化為可聽的聲音信息,也即讓機器像人一樣開口說話。我們所說的「讓機器像人一樣開口說話」與傳統的聲音回放設備(系統)有著本質的區別。傳統的聲音回放設備(系統),如磁帶錄音機,是通過預先錄制聲音然後回放來實現「讓機器說話」的。這種方式無論是在內容、存儲、傳輸或者方便性、及時性等方面都存在很大的限制。而通過計算機語音合隱租清成則可以在任何時候將任意文本轉換成具有高自然度的語音,從而真灶前正實現讓機器「像人一樣開口說話」。
文語轉換系統實際上可以看作是一個人工智慧系統。為了合成出高質量的語言,除了依賴於各種規則,包括語義學規則、詞彙規則、語音學規則外,還必須對文字的內容有很好的理解,這也涉及到自然語言理解的問題。下圖顯示了一個完整的文語轉換系統示意圖。文語轉換過程是先將文字序列轉換成音韻序列,再由系統根據音韻序列生成語音波形。其中第一步涉及語言學處理,例如分詞、字音轉換等,以及一整套有效的韻律控制規則;第二步需要先進的語音合成技術,能按要求實時合成出高質量的語音流。因此一般說來,文語轉換系統都需要一套復雜的文字序列到音素序列的轉換程序,也就是說,文語轉換系統不僅要應用數字信號處理技術,而且必須有大量的語言學知識的支持。