让电脑说人话让电脑说人话的软件
量身定制的音頻課
如今流行音頻課,人們可以把平時(shí)花在通勤和鍛煉上的時(shí)間利用起來聽書學(xué)習(xí)。不久前,三聯(lián)中讀打算把我在雜志上寫的《生命八卦》專欄做成音頻,我立刻表示反對(duì),因?yàn)槟莻€(gè)專欄我寫了15年,加起來超過了80萬字。我可不想把自己關(guān)在錄音棚里一遍又一遍地朗讀舊文,那是要死人的。
一位編輯提議把文章輸進(jìn)電腦程序里自動(dòng)生成音頻,但我仍然不同意,因?yàn)槲乙郧奥犨^這樣的音頻內(nèi)容,根本聽不進(jìn)去。記得那是一本驚險(xiǎn)小說,內(nèi)容緊張刺激,但電腦程序顯然是按照中文的標(biāo)準(zhǔn)發(fā)音一個(gè)字一個(gè)字地往外蹦,基本沒有正常人說話時(shí)的音調(diào)起伏和節(jié)奏變化,情感表達(dá)更是完全缺失。我原以為我可以克服這個(gè)障礙,畢竟小說本來就是由一個(gè)個(gè)獨(dú)立的漢字組合而成的,背后的精彩故事全靠讀者腦補(bǔ)。電腦所做的不過是把漢字的視覺信號(hào)轉(zhuǎn)變成漢語的音頻信息,相當(dāng)于換一個(gè)腦補(bǔ)的方式罷了,這有啥難的?可試了幾天之后,我發(fā)現(xiàn)真的很難!這種單調(diào)的機(jī)器聲不但理解起來有困難,甚至?xí)屓朔咐В医?jīng)常聽著聽著就在地鐵里睡著了。
經(jīng)過那次試驗(yàn),我終于親身體會(huì)到了韻律對(duì)于語言的重要性。人類通過語言表達(dá)的信息有很多都是通過韻律的變化傳遞出來的,聽者也早已習(xí)慣了這種信息接收方式,和閱讀有著本質(zhì)的區(qū)別。
舉個(gè)例子:為什么我們經(jīng)常會(huì)聽錯(cuò)歌詞?并不是因?yàn)槌璧娜税l(fā)音不準(zhǔn),而是因?yàn)楦枵邽榱诉w就旋律,經(jīng)常要改變語言原有的韻律,聽者不習(xí)慣,很容易就被搞糊涂了。
雖然困難重重,但知識(shí)音頻化的浪潮無法抗拒。所幸微軟(亞洲)互聯(lián)網(wǎng)工程院及時(shí)伸出援手,讓我去試試他們新開發(fā)的基于深度神經(jīng)網(wǎng)絡(luò)的計(jì)算機(jī)合成語音系統(tǒng)(Neural Text-to-Speech,簡(jiǎn)稱Neural TTS),據(jù)說這套系統(tǒng)只需很少的訓(xùn)練量就可以模仿我的聲音,代替我朗讀那些文章。這件事對(duì)我很有吸引力,于是我騰出了一個(gè)下午的時(shí)間來到微軟租用的一間錄音棚,進(jìn)行聲音的收集采樣工作。
土摩托(作者)在錄音棚為《生命八卦》音頻專欄進(jìn)行聲音的收集采樣
按照我原來的設(shè)想,微軟工程師會(huì)讓我把3000個(gè)常用漢字都念一遍,做一個(gè)我的專屬語音庫(kù)。但出乎我意料的是,他們只是讓我對(duì)著提詞器念了8篇《生命八卦》專欄的舊文章,最后為了增加采樣內(nèi)容的豐富性,又讓我補(bǔ)念了兩段《三聯(lián)》“旅游與地理”欄目里的游記文章,加起來也就一萬多字的內(nèi)容,不到3個(gè)小時(shí)就念完了。唯一麻煩的就是我必須念得十分準(zhǔn)確才行,即使念錯(cuò)一個(gè)字也要把整句話重新再念一遍。我缺乏這方面的訓(xùn)練,一開始重復(fù)的次數(shù)有點(diǎn)多,后來慢慢習(xí)慣了就好了。
一周后,微軟發(fā)來了一段電腦合成的語音,念的是我最近寫的那篇專欄文章《和癌細(xì)胞共存亡》。一聽之下,我立刻驚呆了!不但聲音的質(zhì)感很像我,就連我朗讀時(shí)的語氣也模仿得惟妙惟肖。我把它傳給朋友和同事們聽,大家也都被震驚了,紛紛表示以后接到我發(fā)的語音信息必須先得核實(shí)一下才敢相信。
其實(shí)他們大可不必?fù)?dān)心。這段音頻帶有比較明顯的朗誦腔,語氣非常嚴(yán)肅,和我平時(shí)說話還是有很大差別的。仔細(xì)想想這也很好理解,畢竟電腦的樣本庫(kù)里只有我念的那一萬多字科普文章的音頻資料,我因?yàn)槿狈I(yè)訓(xùn)練,很難念出抑揚(yáng)頓挫的感覺,電腦只不過忠實(shí)地模仿了我的朗讀風(fēng)格而已。事實(shí)上,因?yàn)槲恼聝?nèi)容比較嚴(yán)肅,如果用普通音頻軟件來讀的話,很容易讀成催眠曲。找一個(gè)不相干的人來讀吧,又怕讀得太過情緒化,不符合文章的原意。現(xiàn)在這個(gè)結(jié)果剛剛好,不但準(zhǔn)確地表達(dá)了原文的意思,而且聽眾應(yīng)該也更希望聽到文章作者自己的聲音吧,這樣會(huì)顯得更加親切。
當(dāng)然了,這段電腦朗讀并不是十全十美的,主要問題出在斷句上,比如“評(píng)價(jià)一個(gè)癌細(xì)胞致癌性的強(qiáng)弱”這句話,電腦不知為何在“癌細(xì)胞”和“致癌性”這兩個(gè)詞之間停頓了一下,說明電腦并沒有真的理解這句話的含義。
既然如此,電腦是怎么做到把一篇科普文章朗誦得像作者本人的呢?帶著這個(gè)疑問,我訪問了位于北京海淀區(qū)中關(guān)村的微軟亞太研發(fā)集團(tuán)總部,請(qǐng)人工智能語音組的產(chǎn)品總監(jiān)丁秉公和首席研發(fā)經(jīng)理何磊為我詳細(xì)解釋了語音合成技術(shù)的歷史,以及微軟這套Neural TTS系統(tǒng)的工作原理。
微軟人工智能語音組首席研發(fā)經(jīng)理何磊
語音合成的前世今生
根據(jù)兩位博士的介紹,傳統(tǒng)的中文語音合成技術(shù)大致可以分為前端和后端這兩部分,前端的主要任務(wù)是對(duì)輸入的文本進(jìn)行語義分析,即把一個(gè)個(gè)單獨(dú)的中文字進(jìn)行分詞斷句,并標(biāo)注出每個(gè)詞的詞性,因?yàn)橹形挠卸嘁糇值膯栴},不同的詞性讀音很可能不一樣,韻律也會(huì)有所不同。之后還要進(jìn)行一次歸一化處理(Normalization),比如110用在電話號(hào)碼里應(yīng)該讀成“幺幺零”,而不是“一百一十”。前端部分需要電腦掌握基本的語言規(guī)則,機(jī)器學(xué)習(xí)程序也可以得到部分應(yīng)用。
后端處理有兩種不同的模式,一種叫拼接合成,即把每句話切成一個(gè)個(gè)小片段,然后從語音庫(kù)里調(diào)出相應(yīng)的片段加以拼接。這個(gè)過程有點(diǎn)像搭樂高,或者更準(zhǔn)確地說,像間諜寫信時(shí)為了不讓對(duì)方看出筆跡而從報(bào)紙上找單詞,再剪下來拼接。另一種模式叫做參數(shù)合成,讓電腦根據(jù)前端的語義分析結(jié)果預(yù)測(cè)相應(yīng)的聲學(xué)特征序列,再用聲碼器直接進(jìn)行聲音的合成。
這兩種模式本質(zhì)上都是基于統(tǒng)計(jì)的選擇,即哪種方式人類用的比較多就選擇哪種。相比之下,拼接合成模式做出來的聲音更像真人,只不過聽起來會(huì)感覺有點(diǎn)跳躍,不夠平滑。參數(shù)合成模式做出來的聲音則正相反,聽起來非常平滑,但卻會(huì)顯得單調(diào)無趣,缺乏個(gè)性,而且聲音會(huì)有點(diǎn)發(fā)悶,一聽就是電腦做出來的。
配備攝像頭和麥克風(fēng)陣列的智能會(huì)議系統(tǒng)“黑塔”
從電腦的角度來看,拼接合成模式需要的計(jì)算量比較大,通常需要聯(lián)網(wǎng)才能使用。參數(shù)合成模式需要的計(jì)算量比較小,適合離線狀態(tài),所以我們平時(shí)聽到的導(dǎo)航聲音大都是用參數(shù)合成的辦法做出來的。但像一些名人聲音,比如郭德綱或者林志玲的定制聲音,則是兩者結(jié)合的產(chǎn)物。
微軟早在2003年就成立了語音組,致力于開發(fā)電腦語音處理系統(tǒng)。在上述這兩種傳統(tǒng)方法的基礎(chǔ)上,該組于去年開始嘗試一個(gè)根本性的技術(shù)革新,即把目前最火的深度神經(jīng)網(wǎng)絡(luò)技術(shù)用了進(jìn)來,最大限度地模仿人類說話的方式。
“我們平時(shí)說話的時(shí)候,肯定不會(huì)先在心里分詞斷句,再標(biāo)詞性標(biāo)韻律,而是想到什么直接就說出來了,因?yàn)檎Z言規(guī)則早就存在我們的腦子里了。”丁秉公對(duì)我說,“于是我們?nèi)绶ㄅ谥疲苯影汛罅康奈淖忠约跋鄳?yīng)的語音信息輸進(jìn)電腦,訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)去學(xué)習(xí)這些真人的說話方式,這樣學(xué)出來的語音包含有大量真人說話特有的聲音細(xì)節(jié),甚至像換氣和咽口水等等細(xì)微的聲音都可以模仿出來,這就為聲音定制提供了可能性。”
“我那天只給你們錄了幾百句話,這么點(diǎn)兒訓(xùn)練量怎么夠呢?”我問。
“因?yàn)槲覀兊南到y(tǒng)事先已經(jīng)學(xué)習(xí)了成百上千個(gè)不同人的聲音,得到了一個(gè)普適的通用模型(Universal Model),然后我們只要把你的個(gè)人特征加進(jìn)這個(gè)已經(jīng)訓(xùn)練好了的系統(tǒng)里,進(jìn)行一下優(yōu)化就可以了。”何磊這樣解釋,“優(yōu)化好的系統(tǒng)就只適用于你一個(gè)人,讀任何東西出來的都是你的聲音,這就是我們的聲音定制服務(wù)。”
據(jù)介紹,目前這套系統(tǒng)已經(jīng)可以商用,背后有微軟云計(jì)算平臺(tái)Azure強(qiáng)大的計(jì)算能力作為支持。這就好比當(dāng)年和李世石對(duì)弈的第一代阿爾法圍棋程序,后臺(tái)有一大堆計(jì)算機(jī)在瘋狂地工作著。經(jīng)過不斷地優(yōu)化,和柯潔對(duì)弈的第二代阿爾法圍棋程序就可以在一臺(tái)單機(jī)上運(yùn)行了,這套系統(tǒng)也正朝這個(gè)方向努力。
“我們這套Neural TTS系統(tǒng)本質(zhì)上仍然是基于統(tǒng)計(jì)的,不是真正意義上的閱讀理解,所以還是會(huì)犯錯(cuò),對(duì)于準(zhǔn)確率要求比較高的場(chǎng)景,后期需要編輯進(jìn)行校驗(yàn)和修改。”丁秉公告訴我,“其實(shí)真人錄音同樣需要后期處理,工作量也很大,而我們這套系統(tǒng)的好處是可以先批量生產(chǎn)出一大批音頻文件,投放到市場(chǎng)上去,然后根據(jù)聽眾的反饋,挑出最受歡迎的書籍或者文章,再找真人專門錄一個(gè)高質(zhì)量的音頻版本就行了。”
對(duì)于我的音頻節(jié)目來說,我需要找一個(gè)中英文都說得很好的朗讀者,因?yàn)椤渡素浴防镉泻芏鄬S忻~,大都附上了英文,最好能讀出來。好在微軟是一家跨國(guó)公司,所以這套系統(tǒng)在多語言混合的情況下表現(xiàn)得非常優(yōu)秀,比其他競(jìng)爭(zhēng)對(duì)手要高一個(gè)檔次。
“我們這套系統(tǒng)還可以讓你說很多種語言,即使你本人其實(shí)一句也不會(huì)說。”何磊補(bǔ)充道,“因?yàn)槲覀円呀?jīng)把這些語言的通用模型做好了,只要把你的聲音特征加上去就行了。”
何磊給我播放了幾段演示音頻,同樣一個(gè)女聲,既可以說中文和英文,也可以說德語、法語、日語和西班牙語,甚至連四川話都能說。
“其實(shí)我們做這套系統(tǒng)不光是為了制作音頻節(jié)目,還可以幫助視障人員或者漸凍癥患者發(fā)出自己的聲音。”丁秉公告訴我,“假設(shè)一個(gè)人知道自己得了漸凍癥,即將在不遠(yuǎn)的將來失去說話的能力,我們可以事先把他的聲音錄下來,然后他就可以通過電腦用自己的嗓音和外界通話了。”
同理,現(xiàn)在市面上流行的翻譯機(jī)用的都是標(biāo)準(zhǔn)音,如果將來這套技術(shù)能夠?qū)崿F(xiàn)單機(jī)運(yùn)行的話,就可以讓翻譯機(jī)發(fā)出使用者自己的聲音,聽上去會(huì)更加自然。
總之,這項(xiàng)技術(shù)前途無量,應(yīng)用場(chǎng)景太多了。為了防止將來有人盜用這項(xiàng)技術(shù)冒充他人牟取私利,微軟特意在所有的電腦音頻中加入了一個(gè)常人聽不出來的標(biāo)記信號(hào),以便專業(yè)人士能夠分辨出來。
微軟人工智能語音組產(chǎn)品總監(jiān)丁秉公
語音識(shí)別是更大的挑戰(zhàn)
聊了半天語音合成,我順便問了問語音合成技術(shù)的孿生兄弟,語音識(shí)別技術(shù)的現(xiàn)狀。作為一名記者,這個(gè)功能也是非常有用的,能夠幫助我整理采訪錄音。
“微軟從上世紀(jì)90年代起就開始研究語言識(shí)別技術(shù)了,當(dāng)時(shí)還只能做到50%的準(zhǔn)確率,沒法實(shí)用。”丁秉公介紹說,“經(jīng)過多年的努力,2017年時(shí)我們已經(jīng)可以把錯(cuò)誤率降到5.1%,也就是說每100個(gè)字只聽錯(cuò)5個(gè),這個(gè)成績(jī)已經(jīng)比真人要好了。”
我用微軟提供的麥克風(fēng)試了試,故意夾雜了一句含混不清的北京土話,居然被正確地識(shí)別了出來。
“你這個(gè)叫近場(chǎng)識(shí)別,準(zhǔn)確度最高。如果聲源距離麥克風(fēng)超過了一米遠(yuǎn),叫遠(yuǎn)場(chǎng)聲,電腦雖然也能識(shí)別出來,準(zhǔn)確率就沒有那么高了。”丁秉公解釋說,“除此之外,我們還得考慮環(huán)境噪聲的影響、回聲的干擾、錄音質(zhì)量過低的問題,以及從多人對(duì)話中分辨出誰在說話,難度非常大。”
為了解決最后這個(gè)問題,可以事先對(duì)每一位說話者進(jìn)行幾分鐘的聲音采樣,讓電腦學(xué)會(huì)這些人的聲音特征。但很多時(shí)候這是不可能做到的,此時(shí)就得想點(diǎn)新的招數(shù)。丁秉公為我演示了微軟出的一套全新的會(huì)議記錄系統(tǒng),除了麥克風(fēng)之外還添加了若干個(gè)攝像頭,幫助電腦更好地辨別出是誰在說話。如果會(huì)議室里安裝了這套系統(tǒng),會(huì)議結(jié)束后就可以立即拿到完整的會(huì)議記錄,非常方便。
對(duì)于人類來說,聽肯定要比說更容易。我們小時(shí)候大都是先學(xué)會(huì)聽,再學(xué)會(huì)說的,為什么電腦反過來了呢?答案要從電腦的特點(diǎn)中去尋找。電腦和人腦相比,最大的特點(diǎn)就是更加精確。如果一個(gè)問題能夠被精確地定義或者描述出來,電腦解決起來就要容易得多,這就是為什么教電腦下圍棋要比教電腦畫畫更容易。
在電腦語言這個(gè)案例里,語音合成就是一個(gè)定義明確的任務(wù)。輸入電腦的原始數(shù)據(jù)是真人在錄音棚里對(duì)著麥克風(fēng)朗讀出來的,和對(duì)應(yīng)的文本一字不差,數(shù)據(jù)非常干凈。用這樣的高質(zhì)量數(shù)據(jù)訓(xùn)練電腦,可以更好地利用深度神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力。相比之下,訓(xùn)練電腦語音識(shí)別時(shí)所輸入的原始數(shù)據(jù)就顯得比較“臟”了,電腦最怕這種模糊的東西,處理起來就要困難得多。
雖然難度很大,但微軟已經(jīng)開發(fā)出了支持30多個(gè)國(guó)家的語音識(shí)別系統(tǒng),并支持近場(chǎng)和遠(yuǎn)場(chǎng)等復(fù)雜情況下的語音識(shí)別任務(wù)。這套系統(tǒng)除了能夠幫助記者整理錄音,以及進(jìn)行會(huì)議記錄之外,還能幫助遠(yuǎn)程服務(wù)公司對(duì)電話客服人員進(jìn)行質(zhì)量檢查。此前這類檢查只能靠聽,很費(fèi)時(shí)間,現(xiàn)在可以把所有電話錄音輸入電腦,瞬間輸出文字記錄,然后質(zhì)檢員就可以通過關(guān)鍵詞篩選等方式快速進(jìn)行質(zhì)量檢查了。
對(duì)于普通人來說,這兩套系統(tǒng)更為人所知的應(yīng)用就是人機(jī)對(duì)話,比如微軟小娜和小冰。不過,語音合成和識(shí)別只是人機(jī)對(duì)話的基礎(chǔ),其背后還需要更高級(jí)的人工智能作為后盾,這就是另外一個(gè)話題了。
語音合成和語音識(shí)別是一枚硬幣的正反兩面,正好可以用來相互學(xué)習(xí),就像當(dāng)初阿爾法圍棋程序通過左右互搏來提高水平一樣。微軟正在嘗試把這兩套系統(tǒng)結(jié)合起來,互相訓(xùn)練,希望能盡快提高水平,真正做到像人一樣說話聽音。
值得一提的是,微軟的語音識(shí)別和合成技術(shù)并不只是為某個(gè)產(chǎn)品服務(wù)的,它更像是一個(gè)技術(shù)平臺(tái),任何客戶都可以通過微軟的云計(jì)算平臺(tái)Azure享受這項(xiàng)服務(wù)。事實(shí)上,微軟早就不是那個(gè)只賣Windows操作系統(tǒng)的軟件公司了。在新任CEO的領(lǐng)導(dǎo)下,微軟已經(jīng)轉(zhuǎn)變成了一家致力于提供云計(jì)算服務(wù)的to B公司,目前市面上很多需要電腦語音功能的公司都采用了微軟提供的技術(shù)。
總的來說,雖然如今的電腦越來越像人,但距離真正意義上的人工智能還差得很遠(yuǎn)。微軟的這套語音合成與識(shí)別技術(shù)更像是一個(gè)黑匣子,我們只能一邊輸入一邊輸出,并不知道匣子里究竟發(fā)生了什么。要想讓電腦像人一樣在理解的基礎(chǔ)上說人話,必須想辦法打破黑匣子,弄清楚里面到底發(fā)生了什么,我們距離那一天還有很長(zhǎng)的一段路要走。
中讀X微軟
聯(lián)手打造首個(gè)“聲音定制”專欄
“土摩托·生命八卦”
帶你了解問題的答案,解鎖科學(xué)的思維方式
總結(jié)
以上是生活随笔為你收集整理的让电脑说人话让电脑说人话的软件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java将图片铺满panel_如何让添加
- 下一篇: 如何让办公打印更轻松办公打印机怎么使用教