聲紋變聲是指對(duì)一段語音的音色做替換,讓它聽上去像是另一個(gè)人在講同樣的內(nèi)容。聲紋變聲的處理過程包含語音的感知分離以及合成兩個(gè)步驟。首先,聲紋變聲系統(tǒng)中的語音識(shí)別模塊會(huì)將接受的語音中的語言學(xué)信息以及說話人音色信息分離。然后,語音合成模塊將目標(biāo)說話人的聲紋與前面提取的語言學(xué)內(nèi)容重新合成新的語音,從而實(shí)現(xiàn)音色的變換。
介紹完聲紋變聲的基本原理,再來看看傳統(tǒng)的變聲方法有哪幾種,它們又是基于怎樣的技術(shù)原理實(shí)現(xiàn)的?
1、傳統(tǒng)的音效效果器:早期的變聲一般采用多個(gè)音效效果器串聯(lián)的方式來從各個(gè)維度來修改人聲。常見的變聲效果器包括變調(diào)效果器、均衡器、混響效果器、共振峰濾波器等,變調(diào)效果器通過改變聲音的音調(diào)來實(shí)現(xiàn)變聲效果,比如把男聲變成女聲就需要把音調(diào)提高,電影《小黃人大眼萌》中“小黃人”的聲音就是通過變調(diào)算法把原本男聲的音調(diào)提高來實(shí)現(xiàn)的。均衡器和共振峰濾波器通過改變?nèi)寺暶總€(gè)頻段的能量分布來改變音色,較高的值可讓聲音聽起來更洪亮或清脆,較低的值可賦予深沉、渾厚的特性?;祉懶Ч鲃t是改變?nèi)寺曀诳臻g的混響效果。
但這些效果器的方式通用性較差,每個(gè)人變成一個(gè)目標(biāo)人的音色都需要重新調(diào)整參數(shù),而且語言中每個(gè)音的發(fā)音變化趨勢(shì)也不盡相同,采用同一組參數(shù)調(diào)整的效果器可能只對(duì)某些發(fā)音是正確的,這就使得很多變聲效果十分不穩(wěn)定。我們?cè)谖恼麻_頭提到的在社交、直播場(chǎng)景中很多主播
使用的軟件變聲效果器或者娛樂聲卡上自帶的變聲效果大多是這類方式,這類方式雖然可以做到“實(shí)時(shí)”,但由于采用的是傳統(tǒng)的鏈路效果器,非聲紋變聲,不僅變聲效果不穩(wěn)定,變聲的音效也非常局限,不能任意變換成某個(gè)指定人的聲音。
2、AI變聲算法:AI技術(shù)的發(fā)展為傳統(tǒng)變聲效果器需要對(duì)每個(gè)人、每個(gè)音進(jìn)行單獨(dú)調(diào)整的繁瑣流程找到了破解方式。早期AI變聲算法主要是基于統(tǒng)計(jì)模型,其核心思想是尋找一種說話人語音到目標(biāo)語音在頻譜上的映射關(guān)系,模型需要在平行語料上訓(xùn)練。所謂平行語料,就是說話人說的每一句話,變聲目標(biāo)人都要有一句同樣內(nèi)容的語料。平行語料的訓(xùn)練樣本由具有相同語言學(xué)內(nèi)容的原始語音和目標(biāo)語音組成。雖然基于這個(gè)框架的模型在變聲上取得了一定成功,但是這種配對(duì)的數(shù)據(jù)比較稀缺,而且很難有效拓展到多說話人變聲的場(chǎng)景。
而近幾年的主流的AI變聲算法通過非并行訓(xùn)練框架有效地解決了這些問題,并且極大地豐富了變聲的應(yīng)用場(chǎng)景,比如音色,情緒以及風(fēng)格的遷移等等。非并行訓(xùn)練方法的核心思想是將語音的語言學(xué)特征以及非語言學(xué)因子(例如音色、音調(diào))解除耦合關(guān)系,然后再將這些因子重新組合生成新的語音。它不依賴于配對(duì)的語音語料,極大地降低了數(shù)據(jù)獲取成本。同時(shí),這個(gè)框架也十分有利于知識(shí)遷移,可以利用一些在海量數(shù)據(jù)上預(yù)訓(xùn)練好的語音識(shí)別以及聲紋識(shí)別模型用于語言學(xué)內(nèi)容與聲紋特征的提取。
隨著深度學(xué)習(xí)的發(fā)展,當(dāng)前基于 AI 的變聲算法種類越來越多,它們相較于傳統(tǒng)的變聲方法在目標(biāo)音色相似度以及自然度上都具有顯著的優(yōu)勢(shì)。按照單個(gè)聲紋變聲模型支持的原說話人和目標(biāo)說話人的數(shù)目,可以分為 one-to-one, many-to-many, any-to-many, any-to-any,其中,one 代表單一的音色,many 代表一個(gè)有限的集合,只能變成少數(shù)幾種指定的音色。早期的學(xué)術(shù)研究主要是基于one-to-one 與 many-to-many架構(gòu),any-to-many 是當(dāng)前很多 AI變聲軟件采用的模型,例如在某變聲軟件中,任意用戶可以從十幾個(gè)聲音音效中選擇某一個(gè)進(jìn)行變聲。
而 any 是一個(gè)開放的集合, any-to-any 意味著可以將任意一個(gè)人的語音,變換成任意一個(gè)其他人的語音,這代表著聲紋變聲技術(shù)的終極目標(biāo),每個(gè)人都可以借助它變換成指定或任意一個(gè)人的聲音,實(shí)現(xiàn)對(duì)聲音的“克隆“,這也是「聲網(wǎng)實(shí)時(shí)聲紋變聲」想要實(shí)現(xiàn)的方向。
從 any-to-many 到 any-to-any,實(shí)時(shí)聲紋變聲需克服多重挑戰(zhàn)
當(dāng)前,主流的聲紋變聲借助 AI變聲算法雖然可以實(shí)現(xiàn) any-to-many 的變聲音效,但聲紋變聲的研究主要集中在離線或異步使用的場(chǎng)景,例如自己提前用變聲軟件錄一段聲音,生成某個(gè)指定目標(biāo)的變聲語音后再發(fā)給對(duì)方。根據(jù)調(diào)查顯示,在社交、直播以及元宇宙等場(chǎng)景中,越來越多的玩家希望在進(jìn)行音視頻互動(dòng)時(shí)能實(shí)現(xiàn)實(shí)時(shí)變聲音效的功能,在聲網(wǎng)看來,在實(shí)時(shí)互動(dòng)的過程中,聲紋變聲想要做到實(shí)時(shí)會(huì)面臨多重挑戰(zhàn):
1、語言學(xué)內(nèi)容完整性:在實(shí)時(shí)互動(dòng)過程中,說話人部分詞語的丟失或者發(fā)音錯(cuò)誤,不僅會(huì)讓聽者理解起來十分吃力,而且一些關(guān)鍵詞(比如”不”)的丟失,還會(huì)引起全局語義改變,給互動(dòng)帶來致命的影響。
2、實(shí)時(shí)率:實(shí)時(shí)率指的是模型對(duì)一段音頻的處理時(shí)間和音頻時(shí)長(zhǎng)的比值,越低越好。例如處理一段時(shí)長(zhǎng)為2分鐘的語音花了1分鐘,那么實(shí)時(shí)率就為(1/2=0.5),理論上,變聲引擎端到端的實(shí)時(shí)率只需要小于1即可支撐實(shí)時(shí)變聲處理??紤]到計(jì)算的抖動(dòng),需要有更低的實(shí)時(shí)率才能保障穩(wěn)定的服務(wù),這對(duì)于模型的大小以及算力有很大的限制。
3、算法延遲:當(dāng)前大部分變聲算法在處理當(dāng)前幀數(shù)據(jù)時(shí),依賴于未來語音幀的數(shù)據(jù)輸入,這部分語音的時(shí)長(zhǎng)即算法延遲。在實(shí)時(shí)交互場(chǎng)景,人們可以感知到的延遲大約在200ms,過高的延遲會(huì)極大程度降低用戶參與的積極性。例如用戶說完一句話,對(duì)方如果需要等待1秒以上才能聽到變聲后的語音,很多人可能就不會(huì)在聊天場(chǎng)景中使用這個(gè)功能了。
對(duì)此,聲網(wǎng)音頻技術(shù)團(tuán)隊(duì)是如何解決算法的延遲與音頻處理的實(shí)時(shí)率,并實(shí)現(xiàn) any-to-any 變聲音效的突破?
首先,「聲網(wǎng)實(shí)時(shí)聲紋變聲」先通過語音識(shí)別模型提取語音中幀級(jí)別的音素特征,聲紋識(shí)別模型提取聲紋特征,然后將兩者一起傳遞給語音合成模塊,合成變聲后的頻譜特征,最后利用 AI聲碼器合成時(shí)域波形信號(hào),這三個(gè)模塊均支持流式的數(shù)據(jù)處理。流式處理主要是針對(duì)數(shù)據(jù)的新鮮度價(jià)值很高,需要提供更快的有價(jià)值信息,通常在觸發(fā)器開始后的幾百甚至幾十毫秒內(nèi)需要得到處理結(jié)果,在實(shí)時(shí)聲紋變聲中,流式處理表現(xiàn)為音素、聲紋數(shù)據(jù)的實(shí)時(shí)處理、低延遲,人們?cè)谑褂米兟曅Ч麑?duì)話時(shí)還需要保證溝通的流暢性,不能一方說了一句話另一方過了好幾秒才聽到變聲。
在神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)層面,聲網(wǎng)主要采用 CNN (卷積神經(jīng)網(wǎng)絡(luò))和 RNN (遞歸神經(jīng)網(wǎng)絡(luò)) 的網(wǎng)絡(luò)結(jié)構(gòu)分別提取語音信號(hào)中的局部以及長(zhǎng)程時(shí)序特征。語言信號(hào)具有短時(shí)平穩(wěn)的特性,用CNN 可以很有效的提取幀級(jí)別的音素特征。RNN 對(duì)語音中隨時(shí)間變化更為緩慢的特征(字詞)建模,一般一個(gè)字的發(fā)音會(huì)持續(xù)幾百毫秒,所以聲網(wǎng)利用基于 RNN 這種具有時(shí)序記憶能力的網(wǎng)絡(luò)來構(gòu)建頻譜轉(zhuǎn)換模塊對(duì)語音的時(shí)序性特點(diǎn)進(jìn)行建模。
RNN 處理的數(shù)據(jù)是 “序列化” 數(shù)據(jù),訓(xùn)練的樣本前后是有關(guān)聯(lián)的,即一個(gè)序列的當(dāng)前的輸出與前面的輸出也有關(guān),比如一段語音是有時(shí)間序列的,說的話前后是有關(guān)系的。通過這種設(shè)計(jì),不僅有效地節(jié)省了算力,而且也顯著減少了算法的延遲,目前「聲網(wǎng)實(shí)時(shí)聲紋變聲」的算法延遲最低可以做到 220ms,處于業(yè)內(nèi)領(lǐng)先的水平。
此外,聲網(wǎng)基于海量數(shù)據(jù)單獨(dú)訓(xùn)練了語音識(shí)別模塊,可以準(zhǔn)確地提取幀級(jí)別的音素特征,極大程度地減少了變聲后出現(xiàn)錯(cuò)字或者漏字的情況,保障了語言學(xué)內(nèi)容的完整性。類似地,聲網(wǎng)也基于海量數(shù)據(jù)訓(xùn)練了聲紋識(shí)別模型,用于提取目標(biāo)說話人的音色特征,顯著地提升了變聲后語音和目標(biāo)說話人的音色相似度,最終實(shí)現(xiàn)了any-to-any的變聲能力。
相比于傳統(tǒng)的變聲軟件,實(shí)時(shí)聲紋變聲憑借實(shí)時(shí)性以及 any-to-any 的變聲能力,將在語聊房、直播、游戲、元宇宙等場(chǎng)景中發(fā)揮更大的應(yīng)用價(jià)值,不僅可以增強(qiáng)應(yīng)用場(chǎng)景中用戶的沉浸感與娛樂性體驗(yàn),對(duì)應(yīng)用的用戶活躍度、使用時(shí)長(zhǎng)、營(yíng)收等也有望帶來進(jìn)一步的提升。
例如在傳統(tǒng)語聊房場(chǎng)景中,變聲軟件只能變成萌妹子或大叔的聲音,實(shí)時(shí)聲紋變聲可以將用戶的聲音改變成與某些明星類似的聲音,將原本枯燥的語聊房變成明星聊天室。而在Meta Chat等元宇宙場(chǎng)景中,實(shí)時(shí)聲紋變聲可以搭配3D空間音頻進(jìn)一步增強(qiáng)用戶的沉浸感,例如某社交APP與《海綿寶寶》達(dá)成合作后獲得動(dòng)漫中角色I(xiàn)P的形象與聲音授權(quán),用戶在操控著專屬的動(dòng)漫角色聊天時(shí),聲音可以變成對(duì)應(yīng)的海綿寶寶、派大星、章魚博士等角色的聲音,感知層面仿佛進(jìn)入了真實(shí)的動(dòng)漫世界,用戶的沉浸感得到有效提升。
基于此,實(shí)時(shí)聲紋變聲也可以進(jìn)一步擴(kuò)展影視、動(dòng)漫IP的聲音價(jià)值,知名影視、動(dòng)漫角色的配音都可以運(yùn)用在語聊房、直播間、游戲語音等場(chǎng)景的實(shí)時(shí)音視頻互動(dòng)中,對(duì)于應(yīng)用本身而言,更豐富的娛樂性體驗(yàn)可以提升用戶在應(yīng)用內(nèi)的使用時(shí)長(zhǎng)、付費(fèi)率等。