![]()
新智元報(bào)道
編輯:LRST
【新智元導(dǎo)讀】語(yǔ)音合成這兩年發(fā)展迅速:把一段話順順當(dāng)當(dāng)?shù)啬钔辏呀?jīng)不算難事;難的是該慢的時(shí)候慢,該頓的時(shí)候頓,該強(qiáng)調(diào)的時(shí)候真能把重點(diǎn)托出來。
語(yǔ)音合成這些年最明顯的進(jìn)展,是越來越會(huì)模擬真人輸出語(yǔ)音。
自然度更高了,聲音更像真人了,零樣本克隆也越來越成熟了。可一旦要求模型別再只是平著往下讀,而是對(duì)一句話內(nèi)部的節(jié)奏做有選擇的安排,問題就暴露出來了。很多系統(tǒng)能做到整體變快、整體變慢,也能給整段話套一個(gè)風(fēng)格標(biāo)簽,但真到關(guān)鍵位置,往往還是一起變,很難做到只改重點(diǎn)區(qū)域。
而產(chǎn)品場(chǎng)景里,用戶在意的常常就是只改重點(diǎn)區(qū)域。
驗(yàn)證碼播報(bào)里,數(shù)字之間要不要刻意拉開;導(dǎo)航播報(bào)里,動(dòng)作信息要不要被單獨(dú)頂出來;教學(xué)糾音里,兩個(gè)容易混淆的詞能不能被故意說出差別;劇情化表達(dá)里,結(jié)尾那個(gè)關(guān)鍵詞之前能不能多留半拍。這些需求都不是靠整句降速就能混過去的。
華南理工最新工作MAGIC-TTS首次把字級(jí)時(shí)長(zhǎng)和邊界停連同時(shí)拉到 token 級(jí),做成了局部可控的語(yǔ)音生成能力。
![]()
論文鏈接: https://arxiv.org/abs/2604.21164v1
代碼鏈接: https://github.com/yongaifadian1/MAGIC-TTS/tree/main
演示鏈接: https://yongaifadian1.github.io/MAGIC-TTS/
所以,這篇工作真正值得看的點(diǎn)在于它在把一件以前很難穩(wěn)定實(shí)現(xiàn)的能力往前推:讓模型不只是會(huì)發(fā)聲,還開始會(huì)安排一句話內(nèi)部的節(jié)奏,同時(shí)不犧牲合成質(zhì)量和克隆語(yǔ)音的相似程度。
如果把MAGIC-TTS放回真實(shí)使用場(chǎng)景里看,它最先改動(dòng)的,其實(shí)是三類任務(wù)。
第一類,是高辨識(shí)播報(bào)。
這一類任務(wù)的核心不是更自然,而是更不容易聽錯(cuò)。論文里拿了驗(yàn)證碼播報(bào)做例子。作者先給整句內(nèi)容設(shè)置均勻時(shí)長(zhǎng),再刻意把中間分組的停頓拉開,最后進(jìn)一步把數(shù)字本身也放慢。這樣做的結(jié)果不是簡(jiǎn)單的整句慢下來,而是用戶先聽清分組,再聽清每個(gè)數(shù)字。換到產(chǎn)品里,這種處理顯然不只適用于驗(yàn)證碼,還適用于訂單號(hào)、取件碼、地址、藥品名這類高辨識(shí)內(nèi)容。
地鐵播報(bào)也是同一路數(shù)。作者沒有讓整句一起拖慢,而是把站點(diǎn)出現(xiàn)前的停連做得更明顯,同時(shí)把真正需要乘客注意的站名壓得更重一些。對(duì)這類高實(shí)時(shí)任務(wù)來說,節(jié)奏是否準(zhǔn)確,很多時(shí)候比聲音是否足夠像真人更有價(jià)值。
第二類,是教學(xué)和糾錯(cuò)。
論文里給出的案例是英文近音詞糾正。作者通過縮短前一個(gè)詞、拉長(zhǎng)后一個(gè)詞,并在糾正關(guān)系出現(xiàn)前加入短暫停頓,讓兩者之間的差異不再糊成一團(tuán)。這個(gè)例子最關(guān)鍵的地方,不是能合成英文,而是模型開始能利用節(jié)奏本身去幫助區(qū)分語(yǔ)義關(guān)系。
這類能力一旦成熟,對(duì)外語(yǔ)學(xué)習(xí)、兒童跟讀、口語(yǔ)訓(xùn)練會(huì)很直接。因?yàn)榻虒W(xué)場(chǎng)景需要的從來不是一臺(tái)平鋪直敘的朗讀器,而是一個(gè)能把差異做出來、把重點(diǎn)放出來的示范系統(tǒng)。
第三類,是表達(dá)型語(yǔ)音。
論文還展示了一個(gè)戲劇化場(chǎng)景:在句尾關(guān)鍵詞出現(xiàn)之前先留一小段空白,再把最后那個(gè)詞拉開。這個(gè)動(dòng)作非常小,但聽感會(huì)一下從把句子讀完變成把情緒送出來。也就是說,局部節(jié)奏控制影響的不只是信息清晰度,還會(huì)開始影響敘事張力和表現(xiàn)力。
過去,這類處理通常被認(rèn)為屬于真人配音、導(dǎo)演調(diào)度或者后期剪輯的領(lǐng)地。現(xiàn)在,TTS 也開始往這個(gè)方向摸了。
為什么這件事早就該有
卻一直很難真正落地
第一,整句控制和句內(nèi)控制,根本不是一回事。讓一整段話慢一點(diǎn),本質(zhì)上還是全局調(diào)節(jié);但讓某個(gè)詞多占幾十毫秒、讓某個(gè)邊界多留一段停頓,要求的是模型在局部位置精確地重新分配時(shí)間。
第二,停頓和字時(shí)長(zhǎng)也不是同一種難度。停頓更接近邊界留白,內(nèi)容時(shí)長(zhǎng)則直接涉及 token 內(nèi)部的聲學(xué)展開。前者像在內(nèi)容之間插空,后者則是改內(nèi)容本身怎么展開。真正難啃的是后者。
第三,局部控制越細(xì),對(duì)訓(xùn)練時(shí)的監(jiān)督邊界越苛刻。假如在訓(xùn)練中,一個(gè) token 的起止位置本來就不穩(wěn),那么后面在推理時(shí)不管是要拉長(zhǎng)它,還是要在它后面加停頓,都會(huì)變成一件漂浮不定的事。
所以,這類問題真正卡住行業(yè)的,往往不是有沒有想法,而是能不能把它做成一個(gè)不會(huì)穩(wěn)定的,可以應(yīng)用在真實(shí)場(chǎng)景的模型。
方法
從方法上看,MAGIC-TTS 真正抓住的,是三個(gè)更底層的環(huán)節(jié)
![]()
第一,是把一句話里的兩種時(shí)間因素拆開。
這篇工作沒有再把節(jié)奏當(dāng)成一個(gè)模糊的整體感覺去學(xué),而是明確地區(qū)分每一個(gè)詞要占多久和每一個(gè)詞之后要停多久。前者對(duì)應(yīng) token 本身的展開長(zhǎng)度,后者對(duì)應(yīng)邊界停頓。把這兩件事拆開,等于承認(rèn)了一句自然語(yǔ)音的節(jié)奏,本來就不是一個(gè)總時(shí)長(zhǎng)數(shù)字能夠概括的。
第二,是先把每個(gè)詞的邊界監(jiān)督校準(zhǔn)。
論文里一個(gè)很關(guān)鍵的工程步驟,是先用 Stable-ts 在總時(shí)長(zhǎng)為3萬小時(shí)大規(guī)模語(yǔ)音上構(gòu)造 token 級(jí)時(shí)序標(biāo)簽進(jìn)行持續(xù)預(yù)訓(xùn)練,再用 Stable-ts 和 MFA 做交叉驗(yàn)證,篩掉不可靠樣本。最終留下來的高置信度子集總時(shí)長(zhǎng) 230.72 小時(shí),進(jìn)行精細(xì)指令微調(diào)。這個(gè)步驟決定了后面的控制是不是建在堅(jiān)實(shí)的基礎(chǔ)上。如果邊界不準(zhǔn),所有精細(xì)調(diào)節(jié)都會(huì)被噪聲吞掉。
第三,是解決停頓控制會(huì)不會(huì)污染內(nèi)容控制。
這篇工作的一個(gè)現(xiàn)實(shí)問題:模型為每個(gè)位置都編碼了內(nèi)容控制殘差和停頓殘差,但關(guān)鍵是,不是每個(gè)位置都應(yīng)該有停頓,對(duì)于自然語(yǔ)音,大多數(shù)時(shí)候句子內(nèi)的字都是黏連在一起發(fā)聲,因此很多位置的停頓殘差天然就該是 0。
但是如果模型單純采用MLP去編碼停頓殘差,這會(huì)導(dǎo)致如果模型將這些不存在的停頓都編碼成有偏信號(hào),整句里就會(huì)不斷積累無意義干擾,最后把更難學(xué)的內(nèi)容時(shí)長(zhǎng)控制的影響削弱。論文里的零值校正,本質(zhì)上就是在處理這個(gè)問題:該沒有影響的時(shí)候,就盡量真的沒有影響。
與此同時(shí),作者還專門做了缺失控制魯棒性訓(xùn)練。原因很現(xiàn)實(shí),用戶不可能每次都給整句配一套精細(xì)時(shí)序。如果一個(gè)系統(tǒng)只有在滿配控制條件下才表現(xiàn)好,那它就更像實(shí)驗(yàn)演示,而不是實(shí)際能力。把默認(rèn)合成和局部調(diào)節(jié)同時(shí)保住,才更接近真正可用的方向。
最值得看的證據(jù),不只是會(huì)不會(huì)停,而是能不能穩(wěn)穩(wěn)地控字。
這篇論文的數(shù)據(jù)結(jié)果里,最重要的其實(shí)不是停頓,而是內(nèi)容時(shí)長(zhǎng)。
在顯式給出token級(jí)內(nèi)容時(shí)長(zhǎng)和停頓條件之后,每個(gè)字的內(nèi)容時(shí)長(zhǎng) MAE(平均絕對(duì)誤差) 從36.88ms 降到了10.56 ms,相關(guān)性從0.588提升到0.918。停頓方面,MAE從18.92 ms 降到8.32ms,相關(guān)性從0.283提升到0.793。
為什么說內(nèi)容時(shí)長(zhǎng)更關(guān)鍵?因?yàn)闀?huì)停一下相對(duì)容易理解,也更容易被實(shí)現(xiàn)成邊界層面的動(dòng)作;但把這個(gè) token 本身說得更長(zhǎng)一點(diǎn)、又不把整句帶壞,難度明顯更高。也正因?yàn)槿绱耍瑑?nèi)容時(shí)長(zhǎng)指標(biāo)的大幅提升,比單純的停頓跟隨更能說明問題。
應(yīng)用場(chǎng)景
如果這條路線跑通,最先吃到紅利的那幾類產(chǎn)品
最先受益的,還是那些聽錯(cuò)一個(gè)字都麻煩的場(chǎng)景。
高辨識(shí)播報(bào)會(huì)是第一批,包括驗(yàn)證碼、訂單號(hào)、地址、藥品名、導(dǎo)航、車載播報(bào)。比起聲音不擬人,這些地方最怕的是信息沒聽清。過去很多系統(tǒng)只能靠整句放慢來保底,但那往往會(huì)犧牲效率,且對(duì)于重點(diǎn)的突出效果不是那么好;如果節(jié)奏能局部編排,系統(tǒng)就能把該重點(diǎn)聽的地方單獨(dú)拉出來。
第二批會(huì)是教學(xué)糾音。兒童跟讀、外語(yǔ)學(xué)習(xí)、示范式朗讀,都更需要一個(gè)會(huì)示范差異的系統(tǒng),而不是一個(gè)把文本順著念完的系統(tǒng)。誰能把停連、重音、對(duì)比關(guān)系更清楚地演示出來,誰在這一類產(chǎn)品里就更有優(yōu)勢(shì)。
再往后,是表達(dá)型語(yǔ)音。數(shù)字人、劇情化配音、音頻內(nèi)容生成、故事講述,這些方向?qū)植抗?jié)奏的要求更高,但一旦能力成熟,帶來的產(chǎn)品觀感提升也會(huì)更明顯。
小結(jié)
MAGIC-TTS的核心價(jià)值在于把語(yǔ)音合成從「把話念自然」推進(jìn)到「能精細(xì)安排句內(nèi)節(jié)奏」,如何同時(shí)控制 token 級(jí)字時(shí)長(zhǎng)和邊界停頓,讓現(xiàn)實(shí)應(yīng)用場(chǎng)景中的重點(diǎn)內(nèi)容被更清楚、更有表現(xiàn)力地說出來,是下一階段要重視的問題。
參考資料:
https://arxiv.org/abs/2604.21164
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.