Photo by Lukas from Pexels
語音技術(shù)的進(jìn)步,讓機(jī)器合成的聲音不再頓挫、冰冷,在自然度和可懂度等方面取得了不錯(cuò)的成績,但當(dāng)前合成效果在合成音的表現(xiàn)力上,特別是語氣和情感方面,還存在不足。聲音如果缺少情感,何談表現(xiàn)力,又如何能提高用戶交互的意愿?本文由標(biāo)貝科技聯(lián)合創(chuàng)始人兼CTO李秀林LiveVideoStack線上分享內(nèi)容整理而成。
文/李秀林
整理/LiveVideoStack
回放鏈接:https://www.livevideostack.cn/video/sillon/
大家好,我是標(biāo)貝科技的李秀林,非常高興能與大家分享情感語音合成的事情。
在語音交互中語音識(shí)別、語音合成、語音理解是必不可少的環(huán)節(jié)。語音識(shí)別,也就是識(shí)別用戶說的話。識(shí)別完成后,系統(tǒng)需要理解用戶語言背后的含義,我們稱之為語義理解。理解到用戶的訴求后,需要尋找答案并給出響應(yīng)。通常情況下,我們會(huì)首先得到一份文本形式的答案,然后再將文本通過語音合成,模仿人說話的形式反饋給用戶,這也就形成一輪完整的語音交互。
語音交互過程涉及語音合成,即把文字變成聲音,聲音是文字內(nèi)容的一個(gè)信息載體。語音交互是日常生活中最常見、最被人熟悉并樂于接受的展現(xiàn)形式,例如:人與人說話、看電視、聽收音機(jī)、與音響交互等等。體驗(yàn)效果的好壞,會(huì)對(duì)用戶的感知造成很大影響。如果語音合成質(zhì)量較好,說話效果更接近真人,且情感表達(dá)豐富,那么用戶的交互意愿自然也會(huì)更強(qiáng),用戶會(huì)覺得這不是一個(gè)冷冰冰的機(jī)器,會(huì)有愿意與這類智能體進(jìn)一步交互。
這段小視頻是疫情初期我們的合作伙伴利用語音合成技術(shù)生成的。從視頻中大家可以明顯感受到:我們可以從聲音當(dāng)中獲取充分的信息,也就是信息的傳達(dá)作用是完全沒有問題的。但也同樣存在一個(gè)問題,即聲音相對(duì)來說比較平淡,聲音更多的是作為一個(gè)信息載體,而不是作為一個(gè)表達(dá)的載體。
接下來會(huì)和大家一同探討語音合成和情感語音合成的技術(shù)難點(diǎn)與實(shí)現(xiàn),以及將來語音合成的發(fā)展和應(yīng)用場景。
01 語音合成的發(fā)展
語音合成的歷史可以說是相當(dāng)悠久。最初,實(shí)際上是通過類似于鋼琴一樣的設(shè)備來彈奏,能夠發(fā)出幾個(gè)聲音,大家就已經(jīng)覺得非常厲害。隨著計(jì)算機(jī)技術(shù)的發(fā)展,從80年代到90年代再到現(xiàn)階段,技術(shù)的迭代更新也越來越快。
90年代,計(jì)算機(jī)已經(jīng)可以支持幾百兆甚至上G的內(nèi)存,硬盤也足以支持幾十G的內(nèi)存,能夠?qū)崿F(xiàn)存儲(chǔ)大量的數(shù)據(jù)并進(jìn)行較為復(fù)雜的處理。上圖展示的系統(tǒng)框架就是在這一階段產(chǎn)生的,并且直到前幾年還有很多商務(wù)系統(tǒng)仍舊使用這套框架。
在框架中,訓(xùn)練階段我們會(huì)針對(duì)音庫的數(shù)據(jù)以及對(duì)應(yīng)的標(biāo)注文本進(jìn)行建模(包括基頻的提取、譜特征提取,以及時(shí)長提取等),訓(xùn)練成時(shí)長模型、基頻模型、譜模型等。合成階段則存在拼接合成、參數(shù)合成兩種主流的方案。
拼接合成:用戶輸入的文本將通過文本分析,并結(jié)合訓(xùn)練好的模型生成對(duì)應(yīng)參數(shù)。該參數(shù)可以指導(dǎo)拼接系統(tǒng)進(jìn)行單元挑選。所謂單元挑選,即從之前錄制好的音庫片段中挑選最合適的部分,將其拼接起來,使得整個(gè)聲音更加流暢,接近于真人。單元挑選的優(yōu)點(diǎn)是音質(zhì)還原度非常好,而缺點(diǎn)是其音級(jí)單元之間有時(shí)會(huì)產(chǎn)生一些跳躍和不連貫,通常表現(xiàn)為在聽感上會(huì)感覺有些地方不流暢、不舒服。
參數(shù)合成:即不使用原始的聲音片段,通過聲碼器對(duì)聲學(xué)參數(shù)進(jìn)行轉(zhuǎn)換,生成聲音。這種方案由于其統(tǒng)計(jì)特性、以及聲碼器性能的影響,在音質(zhì)方面會(huì)相對(duì)弱一些。
近些年,隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,統(tǒng)計(jì)模型方面受到很大影響。之前許多基于高斯混合模型的統(tǒng)計(jì),我們可以直接通過神經(jīng)網(wǎng)絡(luò)模型來實(shí)現(xiàn)。當(dāng)前階段我們將它命名為—自學(xué)習(xí)階段。
神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的自我學(xué)習(xí)能力,有非常多的權(quán)重,可以通過數(shù)據(jù),學(xué)習(xí)到許多連專家都難以總結(jié)出來的特點(diǎn)。因此,當(dāng)前階段大家會(huì)更多的選擇使用神經(jīng)網(wǎng)絡(luò)。
2016年,WaveNet的出現(xiàn)徹底改變了聲音生成的方式,它將逐幀生成,即以幀為單位的聲音生成變成了逐點(diǎn)生成波形。所帶來的好處是聲音還原度變得非常高,在一定程度上可以說是接近于原始聲音。盡管其仍存在計(jì)算量復(fù)雜的缺點(diǎn),但此缺點(diǎn)在近兩年也已通過一系列的改造,例如并行的WaveNet等等,逐漸變得可以接受,同時(shí)優(yōu)勢的體現(xiàn)也越來越充分。
2017年,Tacotron以及后續(xù)Tacotron2等一系列的變體,為我們提供了一種端到端的語音合成方式。端到端雖然更多的是一個(gè)學(xué)術(shù)概念,但就整體系統(tǒng)來說是非常漂亮的。它利用核心的Attention機(jī)制,將輸入和輸出之間的關(guān)聯(lián)度,通過模型很好的表述出來。在此之前我們通常是先做一個(gè)時(shí)長模型,然后再做其它譜模型、基頻的模型,而通過端到端的模型,我們就可以跳過時(shí)長模型,直接針對(duì)整句話進(jìn)行建模。Tacotron的出現(xiàn),對(duì)于合成語音的韻律,節(jié)奏方面都有很大的提升(更接近真人)。
2018年,大家將兩種網(wǎng)絡(luò)結(jié)合在一起,即將端到端與神經(jīng)網(wǎng)絡(luò)的聲碼器結(jié)合形成一個(gè)更逼真的語音合成系統(tǒng)。并且對(duì)Attention的結(jié)構(gòu)也進(jìn)行了一些改造,使得系統(tǒng)整體性能更優(yōu)。所以在2018年以后,我們所見到的語音合成系統(tǒng)大多是基于Tacotron或Tacotron2實(shí)現(xiàn)。
02 情感合成
2.1情感合成是什么?
以上簡單介紹了語音合成近些年的一些變化,那么為什么在經(jīng)歷了這一系列變化后,大家覺得還是不夠?一般來說合成的數(shù)據(jù)我們都會(huì)考慮追求平穩(wěn),因此在情感和表達(dá)方面也就不會(huì)太豐富。但近些年大家對(duì)情感合成以及個(gè)性化合成的興趣與需求越來越高。
關(guān)于情感合成,我們可以想象一下,假如我們?cè)诤蜋C(jī)器交流時(shí)能夠像和一個(gè)真正的人交談一樣,它可以用平淡的聲音、高興的聲音、悲傷的聲音,甚至不同的情感有不同的強(qiáng)度,比如說微微有點(diǎn)不高興、非常不高興、非常憤怒。那么可想而知這種場景會(huì)給我們的生活帶來多大改變。
情感合成作為一項(xiàng)技術(shù),當(dāng)然也離不開神經(jīng)網(wǎng)絡(luò)的三要素:算法、算力和數(shù)據(jù)。而對(duì)于語音合成領(lǐng)域來說,算力實(shí)際上是不太重要的,我們可以通過一些GPU的卡來解決算力的問題,因此需要我們重點(diǎn)關(guān)注的是算法和數(shù)據(jù)的問題。
情感合成的算法在最初使用HTS技術(shù)時(shí),已經(jīng)有很多學(xué)者進(jìn)行過一些探索。但是由于模型的描述能力,以及模型本身自學(xué)習(xí)能力較弱,實(shí)用性會(huì)差一些。
2.2情感標(biāo)簽的使用
大家可以發(fā)現(xiàn),在有了神經(jīng)網(wǎng)絡(luò)之后,目前情感合成的方案基本上都是在一個(gè)很好的框架之上來進(jìn)行一些不同的改造,下面簡單介紹幾種不同的解決方案。
在這篇端到端的情感合成的文章里,提到用情感做標(biāo)簽(在原有網(wǎng)絡(luò)基礎(chǔ)上增加一個(gè)情感標(biāo)簽),通過一個(gè)prenet把這些信息引入到Attention的decoder中。這樣情感的信息自然會(huì)通過網(wǎng)絡(luò)得到一定的學(xué)習(xí),在合成的時(shí)候,如果能賦予合適的情感標(biāo)簽,也就能合成出有一定情感表達(dá)力的聲音。
2.3情感合成的實(shí)現(xiàn)
2.3.1說話人嵌入的使用
除情感標(biāo)簽之外,比如說這篇文章,提到用說話人入嵌Encoder的方式。也就是將說話人的聲音特征,通過編碼器得到speakerembedding,并將其結(jié)合到Attention的網(wǎng)絡(luò)中,實(shí)現(xiàn)不同說話人聲音合成的效果。
我們其實(shí)可以從另外一個(gè)角度考慮,情感是什么?或者不同的變化是什么?它可以是情感本身、不同說話人、以及語言風(fēng)格等等。所以上述說話人嵌入的方式,其實(shí)對(duì)整個(gè)情感合成也會(huì)有一定的借鑒作用。
2.3.2風(fēng)格嵌入的使用
這篇文章介紹的是通過一個(gè)稍微復(fù)雜些的子網(wǎng)絡(luò)實(shí)現(xiàn)風(fēng)格的嵌入,其整體核心框架也同樣是Tacotron系列。方法是在子網(wǎng)絡(luò)中構(gòu)建一個(gè)風(fēng)格的分類,在進(jìn)行風(fēng)格分類embedding之后,與之前文本的encoder結(jié)果一同加入到網(wǎng)絡(luò)當(dāng)中去。在推理的時(shí)候,通過風(fēng)格的控制來改變整體合成的效果。
2.3.3聲學(xué)特征&說話人嵌入的使用
這篇文章也是類似的思路,除文本特征之外,再通過lookuptable來做說話人的嵌入,通過譜的片段進(jìn)行韻律的嵌入,最后將三種嵌入合成起來,作為影響整個(gè)系統(tǒng)的控制因素。
2.3.4VAE的使用
除了上述提到的情感嵌入、說話人嵌入、風(fēng)格嵌入之外,還有一種VAE的方法。它將譜的特征通過一個(gè)唯一的網(wǎng)絡(luò)—子網(wǎng),在學(xué)習(xí)到特征之后,與文本特征一同輸入到Attention的網(wǎng)絡(luò)(在這里選擇的是Tacotron2的網(wǎng)絡(luò))。
綜上可知我們的網(wǎng)絡(luò)主體基本上是一個(gè)Attention機(jī)制的網(wǎng)絡(luò)(如Tacotron或Tacotron2),在這個(gè)主體之上,我們會(huì)加入一些特征,這個(gè)特征可以是各種各樣的標(biāo)簽作為輸入。也就相當(dāng)于把風(fēng)格、情感等變量單一或者組合使用,引入到整個(gè)系統(tǒng)當(dāng)中。
以上就是當(dāng)前可以看到的文獻(xiàn)中出現(xiàn)的一些情感合成方案。
2.3.5情感合成數(shù)據(jù)
數(shù)據(jù)是另外一個(gè)制約系統(tǒng)整體表現(xiàn)力的因素,在情感合成數(shù)據(jù)方面,我們面臨著很多的問題。
比如我們需要數(shù)據(jù)有情感表現(xiàn)力,所謂情感表現(xiàn)力是指在聽到一段聲音后,能夠明顯感知到說話人是高興的、生氣的、還是憂傷的,這也是我們現(xiàn)階段希望能夠解決的一個(gè)問題。還有就是情感控制,說話人情感表現(xiàn)的程度,有的比較輕微,有的是比較強(qiáng)烈,我們做數(shù)據(jù)的時(shí)候,應(yīng)該選擇哪一種?前景網(wǎng)絡(luò)如果情感過于強(qiáng)烈,并且波動(dòng)范圍很大的話,對(duì)于建模的要求就會(huì)非常高。那么我們就希望能夠在數(shù)據(jù)層面,對(duì)情感的控制有一個(gè)度量。
第三點(diǎn),也就是數(shù)據(jù)的規(guī)模,我們知道對(duì)于神經(jīng)網(wǎng)絡(luò)來說,數(shù)據(jù)規(guī)模越大,則整體效果越好,當(dāng)然這是一個(gè)理想的情況。而現(xiàn)實(shí)是,我們?cè)趯?duì)情感表現(xiàn)力和情感控制方面要求比較嚴(yán)格時(shí),往往只能采用同一個(gè)人的不同情感聲音數(shù)據(jù),那么數(shù)據(jù)規(guī)模本身就會(huì)受到一定限制,因此數(shù)據(jù)規(guī)模也是制約情感合成技術(shù)發(fā)展的一個(gè)關(guān)鍵點(diǎn)。
接下來介紹下我們所做的一些工作,標(biāo)貝科技專注于提供人工智能數(shù)據(jù)的服務(wù),同時(shí)也提供高音質(zhì),多場景,多類別語音合成的整體解決方案。我們希望在做高質(zhì)量語音合成數(shù)據(jù)的同時(shí),能夠?yàn)橹行⌒推髽I(yè)提供更多優(yōu)質(zhì)的解決方案,幫助解決他們的問題。
同樣,我們也希望能夠?yàn)檎麄(gè)語音行業(yè)提供一些基礎(chǔ)的數(shù)據(jù)支持。比如2017年,我們就將一個(gè)10000句話規(guī)模的高質(zhì)量語音合成庫共享給了整個(gè)行業(yè)進(jìn)行學(xué)術(shù)研究,希望能夠跟大家一起將語音技術(shù)做的越來越好。
在數(shù)據(jù)方面,我們擁有包括識(shí)別自有庫,合成自有庫,歌曲音庫、明星IP音庫、以及方言音庫等在內(nèi)的多種不同類型的語音數(shù)據(jù)庫,語音數(shù)據(jù)時(shí)長累計(jì)超過十萬小時(shí),這些數(shù)據(jù)有很多也應(yīng)用到了我們的情感合成實(shí)踐當(dāng)中。
03 標(biāo)貝科技情感合成實(shí)踐
在情感合成實(shí)踐當(dāng)中,我們主要應(yīng)用到了三類數(shù)據(jù)。
第一類是多人的數(shù)據(jù)庫,規(guī)模并不是特別大,在使用時(shí)大概是100人左右的規(guī)模。這100人里,每個(gè)人會(huì)說500句話,其中300句話是相同的,200句話是不同的。在不同人之間,實(shí)際上也會(huì)有一些共性的東西,有一些不同的東西。在發(fā)言人方面,覆蓋了從兒童、青年、老年等不同年齡段,這樣做的好處是它可以讓我們學(xué)習(xí)到不同年齡段人說話的特點(diǎn)。這些特點(diǎn)可能是受說話人自己的知識(shí)背景、生活環(huán)境影響,或者是生理因素(比如聲帶的發(fā)育階段,聲帶的老化情況等)影響而形成。
第二類數(shù)據(jù),用到了一些中大規(guī)模的合成數(shù)據(jù)庫。這些數(shù)據(jù)庫有的是男生的、有的是女生的,數(shù)據(jù)規(guī)模比多人數(shù)據(jù)庫要大很多,基本上都是幾千句的,幾萬句的規(guī)模。
第三類數(shù)據(jù)庫是情感數(shù)據(jù)庫。情感數(shù)據(jù)庫中包含六種情感形式,悲傷、憤怒、驚訝、恐懼、喜悅和厭惡。除此之外,還包括同說話人的中性聲音,即不帶情感比較平穩(wěn)的聲音。所以實(shí)際上這個(gè)情感數(shù)據(jù)庫,包括六種情感和一種中性的聲音,七種聲音都是同一個(gè)發(fā)音人。
上述三類數(shù)據(jù)的用途各不相同:100人數(shù)據(jù)庫,主要用來做說話人嵌入的網(wǎng)絡(luò)。假如我們通過一個(gè)神經(jīng)網(wǎng)絡(luò)來刻畫每個(gè)人,用向量表示的話應(yīng)該是什么樣?在這里我們用了一個(gè)神經(jīng)網(wǎng)絡(luò)來專門做說話人嵌入的向量訓(xùn)練。
第二個(gè)階段,中大規(guī)模的數(shù)據(jù)庫做平均模型。我們將說話人的嵌入與數(shù)據(jù)結(jié)合起來,做了一個(gè)平均模型。因?yàn)檩斎氲奈谋竞桶l(fā)音之間有一定的對(duì)應(yīng)關(guān)系,所以平均模型相對(duì)來說比較穩(wěn)定。
最后,我們就可以利用情感數(shù)據(jù)庫結(jié)合平均模型,實(shí)現(xiàn)情感語音合成的模型。
標(biāo)貝科技情感合成實(shí)踐音頻