
Photo by Lukas from Pexels
語(yǔ)音技術(shù)的進(jìn)步,讓機器合成的聲音不再頓挫、冰冷,在自然度和可懂度等方面取得了不錯的成績(jì),但當前合成效果在合成音的表現力上,特別是語(yǔ)氣和情感方面,還存在不足。聲音如果缺少情感,何談表現力,又如何能提高用戶(hù)交互的意愿?本文由標貝科技聯(lián)合創(chuàng )始人兼CTO李秀林LiveVideoStack線(xiàn)上分享內容整理而成。
文/李秀林
整理/LiveVideoStack
回放鏈接:https://www.livevideostack.cn/video/sillon/
大家好,我是標貝科技的李秀林,非常高興能與大家分享情感語(yǔ)音合成的事情。

在語(yǔ)音交互中語(yǔ)音識別、語(yǔ)音合成、語(yǔ)音理解是必不可少的環(huán)節。語(yǔ)音識別,也就是識別用戶(hù)說(shuō)的話(huà)。識別完成后,系統需要理解用戶(hù)語(yǔ)言背后的含義,我們稱(chēng)之為語(yǔ)義理解。理解到用戶(hù)的訴求后,需要尋找答案并給出響應。通常情況下,我們會(huì )首先得到一份文本形式的答案,然后再將文本通過(guò)語(yǔ)音合成,模仿人說(shuō)話(huà)的形式反饋給用戶(hù),這也就形成一輪完整的語(yǔ)音交互。

語(yǔ)音交互過(guò)程涉及語(yǔ)音合成,即把文字變成聲音,聲音是文字內容的一個(gè)信息載體。語(yǔ)音交互是日常生活中最常見(jiàn)、最被人熟悉并樂(lè )于接受的展現形式,例如:人與人說(shuō)話(huà)、看電視、聽(tīng)收音機、與音響交互等等。體驗效果的好壞,會(huì )對用戶(hù)的感知造成很大影響。如果語(yǔ)音合成質(zhì)量較好,說(shuō)話(huà)效果更接近真人,且情感表達豐富,那么用戶(hù)的交互意愿自然也會(huì )更強,用戶(hù)會(huì )覺(jué)得這不是一個(gè)冷冰冰的機器,會(huì )有愿意與這類(lèi)智能體進(jìn)一步交互。
這段小視頻是疫情初期我們的合作伙伴利用語(yǔ)音合成技術(shù)生成的。從視頻中大家可以明顯感受到:我們可以從聲音當中獲取充分的信息,也就是信息的傳達作用是完全沒(méi)有問(wèn)題的。但也同樣存在一個(gè)問(wèn)題,即聲音相對來(lái)說(shuō)比較平淡,聲音更多的是作為一個(gè)信息載體,而不是作為一個(gè)表達的載體。

接下來(lái)會(huì )和大家一同探討語(yǔ)音合成和情感語(yǔ)音合成的技術(shù)難點(diǎn)與實(shí)現,以及將來(lái)語(yǔ)音合成的發(fā)展和應用場(chǎng)景。
01 語(yǔ)音合成的發(fā)展

語(yǔ)音合成的歷史可以說(shuō)是相當悠久。最初,實(shí)際上是通過(guò)類(lèi)似于鋼琴一樣的設備來(lái)彈奏,能夠發(fā)出幾個(gè)聲音,大家就已經(jīng)覺(jué)得非常厲害。隨著(zhù)計算機技術(shù)的發(fā)展,從80年代到90年代再到現階段,技術(shù)的迭代更新也越來(lái)越快。

90年代,計算機已經(jīng)可以支持幾百兆甚至上G的內存,硬盤(pán)也足以支持幾十G的內存,能夠實(shí)現存儲大量的數據并進(jìn)行較為復雜的處理。上圖展示的系統框架就是在這一階段產(chǎn)生的,并且直到前幾年還有很多商務(wù)系統仍舊使用這套框架。
在框架中,訓練階段我們會(huì )針對音庫的數據以及對應的標注文本進(jìn)行建模(包括基頻的提取、譜特征提取,以及時(shí)長(cháng)提取等),訓練成時(shí)長(cháng)模型、基頻模型、譜模型等。合成階段則存在拼接合成、參數合成兩種主流的方案。
拼接合成:用戶(hù)輸入的文本將通過(guò)文本分析,并結合訓練好的模型生成對應參數。該參數可以指導拼接系統進(jìn)行單元挑選。所謂單元挑選,即從之前錄制好的音庫片段中挑選最合適的部分,將其拼接起來(lái),使得整個(gè)聲音更加流暢,接近于真人。單元挑選的優(yōu)點(diǎn)是音質(zhì)還原度非常好,而缺點(diǎn)是其音級單元之間有時(shí)會(huì )產(chǎn)生一些跳躍和不連貫,通常表現為在聽(tīng)感上會(huì )感覺(jué)有些地方不流暢、不舒服。
參數合成:即不使用原始的聲音片段,通過(guò)聲碼器對聲學(xué)參數進(jìn)行轉換,生成聲音。這種方案由于其統計特性、以及聲碼器性能的影響,在音質(zhì)方面會(huì )相對弱一些。

近些年,隨著(zhù)神經(jīng)網(wǎng)絡(luò )技術(shù)的發(fā)展,統計模型方面受到很大影響。之前許多基于高斯混合模型的統計,我們可以直接通過(guò)神經(jīng)網(wǎng)絡(luò )模型來(lái)實(shí)現。當前階段我們將它命名為—自學(xué)習階段。
神經(jīng)網(wǎng)絡(luò )具有很強的自我學(xué)習能力,有非常多的權重,可以通過(guò)數據,學(xué)習到許多連專(zhuān)家都難以總結出來(lái)的特點(diǎn)。因此,當前階段大家會(huì )更多的選擇使用神經(jīng)網(wǎng)絡(luò )。
2016年,WaveNet的出現徹底改變了聲音生成的方式,它將逐幀生成,即以幀為單位的聲音生成變成了逐點(diǎn)生成波形。所帶來(lái)的好處是聲音還原度變得非常高,在一定程度上可以說(shuō)是接近于原始聲音。盡管其仍存在計算量復雜的缺點(diǎn),但此缺點(diǎn)在近兩年也已通過(guò)一系列的改造,例如并行的WaveNet等等,逐漸變得可以接受,同時(shí)優(yōu)勢的體現也越來(lái)越充分。

2017年,Tacotron以及后續Tacotron2等一系列的變體,為我們提供了一種端到端的語(yǔ)音合成方式。端到端雖然更多的是一個(gè)學(xué)術(shù)概念,但就整體系統來(lái)說(shuō)是非常漂亮的。它利用核心的Attention機制,將輸入和輸出之間的關(guān)聯(lián)度,通過(guò)模型很好的表述出來(lái)。在此之前我們通常是先做一個(gè)時(shí)長(cháng)模型,然后再做其它譜模型、基頻的模型,而通過(guò)端到端的模型,我們就可以跳過(guò)時(shí)長(cháng)模型,直接針對整句話(huà)進(jìn)行建模。Tacotron的出現,對于合成語(yǔ)音的韻律,節奏方面都有很大的提升(更接近真人)。

2018年,大家將兩種網(wǎng)絡(luò )結合在一起,即將端到端與神經(jīng)網(wǎng)絡(luò )的聲碼器結合形成一個(gè)更逼真的語(yǔ)音合成系統。并且對Attention的結構也進(jìn)行了一些改造,使得系統整體性能更優(yōu)。所以在2018年以后,我們所見(jiàn)到的語(yǔ)音合成系統大多是基于Tacotron或Tacotron2實(shí)現。
02 情感合成
2.1情感合成是什么?

以上簡(jiǎn)單介紹了語(yǔ)音合成近些年的一些變化,那么為什么在經(jīng)歷了這一系列變化后,大家覺(jué)得還是不夠?一般來(lái)說(shuō)合成的數據我們都會(huì )考慮追求平穩,因此在情感和表達方面也就不會(huì )太豐富。但近些年大家對情感合成以及個(gè)性化合成的興趣與需求越來(lái)越高。
關(guān)于情感合成,我們可以想象一下,假如我們在和機器交流時(shí)能夠像和一個(gè)真正的人交談一樣,它可以用平淡的聲音、高興的聲音、悲傷的聲音,甚至不同的情感有不同的強度,比如說(shuō)微微有點(diǎn)不高興、非常不高興、非常憤怒。那么可想而知這種場(chǎng)景會(huì )給我們的生活帶來(lái)多大改變。

情感合成作為一項技術(shù),當然也離不開(kāi)神經(jīng)網(wǎng)絡(luò )的三要素:算法、算力和數據。而對于語(yǔ)音合成領(lǐng)域來(lái)說(shuō),算力實(shí)際上是不太重要的,我們可以通過(guò)一些GPU的卡來(lái)解決算力的問(wèn)題,因此需要我們重點(diǎn)關(guān)注的是算法和數據的問(wèn)題。
情感合成的算法在最初使用HTS技術(shù)時(shí),已經(jīng)有很多學(xué)者進(jìn)行過(guò)一些探索。但是由于模型的描述能力,以及模型本身自學(xué)習能力較弱,實(shí)用性會(huì )差一些。
2.2情感標簽的使用

大家可以發(fā)現,在有了神經(jīng)網(wǎng)絡(luò )之后,目前情感合成的方案基本上都是在一個(gè)很好的框架之上來(lái)進(jìn)行一些不同的改造,下面簡(jiǎn)單介紹幾種不同的解決方案。
在這篇端到端的情感合成的文章里,提到用情感做標簽(在原有網(wǎng)絡(luò )基礎上增加一個(gè)情感標簽),通過(guò)一個(gè)prenet把這些信息引入到Attention的decoder中。這樣情感的信息自然會(huì )通過(guò)網(wǎng)絡(luò )得到一定的學(xué)習,在合成的時(shí)候,如果能賦予合適的情感標簽,也就能合成出有一定情感表達力的聲音。
2.3情感合成的實(shí)現
2.3.1說(shuō)話(huà)人嵌入的使用

除情感標簽之外,比如說(shuō)這篇文章,提到用說(shuō)話(huà)人入嵌Encoder的方式。也就是將說(shuō)話(huà)人的聲音特征,通過(guò)編碼器得到speakerembedding,并將其結合到Attention的網(wǎng)絡(luò )中,實(shí)現不同說(shuō)話(huà)人聲音合成的效果。
我們其實(shí)可以從另外一個(gè)角度考慮,情感是什么?或者不同的變化是什么?它可以是情感本身、不同說(shuō)話(huà)人、以及語(yǔ)言風(fēng)格等等。所以上述說(shuō)話(huà)人嵌入的方式,其實(shí)對整個(gè)情感合成也會(huì )有一定的借鑒作用。
2.3.2風(fēng)格嵌入的使用

這篇文章介紹的是通過(guò)一個(gè)稍微復雜些的子網(wǎng)絡(luò )實(shí)現風(fēng)格的嵌入,其整體核心框架也同樣是Tacotron系列。方法是在子網(wǎng)絡(luò )中構建一個(gè)風(fēng)格的分類(lèi),在進(jìn)行風(fēng)格分類(lèi)embedding之后,與之前文本的encoder結果一同加入到網(wǎng)絡(luò )當中去。在推理的時(shí)候,通過(guò)風(fēng)格的控制來(lái)改變整體合成的效果。
2.3.3聲學(xué)特征&說(shuō)話(huà)人嵌入的使用

這篇文章也是類(lèi)似的思路,除文本特征之外,再通過(guò)lookuptable來(lái)做說(shuō)話(huà)人的嵌入,通過(guò)譜的片段進(jìn)行韻律的嵌入,最后將三種嵌入合成起來(lái),作為影響整個(gè)系統的控制因素。
2.3.4VAE的使用

除了上述提到的情感嵌入、說(shuō)話(huà)人嵌入、風(fēng)格嵌入之外,還有一種VAE的方法。它將譜的特征通過(guò)一個(gè)唯一的網(wǎng)絡(luò )—子網(wǎng),在學(xué)習到特征之后,與文本特征一同輸入到Attention的網(wǎng)絡(luò )(在這里選擇的是Tacotron2的網(wǎng)絡(luò ))。
綜上可知我們的網(wǎng)絡(luò )主體基本上是一個(gè)Attention機制的網(wǎng)絡(luò )(如Tacotron或Tacotron2),在這個(gè)主體之上,我們會(huì )加入一些特征,這個(gè)特征可以是各種各樣的標簽作為輸入。也就相當于把風(fēng)格、情感等變量單一或者組合使用,引入到整個(gè)系統當中。
以上就是當前可以看到的文獻中出現的一些情感合成方案。
2.3.5情感合成數據

數據是另外一個(gè)制約系統整體表現力的因素,在情感合成數據方面,我們面臨著(zhù)很多的問(wèn)題。
比如我們需要數據有情感表現力,所謂情感表現力是指在聽(tīng)到一段聲音后,能夠明顯感知到說(shuō)話(huà)人是高興的、生氣的、還是憂(yōu)傷的,這也是我們現階段希望能夠解決的一個(gè)問(wèn)題。還有就是情感控制,說(shuō)話(huà)人情感表現的程度,有的比較輕微,有的是比較強烈,我們做數據的時(shí)候,應該選擇哪一種?前景網(wǎng)絡(luò )如果情感過(guò)于強烈,并且波動(dòng)范圍很大的話(huà),對于建模的要求就會(huì )非常高。那么我們就希望能夠在數據層面,對情感的控制有一個(gè)度量。
第三點(diǎn),也就是數據的規模,我們知道對于神經(jīng)網(wǎng)絡(luò )來(lái)說(shuō),數據規模越大,則整體效果越好,當然這是一個(gè)理想的情況。而現實(shí)是,我們在對情感表現力和情感控制方面要求比較嚴格時(shí),往往只能采用同一個(gè)人的不同情感聲音數據,那么數據規模本身就會(huì )受到一定限制,因此數據規模也是制約情感合成技術(shù)發(fā)展的一個(gè)關(guān)鍵點(diǎn)。

接下來(lái)介紹下我們所做的一些工作,標貝科技專(zhuān)注于提供人工智能數據的服務(wù),同時(shí)也提供高音質(zhì),多場(chǎng)景,多類(lèi)別語(yǔ)音合成的整體解決方案。我們希望在做高質(zhì)量語(yǔ)音合成數據的同時(shí),能夠為中小型企業(yè)提供更多優(yōu)質(zhì)的解決方案,幫助解決他們的問(wèn)題。
同樣,我們也希望能夠為整個(gè)語(yǔ)音行業(yè)提供一些基礎的數據支持。比如2017年,我們就將一個(gè)10000句話(huà)規模的高質(zhì)量語(yǔ)音合成庫共享給了整個(gè)行業(yè)進(jìn)行學(xué)術(shù)研究,希望能夠跟大家一起將語(yǔ)音技術(shù)做的越來(lái)越好。

在數據方面,我們擁有包括識別自有庫,合成自有庫,歌曲音庫、明星IP音庫、以及方言音庫等在內的多種不同類(lèi)型的語(yǔ)音數據庫,語(yǔ)音數據時(shí)長(cháng)累計超過(guò)十萬(wàn)小時(shí),這些數據有很多也應用到了我們的情感合成實(shí)踐當中。
03 標貝科技情感合成實(shí)踐

在情感合成實(shí)踐當中,我們主要應用到了三類(lèi)數據。
第一類(lèi)是多人的數據庫,規模并不是特別大,在使用時(shí)大概是100人左右的規模。這100人里,每個(gè)人會(huì )說(shuō)500句話(huà),其中300句話(huà)是相同的,200句話(huà)是不同的。在不同人之間,實(shí)際上也會(huì )有一些共性的東西,有一些不同的東西。在發(fā)言人方面,覆蓋了從兒童、青年、老年等不同年齡段,這樣做的好處是它可以讓我們學(xué)習到不同年齡段人說(shuō)話(huà)的特點(diǎn)。這些特點(diǎn)可能是受說(shuō)話(huà)人自己的知識背景、生活環(huán)境影響,或者是生理因素(比如聲帶的發(fā)育階段,聲帶的老化情況等)影響而形成。
第二類(lèi)數據,用到了一些中大規模的合成數據庫。這些數據庫有的是男生的、有的是女生的,數據規模比多人數據庫要大很多,基本上都是幾千句的,幾萬(wàn)句的規模。
第三類(lèi)數據庫是情感數據庫。情感數據庫中包含六種情感形式,悲傷、憤怒、驚訝、恐懼、喜悅和厭惡。除此之外,還包括同說(shuō)話(huà)人的中性聲音,即不帶情感比較平穩的聲音。所以實(shí)際上這個(gè)情感數據庫,包括六種情感和一種中性的聲音,七種聲音都是同一個(gè)發(fā)音人。

上述三類(lèi)數據的用途各不相同:100人數據庫,主要用來(lái)做說(shuō)話(huà)人嵌入的網(wǎng)絡(luò )。假如我們通過(guò)一個(gè)神經(jīng)網(wǎng)絡(luò )來(lái)刻畫(huà)每個(gè)人,用向量表示的話(huà)應該是什么樣?在這里我們用了一個(gè)神經(jīng)網(wǎng)絡(luò )來(lái)專(zhuān)門(mén)做說(shuō)話(huà)人嵌入的向量訓練。
第二個(gè)階段,中大規模的數據庫做平均模型。我們將說(shuō)話(huà)人的嵌入與數據結合起來(lái),做了一個(gè)平均模型。因為輸入的文本和發(fā)音之間有一定的對應關(guān)系,所以平均模型相對來(lái)說(shuō)比較穩定。
最后,我們就可以利用情感數據庫結合平均模型,實(shí)現情感語(yǔ)音合成的模型。

標貝科技情感合成實(shí)踐音頻
這是一個(gè)情感合成的樣音,不同的情感是存在明顯差別的,我們能從聲音里感受到情感的變化。這里我們并沒(méi)有采用WaveNet或者復雜度比較高的聲碼器,因為我們想做的是一個(gè)能夠在線(xiàn)上提供大規模并發(fā)服務(wù)的系統,所以選擇的是LPCNet,在音質(zhì)方面還不是最好的。

隨著(zhù)情感合成技術(shù)的發(fā)展,接下來(lái)還會(huì )有哪些應用場(chǎng)景?例如剛才聽(tīng)到的語(yǔ)音故事,我們就可以將它應用到有聲讀物上。還有就是語(yǔ)音助手,近年來(lái)隨著(zhù)NLP技術(shù)的發(fā)展,語(yǔ)音助手開(kāi)始逐漸走進(jìn)大家的生活中,幫助人們完成一些簡(jiǎn)單的工作。虛擬形象近年來(lái)發(fā)展的也比較好,例如虛擬主持人、虛擬歌手、虛擬的形象,能夠具有一定的情感表現能力。
除此之外,抖音、快手等UGC創(chuàng )作平臺,其中不乏有意思的故事、視頻,但部分內容配音需要找一些專(zhuān)業(yè)的人員錄制,很多內容創(chuàng )作者并沒(méi)有這個(gè)條件。最近我們發(fā)現有許多創(chuàng )作者開(kāi)始將語(yǔ)音合成(成本更低)結合到內容創(chuàng )作中,讓內容變得更加生動(dòng)、有趣。
那么更進(jìn)一步,例如游戲和影視動(dòng)畫(huà)等領(lǐng)域,在具有一定情感表達能力后,對于一些非實(shí)時(shí)的產(chǎn)品,我們可以通過(guò)WaveNet的高質(zhì)量生成器合成更高質(zhì)量的語(yǔ)音內容,同樣具有一定潛力。
04 情感合成技術(shù)展望

但在進(jìn)行這些場(chǎng)景的廣泛應用之前,我們還需要解決如下問(wèn)題:
首先是NLP相關(guān)的問(wèn)題,例如我們想要表達一個(gè)情感,需要知道這個(gè)情感是什么,不能用高興的聲音去說(shuō)一件悲哀的事情,反之亦然。這就需要NLP有非常準確的情感分析與表達能力,不是60%、70%,我們希望至少是90%及以上,這樣用戶(hù)的接受度才會(huì )更好。
同樣,剛剛提到的有聲讀物。例如一本小說(shuō),小說(shuō)里的角色眾多,如果每個(gè)人用不同的聲音去表現,每個(gè)人又都有其自己的感情,那這本小說(shuō)就可以通過(guò)聽(tīng)的方式表現的活靈活現,這也就要求NLP具有更高的角色分析能力。
還有涉及到語(yǔ)音合成的挑戰:不同說(shuō)話(huà)人之間的情感遷移,例如對于沒(méi)有情感的聲音,可不可以通過(guò)一些類(lèi)比或者遷移技術(shù),把別人的情感和非情感的差異,在一個(gè)沒(méi)有情感數據的聲音上進(jìn)行呈現;小數據量的個(gè)性化情感合成,我們前段時(shí)間推出了標貝留聲機的一個(gè)小數據的個(gè)性化合成,這里面并沒(méi)有涉及到情感。如果我們還是在這個(gè)數據規模下,每種情感加上一句話(huà),是不是可以實(shí)現?
涉及到交互,如果想讓其更有深度,我們是不是能夠感知到與機器進(jìn)行交互的人的情感。比如現在的一些心靈電臺等,有些人遇到挫折、困難的時(shí)候跟他聊聊天,講個(gè)故事安慰一下,我覺(jué)得對社會(huì )來(lái)說(shuō)是一件非常有意義的事情。
另外就是聲音和形象的組合,例如我們現在看到的虛擬形象,在口型與聲音對應一致性上,已經(jīng)有明顯的進(jìn)步,甚至已經(jīng)能夠完成一些虛擬動(dòng)作的實(shí)現。如果能夠加上有情感的聲音以及有表現力的表情,就可以應用到影視、動(dòng)畫(huà)等這些高難度的場(chǎng)景了。
所以,在情感合成方面,實(shí)際上我們只是進(jìn)行了一些初步的探索,距離實(shí)現大范圍的快速、廣泛應用,仍需繼續努力。