【新智元導讀】微軟新模型VALL-E實現(xiàn)地表最強zero-shot語音合成,剛開口聲音就被偷了?讓ChatGPT幫你寫劇本,Stable Diffusion生成插圖,做視頻就差個配音演員了?它來了! 最近來自微軟的研究人員發(fā)布了一個全新的文本到語音(text-to-speech, TTS)模型VALL-E,只需要提供三秒的音頻樣本即可模擬輸入人聲,并根據(jù)輸入文本合成出對應(yīng)的音頻,而且還可以保持說話者的情感基調(diào)。 論文鏈接:https:///abs/2301.02111 項目鏈接:https://valle-demo./ 代碼鏈接:https://github.com/microsoft/unilm 先看看效果:假設(shè)你有了一段3秒鐘的錄音。 然后只需要輸入文本「Because we do not need it.」,即可獲得合成的語音。 甚至使用不同的隨機種子,還能進行個性化的語音合成。 VALL-E還能保持說話人的環(huán)境聲,比如輸入這段語音。 再根據(jù)文本「I think it's like you know um more convenient too.」,就能輸出合成語音的同時保持環(huán)境聲。 而且VALL-E也能保持說話人的情緒,比如輸入一段憤怒的語音。 再根據(jù)文本「We have to reduce the number of plastic bags.」,同樣可以表達憤怒的情緒。 在項目網(wǎng)站上還有更多的例子。 從方法上具體來說,研究人員從現(xiàn)成的神經(jīng)音頻編解碼器模型中提取的離散編碼來訓練語言模型VALL-E,并將TTS視為一個條件語言建模任務(wù)而非連續(xù)信號回歸。 在預訓練階段,VALL-E接受的TTS訓練數(shù)據(jù)達到了6萬小時的英語語音,比現(xiàn)有系統(tǒng)用到的數(shù)據(jù)大了幾百倍。 并且VALL-E還展現(xiàn)出了語境學習(in-context learning)能力,只需將unseen speaker的3秒注冊錄音作為聲音提示,即可合成高質(zhì)量的個性化語音。 實驗結(jié)果表明,VALL-E在語音自然度和說話人相似度方面明顯優(yōu)于最先進的zero-shot TTS系統(tǒng),還可以在合成中保留說話人的情感和聲音提示的聲學環(huán)境。
Zero-shot語音合成 過去十年,通過神經(jīng)網(wǎng)絡(luò)和端到端建模的發(fā)展,語音合成取得了巨大突破。 但目前級聯(lián)的文本到語音(TTS)系統(tǒng)通常利用具有聲學模型的pipeline和使用mel譜圖作為中間表示的聲碼器(vocoder)。 雖然一些高性能的TTS系統(tǒng)可以從單個或多個揚聲器中合成高質(zhì)量的語音,但它仍然需要來自錄音室的高質(zhì)量清潔數(shù)據(jù),從互聯(lián)網(wǎng)上抓取的大規(guī)模數(shù)據(jù)無法滿足數(shù)據(jù)要求,而且會導致模型的性能下降。 由于訓練數(shù)據(jù)相對較少,目前的TTS系統(tǒng)仍然存在泛化能力差的問題。 在zero-shot的任務(wù)設(shè)置下,對于訓練數(shù)據(jù)中沒有出現(xiàn)過的的說話人,相似度和語音自然度都會急劇下降。 為了解決zero-shot的TTS問題,現(xiàn)有的工作通常利用說話人適應(yīng)(speaker adaption)和說話人編碼(speaker encoding)等方法,需要額外的微調(diào),復雜的預先設(shè)計的特征,或沉重的結(jié)構(gòu)工程。 與其為這個問題設(shè)計一個復雜而特殊的網(wǎng)絡(luò),鑒于在文本合成領(lǐng)域的成功,研究人員認為最終的解決方案應(yīng)當是盡可能地用大量不同的數(shù)據(jù)來訓練模型。
VALL-E模型 在文本合成領(lǐng)域,來自互聯(lián)網(wǎng)的大規(guī)模無標記數(shù)據(jù)直接喂入模型,隨著訓練數(shù)據(jù)量的增加,模型性能也在不斷提高。 研究人員將這一思路遷移到語音合成領(lǐng)域,VALL-E模型是第一個基于語言模型的TTS框架,利用海量的、多樣化的、多speaker的語音數(shù)據(jù)。 為了合成個性化的語音,VALL-E模型根據(jù)3秒enrolled錄音的聲學token和音素prompt來生成相應(yīng)的聲學token,這些信息可以限制說話人和內(nèi)容信息。 最后,生成的聲學token被用來與相應(yīng)的神經(jīng)編解碼器合成最終波形。 來自音頻編解碼器模型的離散聲學token使得TTS可以被視為有條件的編解碼器語言建模,所以一些先進的基于提示的大模型技術(shù)(如GPTs)就可以被用在TTS任務(wù)上了。 聲學token還可以在推理過程中使用不同的采樣策略,在TTS中產(chǎn)生多樣化的合成結(jié)果。 研究人員利用LibriLight數(shù)據(jù)集訓練VALL-E,該語料庫由6萬小時的英語語音組成,有7000多個獨特的說話人。原始數(shù)據(jù)是純音頻的,所以只需要使用一個語音識別模型來生成轉(zhuǎn)錄即可。 與以前的TTS訓練數(shù)據(jù)集,如LibriTTS相比,論文中提供的新數(shù)據(jù)集包含更多的噪聲語音和不準確的轉(zhuǎn)錄,但提供了不同的說話人和語體(prosodies)。 研究人員認為,文章中提出的方法對噪聲具有魯棒性,并可以利用大數(shù)據(jù)來實現(xiàn)良好的通用性。 值得注意的是,現(xiàn)有的TTS系統(tǒng)總是用幾十個小時的單語者數(shù)據(jù)或幾百個小時的多語者數(shù)據(jù)進行訓練,比VALL-E小幾百倍以上。 總之,VALL-E是一種全新的、用于TTS的語言模型方法,使用音頻編解碼代碼作為中間表征,利用大量不同的數(shù)據(jù),賦予模型強大的語境學習能力。 推理:In-Context Learning via Prompting 語境學習(in-context learning)是基于文本的語言模型的一個令人驚訝的能力,它能夠預測未見過的輸入的標簽而不需要額外的參數(shù)更新。 對于TTS來說,如果模型能夠在不進行微調(diào)的情況下為未見過的說話者合成高質(zhì)量的語音,那么該模型就被認為具有語境中學習能力。 然而,現(xiàn)有的TTS系統(tǒng)的語境中學習能力并不強,因為它們要么需要額外的微調(diào),要么對未見過的說話者來說會有很大的退化。 對于語言模型來說,prompting是必要的,以便在zero-shot的情況下實現(xiàn)語境學習。 研究人員設(shè)計的提示和推理如下: 首先將文本轉(zhuǎn)換為音素序列,并將enrolled錄音編碼為聲學矩陣,形成音素提示和聲學提示,這兩種提示都用于AR和NAR模型中。 對于AR模型,使用以提示為條件的基于采樣的解碼,因為beam search可能導致LM進入無限循環(huán);此外,基于抽樣的方法可以大大增加輸出的多樣性。 對于NAR模型,使用貪婪解碼來選擇具有最高概率的token。 最后,使用神經(jīng)編解碼器來生成以八個編碼序列為條件的波形。 聲學提示可能與要合成的語音之間不一定存在語義關(guān)系,所以可以分為兩種情況: VALL-E:主要目標是為未見過的說話者生成給定的內(nèi)容。 該模型的輸入為一個文本句子、一段enrolled語音及其相應(yīng)的轉(zhuǎn)錄。將enrolled語音的轉(zhuǎn)錄音素作為音素提示添加到給定句子的音素序列中,并使用注冊語音的第一層聲學token作為聲學前綴。有了音素提示和聲學前綴,VALL-E為給定的文本生成聲學token,克隆這個說話人的聲音。 VALL-E-continual:使用整個轉(zhuǎn)錄和話語的前3秒分別作為音素和聲學提示,并要求模型生成連續(xù)的內(nèi)容。 推理過程與設(shè)置VALL-E相同,只是enrolled語音和生成的語音在語義上是連續(xù)的。
實驗部分 研究人員在LibriSpeech和VCTK數(shù)據(jù)集上評估了VALL-E,其中所有測試的說話人在訓練語料庫中都沒有出現(xiàn)過。 VALL-E在語音自然度和說話人相似度方面明顯優(yōu)于最先進的zero-shot TTS系統(tǒng),在LibriSpeech上有+0.12的比較平均選項得分(CMOS)和+0.93的相似度平均選項得分(SMOS)。 VALL-E在VCTK上也以+0.11 SMOS和+0.23 CMOS的性能改進超越了基線系統(tǒng),甚至達到了針對ground truth的+0.04CMOS得分,表明在VCTK上,未見過的說話者的合成語音與人類錄音一樣自然。 此外,定性分析表明,VALL-E能夠用2個相同的文本和目標說話人合成不同的輸出,這可能有利于語音識別任務(wù)的偽數(shù)據(jù)創(chuàng)建。 實驗中還可以發(fā)現(xiàn),VALL-E能夠保持聲音環(huán)境(如混響)和聲音提示的情緒(如憤怒等)。
安全隱患 強大的技術(shù)如果被亂用,就可能對社會造成危害,比如電話詐騙的門檻又被拉低了! 由于VALL-E具有潛在的惡作劇和欺騙的能力,微軟并沒有開放VALL-E的代碼或接口以供測試。 有網(wǎng)友分享道:如果你給系統(tǒng)管理員打電話,錄下他們說「你好」的幾句話,然后根據(jù)這幾句話重新合成語音「 你好,我是系統(tǒng)管理員。我的聲音是唯一標識,可以進行安全驗證?!刮抑耙恢闭J為這是不可能的,你不可能用那么少的數(shù)據(jù)來完成這個任務(wù)?,F(xiàn)在看來,我可能錯了...... 在項目最后的道德聲明(Ethics Statement)中,研究人員表示「本文的實驗是在模型使用者為目標說話人并得到說話人認可的假設(shè)下進行的。然而,當該模型推廣到看不見的說話人時,相關(guān)部分應(yīng)該伴有語音編輯模型,包括保證說話人同意執(zhí)行修改的協(xié)議和檢測被編輯語音的系統(tǒng)。」 作者同時在論文中進行聲明,由于 VALL-E 可以合成能夠保持說話者身份的語音,它可能會帶來誤用該模型的潛在風險,例如欺騙聲音識別或者模仿特定的說話者。 為了降低這種風險,可以建立一個檢測模型來區(qū)分音頻剪輯是否由 VALL-E 合成。在進一步開發(fā)這些模型時,我們還將把微軟人工智能原則付諸實踐。 |
|