语音合成TTS(Text-To-Speech,从文本到语音)
以上內容,來自飯團“AI產品經理大本營”,點擊這里可關注:http://fantuan.guokr.net/groups/219/
作者:黃釗,5年AI實戰經驗(圖靈機器人),8年互聯網背景(前騰訊QQ產品經理),微信公眾號/知乎/在行/飯團ID“hanniman”,持續3年分享人工智能相關原創干貨,關注者1.2萬+,200頁PPT《人工智能產品經理的新起點》被業內廣泛好評,下載量1w+。
一、核心概念
1、TTS(Text-To-Speech,從文本到語音)
我們比較熟悉的ASR(Automatic Speech Recognition),是將聲音轉化為文字,可類比于人類的耳朵。
而TTS是將文字轉化為聲音(朗讀出來),類比于人類的嘴巴。
大家在siri等各種語音助手中聽到的聲音,都是由TTS來生成的,并不是真人在說話。
TTS的實現方法,主要有2種:“拼接法”和“參數法”
2、拼接法
1)定義:從預先錄制的大量語音中,選擇所需的基本單位拼接而成。這樣的單位可以是音節、音素等等;為了追求合成語音的連貫性,也常常使用雙音子(從一個音素的中央到下一個音素的中央)作為單位。
2)優點:語音質量較高
3)缺點:數據庫要求太大。一般需要幾十個小時的成品預料。企業級商用的話,需要至少5萬句,費用成本在幾百萬元。
3、參數法
1)定義:根據統計模型來產生每時每刻的語音參數(包括基頻、共振峰頻率等),然后把這些參數轉化為波形。
主要分為3個模塊:前端處理、建模和聲碼器。
前端做的事情,是把文本進行解析,決定每個字的發音是什么,這句話用什么樣的語氣語調,用什么樣的節奏來讀,哪些地方是需要強調的重點,等等。常見的語氣相關的數據描述包含但不限于下面這些:韻律邊界,重音,邊界調,甚至情感。 還有更多的信息甚至是難以客觀描述的,目前的算法只能暫且忽略。
注:拼接法和參數法,都有前端模塊,拼接和參數的區別主要是后端聲學建模方法的區別。
2)優點:數據庫要求相對較小一些。
如果只需要出聲(做demo),大概500句就可以,但是效果肯定不行。
通用TTS,一般至少需要5000句,6個小時(一般錄制800句話,需要1個小時)。——從前期的準備、找人、找錄音場地、錄制、數據篩選、標注,最終成為“可以用的數據”,可能至少需要3個月。(訊飛在各方面比較成熟,用時會短很多)。
個性化TTS,大多數是用“參數”方法的。(adobe、微軟也有嘗試過拼接法,不過相對參數方法來說不是太成熟,效果也并不是太通用)。
3)缺點:質量比拼接法差一些。因為受制于發聲算法,有損失。
因為主要弱點和難點就是聲碼器。聲碼器的作用是復現聲音信號,難在重現聲音細節,并且讓人聽不出各種雜音、沉悶、機械感等等。目前常見的聲碼器都是對聲音信號本身作各種理論模型以及簡化假設,可以說對細節的描述近似于忽略。
而DeepMind的wavenet,基本解決了聲碼器的問題。因為他們直接對語音樣本進行預測,不依賴任何發音理論模型。最后出來的音質細節十分豐富,基本達到了與原始語音類似的音質水準(所謂質量提高了50%,就是這里)。而且幾乎可以對任意聲音建模(這就太牛了)。目前wavenet的缺陷是計算量問題,速度太慢。大概100倍實時的量級,所以沒有辦法直接實用。
今年開始火起來的end-to-end的TTS建模方法,加上wavenent的聲碼器思想,才是未來TTS的發展方向。
4、TTS的評判標準
1)主觀測試
A)MOS(Mean Opinion Scores),專家級評測(主觀);1-5分,5分最好。
微軟小冰公開宣傳是4.3分,但有業內朋友認為,也不能據此就說其“絕對”比科大訊飛好,因為每次評審的專家人選都不一樣。說白了,目前整個AI行業內,還是各家說自己好的節奏。
B)ABX,普通用戶評測(主觀)。讓用戶來視聽兩個TTS系統,進行對比,看哪個好。
C)每次主觀測評應該有區分。比如這次著重聽多音字,下次主要聽語氣詞等。
2)客觀測試
A)對合成系統產生的聲學參數進行評估,一般是計算歐式距離等(RMSE,LSD)
B)對合成系統工程上的測試:實時率(合成耗時/語音時長),首包響應時間(用戶發出請求到用戶感知到的第一包到達時間)。
二、當前技術邊界
1、通用TTS
1)在用戶預期不苛刻的場景(APP/硬件),能滿足商業化需求,比如語音助手/滴滴/高德/智能音箱/機器人);但如果用戶預期非常高的話,是很難滿足的,因為還是會有“機器感/機械感”,不能非常自然的模擬人聲。
2)行業各家公司的產品效果差不多,都基本能商用;當然,訊飛會稍好一些。
2、個性化TTS
1)在用戶預期不苛刻的場景,能“基本”滿足商業化需求,但是效果沒通用TTS那么好。但如果用戶預期非常高的話,是滿足不了的。
2)目前行業內能成熟商用的,主要還是科大訊飛。
3、情感TTS
1)目前業界的情感合成更多了,是因為數據本身變多了、更有節奏了,超過了傳統的播音風格,但并不是真正的“喜怒哀樂”等情感合成(想高興就高興的這種智能)。
2)在情感TTS的理論方面,學術界是有儲備的,但是,整個行業都沒怎么做(或者沒做好),是因為情感TTS很依賴“情感意圖識別”,“情感特征挖掘”、“情感數據”以及“情感聲學技術”等,是個系統工程。其中第1點,即是和自然語言處理相關,比如需要知道“什么時侯該高興或悲傷”。
三、瓶頸和機會
1、基礎技術
1)end-to-end的TTS建模方法,加上wavenent的聲碼器思想。(來源:https://www.zhihu.com/people/meng-meng-55-13/answers );
2)據報道,百度的Deep Voice團隊(在美國硅谷的AI Lab),實時語音合成神經網絡系統(Real-Time Neural Text-to-Speech for Production)比 WaveNet 要快 400 倍。
3)如何讓離線版效果達到在線版水平。很多客戶希望(奢望)有離線版本,并且效果和在線版本一樣好。。。
2、數據缺乏
一方面,特別是個性化TTS,需要數據量更大。比如默認男孩聲音,要轉成女孩,就比較難。另一方面,數據的獲取(制作)成本和周期,也是各家在初期的競爭著力點。
3、人才匱乏:不僅沒法跟NLP、CV等熱門AI人才比,就算跟同樣不算熱門的ASR比,TTS的人才都還要少一些。
4、產品化難度:由于技術限制,現階段不可能有非常完美的TTS效果,所以
1)盡量選擇用戶預期不苛刻的場景,或者在產品體驗設計時,管理好用戶預期。(比如打車軟件,郭德綱/林志玲的聲音,差不多就行)
2)選擇“參數法”還是“拼接法”,和公司的技術儲備、成本、以及產品目標相關。在垂直領域,現有的TTS技術(參數或者拼接)都可以針對產品做得很好。現在行業還沒有太好的效果,很大原因是因為產品經理還沒有深入介入,有很多細節的坑要踩~未來一定會有驚艷的產品出現。
3)體驗細節設計,和一般互聯網產品很不同,比如:
A)文案設計,非常重要;因為在語音交互場景,不能太長,用戶沒耐心和時間聽完的。
B)可以加入背景音樂,掩蓋雜音等細節瑕疵。
C)特殊場景,還有有特別的需求,比如遠場TTS,和戴耳機場景,還會區別。
D)中英文混合TTS。比如用戶想播首英語歌曲,困難在于:所有中文的發音當中,中文和英文合拍念出來是很難的,為什么呢?因為往往錄音的人。錄中文是一批人,錄英文又是一批人。兩種語言結合起來,再用機器學習學出來,聲音就會變得非常怪。小雅音箱找到了一個能夠和中文發音很像的女孩子,錄了很多英語的音。
5、商業化壓力
1)如果要有足夠的市場競爭力,至少需要12個月的時間,2~6人團隊,幾百萬資金投入(1個GPU一年十萬,支持并發只有幾十個)。并且,大公司的先發優勢巨大,小公司必須切細分場景。
2)我個人認為,個性化TTS、情感TTS會在各細分場景得到更大的應用,比如知識付費、明星IP、智能硬件、機器人等。
附:相關資料
1、文章
1)《目前,人工智能語音在說中文時的語氣感覺上還比較機械,怎樣使人工智能語音的語氣更自然一些?》https://www.zhihu.com/question/50240209/answer/156842223
2)《如何評價谷歌下一代語音合成系統WaveNet?》https://www.zhihu.com/question/50509644/answer/167870206
3)《TTS(Text-To-Speech)的原理是什么?》https://www.zhihu.com/question/26815523
4)《百度Deep Voice作者與Bengio團隊探討五大技術細節,端到端的語音合成還有多遠?》http://t.cn/RoUvHAg
2、產品或視頻
1)訊飛的2個APP:配音閣、訊飛快聽
2)《武漢地鐵語音播報已逆天,這是要稱霸全國的節奏啊》http://t.cn/RK8tmib
總結
以上是生活随笔為你收集整理的语音合成TTS(Text-To-Speech,从文本到语音)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机桌面图标的使用,电脑桌面图标不见了
- 下一篇: JAVA代码各种效果的素材网