Meta開源多模式模型,輕松混合文本和語音
傳統的生成語音方法通常是先使用ASR將輸入語音轉錄為文本,再使用純文本的大語言模型生成文本,最后通過TTS將生成的文本合成為語音。但這種方式在建模和生成表達性語音方面有很大技術局限性。
例如,當我們想要生成一段帶有特定情感的語音時,這種多步驟的方法可能無法很好地捕捉情感信息,導致生成的語音在表達上不夠自然。
為了解決這些難題,Meta開源了多模式模型SPIRIT – LM,可以輕松混合文本和語音使生成的效果更逼真、擬人化。
開源地址:https://github.com/facebookresearch/spiritlm
SPIRIT-LM的架構很特殊,它的基礎模型是一個大語言模型,再通過詞級交錯方法擴展到語音模式。在訓練的過程中,語音和文本序列被連接為單一的標記集,利用了一個小型自動策劃的語音-文本平行語料庫,使得模型能夠在訓練過程中同時學習語音和文本的特征。
對于文本數據,SPIRIT-LM使用了子詞BPE標記進行編碼,這是一種高效的文本編碼方式,能夠處理任意詞匯包括未知詞。而對于語音數據,則采用了HuBERT模型作為語音編碼器,將語音轉換為語義語音標記,能夠在沒有標簽的情況下從大量語音數據中學習到有用的表示。
特殊標記則是另外一個技術創新,SPIRIT-LM使用了“TEXT”和“SPEECH”特殊標記來區分文本和語音標記。在訓練過程中,這些特殊標記幫助模型識別輸入數據的模態,從而正確地處理文本或語音輸入。
當模型在對齊的語音-文本語料庫中進行訓練時,它會在單詞邊界隨機觸發模態變化,使得語音標記和文本標記在模態變化邊界處交錯。這種交錯訓練方法有助于模型學習語音和文本之間的對應關系,從而提高跨模態的理解和生成能力。
SPIRIT-LM一共有基礎和表現力兩個版本:基礎版專注于使用語音語義單元來處理語音數據,而表現力版則在語義單元的基礎上增加了音高和風格單元來模擬表達性。音高標記是通過VQ-VAE模型在輸入語音的基頻上訓練得到的,這種方法能夠捕捉語音的音高特征,從而使得模型能夠理解和生成具有特定音高的語音。
風格標記則是通過提取語音的風格特征并進行聚類得到的,這些標記能夠幫助模型捕捉語音的風格特征,例如,說話人的情感和語氣,使得合成的語音更加逼真。
此外,SPIRIT-LM模型還使用了HifiGAN聲碼器,這是一種高質量的語音合成技術。HifiGAN聲碼器基于HuBERT語音標記和Expresso數據集中的1-hot說話人嵌入進行訓練以實現高質量的語音合成,進一步提高了模型在生成語音時的自然度和清晰度。
為了評估SPIRIT-LM性能,Meta在sWUGGY、sBLIMP、StoryCloze等任務中對SPIRIT-LM進行了語音和文本理解綜合測試,都能夠準確地生成正確的序列。而在跨模態任務上也展現了良好的性能,在自動語音識別和文本到語音任務中,SPIRIT-LM能夠根據少量示例進行特定任務的建模。
本文轉自 AIGC開放社區 ,作者:AIGC開放社區
