<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          蘋果接入GPT-4o,Siri史詩級(jí)加強(qiáng)背后的語音技術(shù)是如何實(shí)現(xiàn)的?

          共 22813字,需瀏覽 46分鐘

           ·

          2024-06-14 10:33

           


          ??目錄


          1 語音的離散化:向 LLM 看齊!

          2 讓 LLM 理解語音 token!

          3 LLM 如何合成語音:Zero-shot TTS

          4 其他問題

          5 對(duì)游戲配音業(yè)務(wù)的思考

          6 全文總結(jié)




          OpenAI 最新推出的生成模型 GPT-4o,帶來了一系列震撼的功能,用技術(shù)徹底顛覆了產(chǎn)品形態(tài)。產(chǎn)品最大的亮點(diǎn)在于:以近乎完美的交互方式,為每位用戶帶來 GPT-4 級(jí)別的智能體驗(yàn)。

          在語音方面,GPT-4o 做到了實(shí)時(shí)低延遲,平均響應(yīng)時(shí)間與人類反應(yīng)速度相當(dāng),輸出的語音能夠理解極度貼合對(duì)話上下文,能夠理解人類的情感情緒,聽覺質(zhì)量上佳,與真人無異。這背后的技術(shù)實(shí)現(xiàn),是怎么做到的?



          在本周舉辦的蘋果全球開發(fā)者大會(huì) WWDC 上,蘋果發(fā)布了其自研的「Apple Intelligence」AI,并宣布發(fā)布多年以來一直不溫不火的 Siri 語音助手將接入改寫了人機(jī)交互歷史的 GPT-4o——打不過就加入。

          馬斯克在 X(原Twitter)上的連番炮轟,為這個(gè)新聞增添了又一輪熱度,他表示倘若蘋果在操作系統(tǒng)層面集成 OpenAI,他就將禁止其設(shè)備進(jìn)入自己旗下的公司,指責(zé)蘋果這是出賣用戶數(shù)據(jù)。并且配了一張意味深長的圖:


          技術(shù)背后的八卦與口水戰(zhàn),看看就好,技術(shù)人還是要回歸技術(shù)的本源,去了解那些真正底層的知識(shí)價(jià)值。為什么 GPT-4o 的出現(xiàn)改寫了人機(jī)交互?又為什么 GPT-4o 的語音技術(shù)顛覆了此前所有的語音助手功能?本文作者將為你詳細(xì)解析。



          GPT-4o 是一個(gè) any2any 的多模態(tài)模型,能夠接受文本、音頻、圖像、視頻等多模態(tài)輸入,也能夠生成包含文本、語音、圖像和視頻等混合內(nèi)容的多模態(tài)輸出。限于篇幅,本文主要談?wù)務(wù)Z音多模態(tài)的實(shí)現(xiàn),并分享一些對(duì)于語音研究未來發(fā)展的看法。

          當(dāng)我們主要關(guān)注文本和語音模態(tài)時(shí),GPT-4o 其實(shí)就是一個(gè)語音語言模型(speech language model, SLM)。該 SLM 同時(shí)具備語音理解能力和語音合成能力,輸入端和輸出端均支持文本和語音的混合多模態(tài)。那么,這一 SLM 應(yīng)該如何實(shí)現(xiàn)呢?在大語言模型(large language model, LLM)濫觴的今日,不難想到這樣一種方法:將連續(xù)的語音數(shù)據(jù)離散化成如同單詞(或者稱 token,詞元)一樣的表示,并入到 LLM 的詞表中,再走一遍訓(xùn)練 LLM 的老路。

          基于上述思想來構(gòu)建 SLM,需要解決以下幾個(gè)問題:
          • 語音如何離散化?
          • 如何讓 LLM 理解語音的 token?加入語音 token 之后,LLM 在語音數(shù)據(jù)的理解上是否具有涌現(xiàn)性?
          • LLM 如何合成/解碼語音?

          接下來,我們按圖索驥,分別看看上述三個(gè)問題應(yīng)該如何解決。看完現(xiàn)有的方案之后,也會(huì)談?wù)勔恍╆P(guān)于工程實(shí)現(xiàn)的思考以及新興語音技術(shù)對(duì)于游戲業(yè)務(wù)的影響。最后,我會(huì)給出一個(gè)完整的 roadmap 來收束全文。



          01



          語音的離散化:向 LLM 看齊!

          在談及語音離散化之前,我們先來看看語音和文本作為兩種不同的模態(tài),有什么區(qū)別,有什么聯(lián)系。這直接關(guān)系到后文建模方法的選擇以及離散化特征的關(guān)注點(diǎn)。

          語音和文本的差別主要體現(xiàn)在:文本離散、序列短、信息密度高(幾乎每個(gè)詞都包含語義);語音則連續(xù)、序列長、信息密度低。語音序列長、信息密度低的特點(diǎn),意味著語音數(shù)據(jù)有很大的壓縮空間,這一點(diǎn)和圖像非常類似。因此,一些用于圖像的離散化壓縮方法也可以用在語音上。

          除了差異,語音和文本也有一定的聯(lián)系:語音是文本的超集,既包含文本內(nèi)容(說話人說了什么,也就是語義信息),也包含語音特有的音色、韻律、語速等聲學(xué)信息(也叫做副語言)。既然語音包含文本,那么在 NLP 中預(yù)訓(xùn)練語言模型也可以用來建模語音中的上下文依賴關(guān)系,從而得到語音的離散化 token。基于這些方法得到的 token 主要包含語音的語義信息。

          花開兩朵,各表一枝。我們先來看看語音的語義 token 如何獲取。

             1.1 語義 token:  用 MLM 建模語音的上下文依賴


          語音的語義建模方法,最常用到的就是 BERT 的 MLM 方法,比較經(jīng)典的工作有三個(gè):wav2vec 2.0[1]、HuBERT[2]和 w2v-BERT[3]。

          類似于 BERT,wav2vec 2.0[1]在隱空間(latent space)隨機(jī) mask 了一定比例的語音輸入,然后用基于對(duì)比學(xué)習(xí)的訓(xùn)練目標(biāo)學(xué)習(xí)幀的表征。值得注意的一點(diǎn)是,對(duì)比學(xué)習(xí)中目標(biāo)幀的離散化處理是一個(gè)非常巧妙的操作,它將無限的連續(xù)特征空間坍縮為有限的離散空間,讓幀特征的魯棒性更強(qiáng)了。這在語音領(lǐng)域上非常有用的 trick,允許模型接受帶有噪聲的語音作為輸入。

          圖1:wav2vec 2.0 的模型架構(gòu)

          wav2vec 2.0 只是借用了 BERT 中 mask 的操作,訓(xùn)練目標(biāo)大體上是基于對(duì)比學(xué)習(xí)的范式。那么,能直接用 BERT 的 MLM 建模目標(biāo)來得到高質(zhì)量的語音表征嗎?其后的 HuBERT[2] 做的就是這個(gè)事情。HuBERT[2] 的核心點(diǎn)在于使用簡單的 KMeans 聚類方法為語音數(shù)據(jù)抽取離散化的分類標(biāo)簽,也就是文中所說的 hidden unit/acoustic unit。有了分類標(biāo)簽,然后就是用 BERT 的 MLM loss 來學(xué)習(xí)語音數(shù)據(jù)中內(nèi)在的上下文依賴關(guān)系。對(duì)于 KMeans 聚類對(duì)初始值和K值高靈敏的特點(diǎn),作者設(shè)計(jì)了 ensemble 和 iterative refinement 方法予以解決。前者就是多個(gè)聚類模型 ensemble,后者就是先在基于 MFCC 的聚類標(biāo)簽上進(jìn)行學(xué)習(xí),學(xué)習(xí)到一定程度時(shí),在模型學(xué)習(xí)到的表征重新聚類,再做一次 BERT 的學(xué)習(xí)。

          圖2:HuBERT 的模型架構(gòu)

          既然對(duì)比學(xué)習(xí)可以學(xué)習(xí)語音的語義表征,BERT 的 MLM 也可以,那將二者結(jié)合起來,會(huì)不會(huì)有互補(bǔ)的效果呢?w2v-BERT[3]做的就是這個(gè)事情。注意到:HuBERT 中語音的離散 token 不是端到端獲得的,需要用 KMeans 算法對(duì)特征進(jìn)行離線聚類,而 wav2vec 2.0 又正好提供了音頻幀的量化離散表征,HuBERT 和 wav2vec 2.0 很容易就能縫合在一起。縫合的方法也是顯然的:前面若干層做類似 wav2vec 2.0 的對(duì)比學(xué)習(xí),學(xué)習(xí)出 HuBERT 要用的離散表征,然后在后面若干層做類似 HuBERT 的 MLM 訓(xùn)練。

          圖3:w2v-BERT 的模型架構(gòu)

             1.2 聲學(xué) token:壓縮+離散


          上一部分介紹的預(yù)訓(xùn)練模型做的是上下文關(guān)系的預(yù)訓(xùn)練,學(xué)習(xí)到的表征主要包含與上下文相關(guān)的語義信息。要想將語音的 token 還原成為真正具有真人表現(xiàn)力的信號(hào),還需要有包含音色、韻律、語速等副語言信息的聲學(xué)特征。聲學(xué)特征的學(xué)習(xí)在很大程度上參考了圖像領(lǐng)域的工作,用到的主要是類似于 VQVAE[4]、VQGAN 等的離散化壓縮方法,并針對(duì)語音數(shù)據(jù)的特性做了優(yōu)化。這一部分比較經(jīng)典的工作就是 SoundStream[5] 和 Encodec[6],二者的工作高度類似,我們放在一起來看。

          說到壓縮,最先想到的模型當(dāng)然就是 AutoEncoder(自編碼器)。為提升壓縮效率,有利于數(shù)字傳輸和存儲(chǔ),以及離散化建模的要求,壓縮模型中還需要包含量化(quantization),將連續(xù)的音頻信號(hào)轉(zhuǎn)換為離散的數(shù)值。基于上述考慮,模型大體上應(yīng)該是 VQVAE[4] 的結(jié)構(gòu)。為了平衡 VQ(Vector Quantization,向量量化)與音頻實(shí)時(shí)高保真?zhèn)鬏數(shù)拿埽ǔ2捎枚鄠€(gè)殘差連接的 codebook 來進(jìn)行量化,這個(gè)就是所謂的 RVQ(具體分析過程可以參見知乎文章)。采用 RVQ 的好處主要有兩個(gè):其一,區(qū)分不同 quantization block 的分工,第一個(gè) block 包含最重要的語義信息,后續(xù)的 block 包含還原語音的副語言信息;第二,模型訓(xùn)練時(shí)可隨機(jī)采樣前面若干個(gè) block 來訓(xùn)練,保持一定精度,實(shí)現(xiàn)對(duì)比特率的動(dòng)態(tài)適應(yīng)。

          總而言之,SoundStream[5]/Encodec[6] 其實(shí)就是一個(gè) RVQ-VAE,它們所建模的語音離散化 token 包含了層次化的語義信息和聲學(xué)信息。

          圖4:Encodec 的模型架構(gòu)

             1.3 語音的統(tǒng)一表征?


          不難發(fā)現(xiàn),雖然說 SoundStream[5] 和 Encodec[6] 這樣的基于 RVQ-VAE 的壓縮建模方法包含了語音的聲學(xué)特征,但其中也不可避免地帶入了語義特征。二者提取的實(shí)際上更像是一種語義特征和聲學(xué)特征的混合體。基于此,SpeechTokenizer[7] 在二者的基礎(chǔ)上,引入了語義引導(dǎo)信息來解耦語義特征和聲學(xué)特征。語義特征和聲學(xué)特征的解耦對(duì)于最終的語音合成有著相當(dāng)?shù)闹匾浴peechTokenizer 的具體做法是:使用 HuBERT[2] 的特征對(duì) RVQ1 的特征做語義蒸餾,其余部分保留聲學(xué)信息。

          圖5:SpeechTokenizer 的模型架構(gòu)

             1.4 語音的其他表征:MEL依舊有用!


          上述的語音離散表征,不管是基于 HuBERT[2] 的語義 token,還是基于 Encodec[6] 的聲學(xué) token,它們都是直接基于原始的音頻波形抽取的。除此之外,也可以基于語音的中間表征來抽取。最典型的語音中間表征就是梅爾譜(MEL spectrogram,下文簡稱 MEL)。梅爾譜本身就對(duì)語音進(jìn)行了壓縮,將梅爾譜類比于圖像,使用單碼本的 VQ 也可以達(dá)到與 SoundStream 和 Encodec 那樣類似的壓縮程度。這種 MEL+VQ 的做法在各種語音合成模型中也相當(dāng)常見。我們?cè)谡Z音合成部分會(huì)詳細(xì)介紹。



          02



          讓 LLM 理解語音 token!

          有了上面所說的語義 token 和聲學(xué) token 之后,其實(shí)就可以利用它們來構(gòu)建語音層面的語言模型了。比較經(jīng)典的工作有:谷歌的 AudioLM[8] 和 AudioPaLM[9]、字節(jié)的 SALMONN[10]、復(fù)旦的 SpeechGPT[11]/SpeechGPT-Gen[12]/SpeechAlign[13]、阿里的 LauraGPT[14]和新加坡國立大學(xué)的 NextGPT[15]。它們的做法其實(shí)都大差不差,我們看幾個(gè)就知道是怎么回事了。

             2.1 AudioLM:最初的 SLM


          見名知義,AudioLM[8] 構(gòu)建的是語音層面的語言模型——給定一段語音,模型預(yù)測后續(xù)的語音。輸入側(cè)和輸出側(cè)都只有語音模態(tài)。這個(gè)任務(wù)形式和 GPT-4o 非常類似,不會(huì)經(jīng)歷 ASR->LM->TTS 的過程,而是直接從語音上下文中推理語義信息,再結(jié)合聲學(xué)信息合成貼合上下文的高表現(xiàn)力語音。而上文所述的語義 token 和聲學(xué) token 正好就能滿足這個(gè)任務(wù)的要求。

          AudioLM 的具體做法是:用 SoundStream[5] 提取聲學(xué) token,用 w2v-BERT[3] 提取語義 token,模型主體就是一個(gè)常規(guī)的 GPT,詞表包含所有的聲學(xué) token 和語義 token。它的建模過程也相當(dāng)有意思,有很大的參考意義:先做最重要的語義建模,然后先預(yù)測 SoundStream 的前若干層特征,建模粗糙的聲學(xué)特征,在預(yù)測 SoundStream 的剩余層特征,建模聲音的細(xì)節(jié)信息,最后基于所有的聲學(xué) token 還原為語音。這種層次化的建模在諸如 VALL-E[16] 這樣的語音合成模型中也非常常見。

          圖6:AudioLM 的 tokenizer

          圖7:AudioLM 的建模流程

          當(dāng)然,AudioLM[8] 僅僅關(guān)注語音模態(tài),LM 也很常規(guī),不具備如同 GPT-4o 一樣強(qiáng)悍的指令遵循能力和對(duì)話能力,語音對(duì)話的連貫性和表現(xiàn)力都相當(dāng)弱。但這一工作仍然具有相當(dāng)?shù)膯l(fā)性和開拓性,證明了:即使是常規(guī)的 LM,照樣也能理解語音 token。

             2.2 AudioPaLM[9]:整合 LLM


          這個(gè)就是 AudioLM 的后續(xù)了,谷歌將常規(guī)的 LM 替換成已經(jīng)訓(xùn)練好的、具有強(qiáng)大文本理解能力和生成能力的大語言模型——PaLM-2[17],既繼承了 AudioLM 保留副語言的能力,又融合了 PaLM-2 強(qiáng)大的語義理解能力和推理能力。而且,該模型的詞表同時(shí)包含大語言模型的 token 和語音 token,可以同時(shí)做語音理解任務(wù)和合成生成任務(wù),第一將這些任務(wù)整合在一個(gè)模型中進(jìn)行解決。

          不過,需要指出地是,文中的語音 token embedding 是直接輸入到 Transformer 中的,并沒有使用音頻編碼器做一次轉(zhuǎn)換。而且,AudioPaLM 的訓(xùn)練更加接近文本多任務(wù)的 T5,并未用到復(fù)雜的、豐富多樣的指令來表達(dá)任務(wù)的意圖,還不能算是真正嚴(yán)格的 instruction fine-tuning。

          圖8:AudioPaLM 的模型架構(gòu)

             2.3 SALMONN[10]:讓LLM理解語音


          這是字節(jié)跳動(dòng)和清華大學(xué)電子系(也是我們實(shí)驗(yàn)室)的合作成果。雖然這個(gè)工作的目的是讓 LLM 能夠理解語音,還不能生成語音,但它的訓(xùn)練方法和 LLM 比較接近,而且在諸多語音相關(guān)的任務(wù)上都顯示出了涌現(xiàn)性,可以用作 universal 的特征提取器,這對(duì)于構(gòu)建高質(zhì)量的、包含語音-文本多模態(tài)的指令微調(diào)數(shù)據(jù)集具有相當(dāng)大的意義。

          圖9:SALMONN 的模型架構(gòu)

             2.4 SpeechGPT/SpeechGPT-Gen/SpeechAlign:向LLM的訓(xùn)練方法看齊


          這算是復(fù)旦大學(xué)邱錫鵬組在這個(gè)領(lǐng)域一個(gè)成系列的工作,我們一個(gè)一個(gè)來看。

          SpeechGPT[11] 做的也是兼具語音理解能力和語音生成能力的多模態(tài)模型。在模型的訓(xùn)練上,SpeechGPT 大幅度向 LLM 看齊,使用了三段式的訓(xùn)練方法:第一階段先做模態(tài)適應(yīng)的預(yù)訓(xùn)練,其實(shí)就是拿 ASR 的語音數(shù)據(jù)來做預(yù)訓(xùn)練;第二階段和第三階段都是指令微調(diào),不過根據(jù)指令模態(tài)的不同,細(xì)分為了跨模態(tài)的指令微調(diào)和模態(tài)鏈指令微調(diào)。指令微調(diào)的數(shù)據(jù)集都是來自 ASR 數(shù)據(jù)集。描述任務(wù)需求的指令由 GPT-4 生成。

          在我看來,這個(gè)工作還是相當(dāng)偏學(xué)術(shù)化的作品,文中有不少點(diǎn)都有值得商榷的地方:第一,語音的離散化僅僅用了 HuBERT[2],模型只能看到語音的語義特征,這對(duì)模型合成語音的音質(zhì)和表現(xiàn)力有非常大的影響,demo 的語音也驗(yàn)證了我的判斷;第二,指令微調(diào)數(shù)據(jù)集的構(gòu)造上有問題。他們用的是 ASR 數(shù)據(jù)集,其實(shí)更好的選擇應(yīng)該是 TTS 數(shù)據(jù)集,可惜高質(zhì)量的 TTS 數(shù)據(jù)集實(shí)在是太少了。ASR 數(shù)據(jù)集中的文本和語音可能并不是嚴(yán)格對(duì)齊的,GPT-4 產(chǎn)生的 meta-prompt 和語音本身的特征也有可能是對(duì)不上的,比如 prompt 要求大聲朗讀,但語音本身可能是特定低沉的。meta-prompt 本身就無法做到足夠復(fù)雜豐富,不能描述到語音的一些細(xì)粒度信息。這一部分,最好要有像諸如 SALMONN[10] 這樣的多模態(tài)語音理解模型的介入,像 DALLE3 一樣豐富指令的多樣性。至于語音方面,可以考慮引入 zero-shot 的語音合成模型或者變聲模型來做合成數(shù)據(jù)。第三,文中的訓(xùn)練方法也沒有與人類偏好做對(duì)齊。

          圖10:SpeechGPT 的模型架構(gòu)

          對(duì)于上面的第一個(gè)問題,作者在其后的 SpeechGPT-Gen[12] 中做了解決。解決思路的核心點(diǎn)就是:讓模型不僅看到語音的語義 token,也要看到語音的聲學(xué) token。具體做法是:SpeechGPT 的 HuBERT 特征替換成了 SpeechTokenizer[7] 中的語義特征,用 SpeechGPT 這一 LLM 來自回歸地建模語義特征,有了語義特征之后,再使用 Flow-Matching 這樣的擴(kuò)散模型來建模聲學(xué)特征。這里選用 Flow-Matching 擴(kuò)散模型,可能是受了 SD3 和 Voicebox/Audiobox 的影響。為了增強(qiáng)兩階段建模的依賴關(guān)系,作者將語義特征的先驗(yàn)信息注入到第二階段擴(kuò)散模型的先驗(yàn)分布中。可以看到,這里語音的解碼其實(shí)也是一種層次化漸進(jìn)式解碼。

          圖11:SpeechGPT-Gen 的模型架構(gòu)

          SpeechAlign[13] 做的則是 SLM 與人類偏好的對(duì)齊,徹底地向 LLM 的訓(xùn)練方法看齊。該工作構(gòu)建了對(duì)比 gold token 和合成 token 的 encodec 數(shù)據(jù)集,然后進(jìn)行偏好優(yōu)化來進(jìn)行改進(jìn)。使用的偏好優(yōu)化方法包括 RLHF 和 Chain of Hindsight。

          圖12:SpeechAlign 的流程圖

          簡單總結(jié)一下上面這些工作中值得關(guān)注的點(diǎn):
          1. 要想讓 LLM 輸出上下文連貫的高表現(xiàn)力語音,必須要讓 LLM 看到語義 token 和聲學(xué) token,只有語義 token,那語音就會(huì)顯得呆板機(jī)械,只有聲學(xué) token,那語音就不知所云;
          2. LLM 的指令微調(diào)同樣可以遷移到語音-文本多模態(tài)領(lǐng)域中,LLM 的指令微調(diào)同樣可以帶來如同 NLP 一樣的涌現(xiàn)性;
          3. 高質(zhì)量指令微調(diào)數(shù)據(jù)集的構(gòu)建應(yīng)該是最大的瓶頸!一下子讓 LLM 同時(shí)做語音理解和語音生成,難度非常大。不如分步進(jìn)行。
          4. 如果要分步進(jìn)行的話,要先實(shí)現(xiàn)一個(gè)類似于 SALMONN[10] 那樣的多模態(tài)理解模型和一個(gè)強(qiáng)大的 Zero-shot TTS 模型。前者用于給語音數(shù)據(jù)打上豐富的標(biāo)簽,可以是情感情緒、韻律、音高、語速,也可以是口音、意圖和說話環(huán)境;后者則用于生成高質(zhì)量的語音數(shù)據(jù)。畢竟,高質(zhì)量的、文本和語音嚴(yán)格對(duì)齊的 TTS 數(shù)據(jù)實(shí)在是太少了,尤其是中文領(lǐng)域。有了這兩個(gè)模型的加持,我們其實(shí)就能夠構(gòu)造出高質(zhì)量的指令微調(diào)數(shù)據(jù)集。我不知道 OpenAI 是否有 SALMONN 這樣的模型,但 OpenAI 的 OpenVoice 模型應(yīng)該足夠?yàn)槠涮峁└哔|(zhì)量的語音數(shù)據(jù)了。

          既然我們?cè)谏厦娴钠姓撌隽苏Z音理解多模態(tài)模型的構(gòu)建,那我們?cè)谙乱徊糠志椭攸c(diǎn)關(guān)注 zero-shot TTS 模型,它對(duì)高質(zhì)量指令微調(diào)數(shù)據(jù)集的構(gòu)建同樣至關(guān)重要。同時(shí),LLM 解碼語音的方法也能從 zero-shot TTS 方案中得到不少的啟發(fā)。



          03



          LLM 如何合成語音:Zero-shot TTS

          前面說到,SLM 表中包含了語音的語義 token 和聲學(xué) token。語義 token 保證生成語音與對(duì)話上下文的連貫性,聲學(xué) token 保證了合成語音的質(zhì)量和表現(xiàn)力。要想做到合成上下文連貫的高自然度語音,有兩個(gè)問題必須要解決:
          1. 語音既有語義 token,又有聲學(xué) token,應(yīng)該要如何解碼成語音?
          2. SLM 在合成語音的過程中是否能夠遵循多輪對(duì)話中的文本指令和語音指令?這個(gè)很重要!這允許模型根據(jù)用戶的即時(shí)要求來生成語音回復(fù)。比如說,OpenAI 演示視頻中出現(xiàn)的:“將語速提高兩倍”、“采用更加機(jī)械化的語氣”這樣的要求。

          對(duì)于第一個(gè)問題,以 VALL-E[16] 為代表的諸多 zero-shot TTS 模型給出了不同的解決方案,這些方案雖有不同,但也有不可忽視的共同點(diǎn);對(duì)于第二個(gè)問題,以 VoiceLDM[18] 和 ParlerTTS[19] 為代表的 text/prompt-guided zero-shot TTS 工作給出了肯定的答案。簡單解釋一下 text/prompt-guided zero-shot TTS 是怎么回事,通常的語音合成就是將文本(transcription)轉(zhuǎn)換成聲音,該任務(wù)在 transcription 之外,又增加了 description 的輸入,來描述合成語音的情感情緒、口音、語氣、語速、音高、說話環(huán)境、氛圍等等信息。我們逐個(gè)來看這些工作。

             3.1 Zero-shot TTS


          2023年以來,學(xué)術(shù)界和工業(yè)界出了不少具備 in-context learning(zero-shot/few-shot)能力的 TTS 模型。這些 TTS 模型通常會(huì)將低信息密度、長序列的連續(xù)語音數(shù)據(jù)壓縮為高信息密度的 tokens 或者 latents(其實(shí)就是碼本中具體的token embedding)。這些模型本質(zhì)上做的事情就是:如何高效實(shí)現(xiàn)語音tokens/latents到音頻波形的映射。

          這些模型給出的解決方案基本上都遵循一個(gè)準(zhǔn)則:語義 token 和聲學(xué) token 層次化解碼,先語義后聲學(xué),或者先解碼成 MEL 再后接聲碼器,并且非必要不做自回歸(畢竟自回歸上線雖高,但太吃數(shù)據(jù)了)!我們一個(gè)個(gè)來看。

          基于聲學(xué) token 或語義 token 的工作

          先是微軟的 VALL-E[16]。這是 zero-shot TTS 的開山之作,首次在 TTS 任務(wù)上采用了上萬小時(shí)的數(shù)據(jù)。它采用 Encodec 將語音轉(zhuǎn)換為離散的 token,然后用 GPT 在 token 上做語言模型的任務(wù)。但是,語音畢竟不是文本,如果直接在語音的所有特征上都做自回歸的話,那訓(xùn)練的成本會(huì)相當(dāng)高。考慮到 Encodec RVQ 特征的層次性,低層特征表示語義內(nèi)容這樣的重要特征,高層特征則表征聲學(xué)細(xì)節(jié)。前者具有比較強(qiáng)的上下文依賴關(guān)系,適合用自回歸來建模,后者諸如音色這樣的特征,具有全局性,用非自回歸特征也可以搞定,所以就有了 VALLE 中自回歸+非自回歸的層次建模方式。

          圖13:VALL-E 的模型架構(gòu)

          盡管 VALL-E[16] 在用 GPT 建模 token 的上下文關(guān)系的時(shí)候,基于 token 的層次化特性做了分治處理,可能是限于當(dāng)前語音數(shù)據(jù)集的規(guī)模(幾萬小時(shí)可能不夠),這種 GPT 自回歸的難度還是相當(dāng)大的,解碼過程存在常見的錯(cuò)誤傳播現(xiàn)象,魯棒性非常差,極其不穩(wěn)定。根據(jù) Ilya Sutskever 此前對(duì)于自回歸的論述,GPT 自回歸相比于 BERT 這種雙向結(jié)構(gòu)是非常 data-hungry 的,萬小時(shí)的數(shù)據(jù)可能不夠。根據(jù)本人以及一些同行的經(jīng)驗(yàn),VALL-E 模型這一類的自回歸模型,也包括 tortoise-tts[20] 和 xtts v2,要想顯出威力,至少要有十幾萬小時(shí)的數(shù)據(jù)才行。

          既然 GPT 自回歸的難度這么大,就有不少人想方設(shè)法地來降低 GPT 學(xué)習(xí)的難度了。他們的解決方案也非常類似:給 GPT 提供額外的條件信息不就行了。比較典型的工作就是微軟的 RALL-E[21] 和吉利的 HAM-TTS[22]。RALL-E 先生成了時(shí)長信息和音高信息,作為 GPT 自回歸的先驗(yàn),之所以會(huì)補(bǔ)充時(shí)長和音高,這大概是受到 FastSpeech2[23] 這樣的非自回歸模型的啟發(fā),這兩個(gè)指標(biāo)的引入,有助于提升合成的魯棒性;HAM-TTS 則是補(bǔ)充了基于 HuBERT 的語義信息。值得注意地是,HAM-TTS 將模型的訓(xùn)練數(shù)據(jù)擴(kuò)充到了65萬小時(shí),其中有50萬小時(shí)的數(shù)據(jù)是合成數(shù)據(jù)。合成數(shù)據(jù)也能大幅度提升合成語音的音質(zhì)。

          圖14:RALL-E 的模型架構(gòu),框出來的就是輔助信息

          圖15:HAM-TTS 的模型架構(gòu)

          說到 VALL-E 的后續(xù)改進(jìn),VoiceCraft 不得不提。我愿意稱之為“優(yōu)雅的 VALL-E”。它的優(yōu)雅主要體現(xiàn)在兩個(gè)方面:casual masking和delayed stacking。所謂的 causal masking,是為了用自回歸 GPT 架構(gòu)來做語音編輯任務(wù),就是把被 mask 的部分移動(dòng)到序列末尾去預(yù)測,一套架構(gòu)同時(shí)做合成和編輯任務(wù);所謂的 delay stacking,是為了適配自回歸和 RVQ,通過 delay 錯(cuò)位讓當(dāng)前碼本的 token 預(yù)測正好可以利用前面那些 token 的預(yù)測結(jié)果,比起 VALL-E 那樣自回歸和非自回歸縫合在一起的結(jié)構(gòu)要優(yōu)雅不少。

          圖16:VoiceCraft 的建模流程

          基于聲學(xué)/語義 latents 的工作

          我們通常所說的語音 token 是離散的。如果使用對(duì)應(yīng)碼本中的 embedding 來表示語音的話,它也可以是連續(xù)的低維度的 latent 變量。既然是低維度的連續(xù) latent 變量,那圖像合成領(lǐng)域中大火的 LDM(latent diffusion model,其實(shí)就是 stable diffsion 1&2 采用的模型)模型[]自然也可以用到語音的合成上。這方面的經(jīng)典工作有很多,比如說:NaturalSpeech 2&3[25, 26]、AudioLDM 2[27]、VoiceLDM[18]。但這里面只有 NaturalSpeech2 用到了語音離散化部分提及的聲學(xué)/語義 token,NaturalSpeech3 的屬性分解形式的 VQ 更像是另一種形式的 RVQ。我們先來看 NaturalSpeech 2&3,其他的工作后面再來看。

          首先是 NaturalSpeech 2[26],它基本上就是 VALL-E 的連續(xù)版本。它用的 latent 也是來自 Encodec,對(duì)其中不同層次的 latent 做了求和,然后將其作為擴(kuò)散模型的訓(xùn)練目標(biāo)。值得注意地是,擴(kuò)散模型和 FastSpeech2 一樣也用了時(shí)長和音高作為合成的先驗(yàn)條件。這一點(diǎn)也被后來的 RALL-E 采用。該工作中的擴(kuò)散模型采用 WaveNet 實(shí)現(xiàn),同時(shí)預(yù)測不加噪的 latent 和后驗(yàn)均值,和圖像合成領(lǐng)域的擴(kuò)散模型在實(shí)現(xiàn)方式上還是有所不同的。

          圖17:NaturalSpeech2 的模型架構(gòu)

          然后是 NaturalSpeech 3[26],還是非自回歸的,而且非自回歸的正統(tǒng)性味道更加濃厚,借用了不少 FastSpeech2 和 megatts1&2(后面會(huì)講)[27, 28]的設(shè)計(jì)思想。像 megatts 1&2 一樣,同樣采用(自)監(jiān)督信號(hào)對(duì)語音 token 編碼的內(nèi)容做了限制,而不再像是 VALL-E/NaturalSpeech2 那樣一把抓。相應(yīng)地,語音 token 化的方法也用 VQ 就行。具體而言,文章將語音信號(hào)分解為時(shí)長、內(nèi)容、韻律和細(xì)節(jié)四個(gè)部分,然后每個(gè)部分用離散化的擴(kuò)散模型來建模。不過,原文使用 GRL 來促進(jìn)語音屬性的分解,這一點(diǎn)的靠譜程度存疑。我也嘗試過文章的 FACodec,但效果很差。三級(jí)擴(kuò)散模型級(jí)聯(lián)的結(jié)構(gòu),預(yù)測起來似乎也非常麻煩。

          圖18:NaturalSpeech3 的模型架構(gòu)

          基于 MEL 譜+VQ 的 TOKEN 的工作

          當(dāng)然,也有不少工作用了 MEL 譜作為中間特征,然后在梅爾譜的基礎(chǔ)上,或是用 VQ 提供離散 token,或是用 CNN 來提取連續(xù) latent。對(duì)于 MEL+VQ 的工作,有 tortoise-tts[20]、xtts 1&2、megatts1&2[28, 29]、base TTS[30]。對(duì)于 MEL+latents 的工作,有:AudioLDM 1&2[27]、StyleTTS 1&2[31, 32]。我們來簡單看看是它們是怎么做的。

          Tortoise-tts[20]。該工作是著名的開源英文 TTS 模型。其作者目前在 OpenAI 就職,同時(shí)也是 GPT-4o 的重要 Contributor(他自個(gè)兒在博客中說的)。Tortoise-tts 使用 MEL+VQVAE 的方法得到語音的 MEL token,然后對(duì) MEL token 以及 text token 做 GPT 自回歸建模。對(duì)于語音的解碼,自然也是分為兩步:先是用擴(kuò)散模型將 MEL token 轉(zhuǎn)換為 MEL 譜,這一步和文生圖很像,用擴(kuò)散模型是很自然的選擇;然后用聲碼器將 MEL 譜轉(zhuǎn)換為音頻波形。tortoise-tts 和 VALL-E 的主體都是自回歸建模,二者的不同主要在于 token 的不同。

          圖19:tortoise-tts 的模型架構(gòu)

          MegaTTS 1&2[28, 29]。字節(jié)跳動(dòng)的 MegaTTS 系列對(duì)語音 token 編碼信息做了顯式的信息壓縮處理,讓語音 token 僅編碼上下文依賴強(qiáng)的韻律信息,然后用 GPT 自回歸來建模語音的韻律。對(duì)于其他方面的信息,模型的處理顯得較為常規(guī):音色一般具有全局性,使用單一的音色編碼器從參考音頻中提取就性;對(duì)于文本語義內(nèi)容的處理,模型在很大程度上參考了非自回歸的 FastSpeech 2。對(duì)于語音的解碼,也是分為兩步:先通過 MEL decoder 還原為 MEL 譜,然后通過聲碼器解碼為音頻波形。MegaTTS 2和1總體上類似,在音色編碼(音素級(jí)編碼、多條參考音頻)、語音提示長度(擴(kuò)展同 speaker 語音上下文長度硬 train,音頻 prompt 長度更長)和時(shí)長建模(也用 GPT 自回歸)上做了改進(jìn),同時(shí)堆了更大規(guī)模的數(shù)據(jù)。剪映的后端 TTS 模型用的就是 megatts2。該工作在各論文的評(píng)測中表現(xiàn)也都不錯(cuò)。

          圖20:megatts1 的模型架構(gòu)

          基于 MEL 譜+VAE 的 latents 的工作

          AudioLDM 1&2[27]。AudioLDM 1&2 使用的語音 latents 是一致的,均通過 MEL+VAE 獲得。既然是連續(xù)的 latents,使用擴(kuò)散模型來建模也合情合理。解碼過程也相當(dāng)簡單:VAE decoder 獲得梅爾譜,然后用聲碼器轉(zhuǎn)換為音頻波形。該系列工作的核心創(chuàng)新點(diǎn)是利用多模態(tài)模型統(tǒng)一了擴(kuò)散模型條件輸入側(cè)的信息:AudioLDM 1 用 CLAP 統(tǒng)一了文本模態(tài)和音頻模態(tài),用單模態(tài)的音頻數(shù)據(jù)就能完成模型的訓(xùn)練;AudioLDM 2 則包含了圖像、文本、轉(zhuǎn)錄文本等更多模態(tài),模型泛用性也更強(qiáng),既能做語音合成,也能做音樂生成、音頻事件生成。

          圖21:AudioLDM 1 的模型架構(gòu)

          圖22:AudioLDM2 的模型架構(gòu)

          StyleTTS 1&2[31, 32]。StyleTTS 系列的模型一眾 zero-shot TTS 模型顯得比較老派,整體結(jié)構(gòu)基本上沿襲了非自回歸的 FastSpeech 2,不同之處在于增加了基于參考音頻抽取的風(fēng)格信息。說是風(fēng)格,其實(shí)跟 megatts 的音色很像。StyleTTS 2 的工作則將風(fēng)格進(jìn)一步拆分成聲學(xué)風(fēng)格和韻律風(fēng)格。訓(xùn)練時(shí)的風(fēng)格信息由音頻提供,推斷時(shí)的風(fēng)格信息則由擴(kuò)散模型提供。StyleTTS 2 通過一個(gè)擴(kuò)散模型橋接了文本韻律和語音風(fēng)格之間的聯(lián)系,擺脫推斷時(shí)對(duì)參考音頻的依賴。不用參考音頻其實(shí)對(duì)產(chǎn)品的意義還挺大的,要都用現(xiàn)實(shí)世界中真人尤其是名人的聲音作為參考音頻,那這勢必會(huì)引起版權(quán)糾紛。這種糾紛在國內(nèi)國外都有相關(guān)的事件。最近寡姐投訴 OpenAI 的事件就是一例。

          圖23:StyleTTS 1 的模型架構(gòu)

          圖24:StyleTTS 2 的模型架構(gòu)

             3.2 TTS 對(duì)指令的遵循


          SLM 不僅要合成合乎上下文語義的高表現(xiàn)力語音,合成的語音還要符合用戶的即時(shí)要求。一些 text-guided zero-shot TTS 的工作值得參考。這些工作一般都是在已有的 zero-shot TTS 模型或者 text-to-audio 模型上改造而來,同時(shí)吸收 transcription 和 description 兩路條件。其中的重點(diǎn)還是在于數(shù)據(jù)集的構(gòu)建。這方面的工作有:PromptTTS[33]、InstructTTS[34]、ParlerTTS[19]、VoiceLDM[18] 和 Audiobox[35]。我們主要談?wù)?ParlerTTS 和 VoiceLDM。

          ParlerTTS[19]。VALL-E/VoiceCraft 的增強(qiáng)版,通過 T5 編碼器和 cross-attention 旁路引入了描述性文本的信息。該工作的目的是想使用自然語言 prompt 來指定說話風(fēng)格和環(huán)境信息,擺脫對(duì)參考音頻的依賴。描述性標(biāo)簽文本的收集過程也顯得相當(dāng)樸素:通過定制化的監(jiān)督式模型獲取語音數(shù)據(jù)的口音特征、錄音質(zhì)量特征、音高語速特征。然后用 LLM 將這些特征轉(zhuǎn)換為自然語言的描述。在我看來,這個(gè)工作有這么幾點(diǎn)局限性吧:其一,缺乏情緒標(biāo)簽;其二,語音描述性標(biāo)簽的收集并不具備通用性,較為繁瑣,遠(yuǎn)不如一個(gè)強(qiáng)大的多模態(tài)語音理解模型來得實(shí)在。文章 demo 雖然達(dá)到了預(yù)期的效果,但場景似乎局限在朗讀的情景中。

          圖25:ParlerTTS 的模型架構(gòu)

             3.3 TTS 總結(jié)


          林林總總說了這么多 zero-shot 的 TTS 方法,我想說明的結(jié)論有這么幾點(diǎn):
          1. 在 LLM 大行其道、scaling law 大顯神威的時(shí)代,TTS 模型的訓(xùn)練數(shù)據(jù)規(guī)模已經(jīng)突破了萬小時(shí),甚至達(dá)到了數(shù)十萬小時(shí)的級(jí)別。在大數(shù)據(jù)的加持下,TTS 任務(wù)上也涌現(xiàn)出了 in-context learning 能力。
          2. 語音信息的解碼通常都要層次化或者多步進(jìn)行,不能一步到位。自回歸、擴(kuò)散模型和流匹配都能在 TTS 中發(fā)揮作用;
          3. 借鑒 NLP instruction fine-tuning 和文生圖的經(jīng)驗(yàn),TTS 模型同樣可以遵循文本指令或者語音指令,合成符合用戶即時(shí)要求的語音,擺脫對(duì)參考音頻的依賴,這或許也能規(guī)避一些知識(shí)產(chǎn)權(quán)的困擾(比如最近有名的寡姐投訴 OpenAI 事件)。同時(shí),用戶也能在對(duì)話過程中隨時(shí)切換語音回復(fù)的風(fēng)格,這一點(diǎn)在 OpenAI 的 demo 中有很明確的體現(xiàn)。另外,不知道大家有沒有注意,GPT-4o 合成的語音是可以是放映所處的聲學(xué)環(huán)境的:有一段語音背后似乎是有鋼琴聲的。
          4. text-guided zero-shot TTS 在模型架構(gòu)上和 zero-shot TTS 有非常大的相似性。但訓(xùn)練數(shù)據(jù)可能較為缺乏。先開發(fā) zero-shot TTS,再用類似 SALMONN 那樣的多模態(tài)理解模型來打標(biāo)簽(類似 DALLE3 的做法),這樣數(shù)據(jù)集構(gòu)造方式,可能會(huì)是更好的選擇。

          另外,對(duì)于語音的解碼方案,我傾向于是這樣的:
          1. 如果要做流式推理,外接類似 HIFIGAN 這樣的聲碼器的方式可能不是好的選擇。HIFIGAN 并不天然支持流式解碼。相反地,諸如 SoundStream 和 Encodec 這樣的方法,同時(shí)有流式變體和非流式變體;
          2. 先做語義 token 的解碼,這個(gè)解碼大概率是自回歸解碼。語義 token 畢竟是建模上下文依賴關(guān)系,自回歸方法已經(jīng)在 NLP 上證明了這一點(diǎn);
          3. 然后做聲學(xué) token 的解碼,擴(kuò)散或者 flow-matching 可能是更好的選擇。擴(kuò)散模型或者流匹配可以很好地修補(bǔ)語音的細(xì)節(jié);

          當(dāng)然,除了上面講到的,zero-shot TTS 還有很多值得研究的方法。限于篇幅,僅列舉于此,不再詳述:HierSpeech++[36]、base TTS[30]、Voicebox/Audiobox[35]、UniAudio[37]、Make-a-Voice[38] 等等。



          04



          其他問題

          對(duì)于 GPT-4o 模型,如果僅僅聚焦于語音多模態(tài),還有下面的問題值得關(guān)注:

          語音交互如何做到低延遲?大概率要求流式切片處理,主要工作在于工程優(yōu)化,用 C++ 重寫算子。推理框架的話,用 tensorrt、mnn 這些都行。上下文所述的音頻離散化方法,諸如 SoundStream 和 Encodec,其實(shí)也支持流式處理。

          語音對(duì)話中的打斷如何實(shí)現(xiàn)?個(gè)人認(rèn)為有兩種可能的方案:turn-based 和流式處理。所謂的 turn-based 方案,是比較工程化的,簡答概括一下就是:檢測是否有停頓,如果一段時(shí)間內(nèi)沒有聲音,模型就開始返回語音回復(fù)。另一種流式方案,則是:模型一直在接受用戶的流式語音輸入,判斷是否應(yīng)該輸出語音回復(fù),一個(gè)充分訓(xùn)練的模型應(yīng)該是能夠準(zhǔn)確預(yù)測出語音詞表中的[START]和[END]的。



          05



          對(duì)游戲配音業(yè)務(wù)的思考

          text/prompt-guided zero-shot TTS 方法對(duì)游戲的 AI 配音意義重大。主要體現(xiàn)在:
          1. 用自然語言提示去合成音色穩(wěn)定的語音,擺脫對(duì)參考音頻的依賴,在業(yè)務(wù)中能夠更加靈活,至少比克隆已有人物/角色的語音的方式更加方便,更不容易出戲。舉個(gè)例子,在開放世界劇情類游戲的研發(fā)階段,我們會(huì)設(shè)定一些 profile 賦予 NPC,讓玩家跟 NPC 聊天。我們?cè)?jīng)用克隆《原神》、《崩壞:星穹鐵道》已有角色的方式賦予這些 NPC 角色語音,但放在那些歐美背景的 NPC 中,就是很有違和感,沒有現(xiàn)實(shí)世界中的 accent,不夠 decent。
          2. 劇情任務(wù)中的配音會(huì)更加真人化、更有沉浸感。過年期間過《崩壞:星穹鐵道》花火和黑天鵝的同行任務(wù)的時(shí)候,部分 NPC 角色會(huì)有六公主的翻譯腔,這是花火行于歡愉命途的惡趣味,空氣中頓時(shí)充滿了快活的味道。如果走 bv2、gsv 的語音克隆方案,應(yīng)該是很難有這種效果的。而且,玩家在劇情任務(wù)中勢必會(huì)經(jīng)過不同的地勢地貌,至少室內(nèi)、室外的聲音聽起來是有不同的。室內(nèi)的聲音至少會(huì)有回響、混響的吧。這種感覺語音克隆方案也是無法做到的。




          06



          全文總結(jié)

          總結(jié)一下本文說談的內(nèi)容,我認(rèn)為 GPT-4o 語音多模態(tài)的實(shí)現(xiàn)可能是走了以下的技術(shù)路線:
          1. audio & text tokenizer 的實(shí)現(xiàn)應(yīng)該是語音離散化部分所用的技術(shù),例如 SoundStream、Encodec、SpeechTokenizer,或者是 MEL+VQ 最后配合聲碼器來解碼;參考 zero-shot TTS、AudioLM/AudioPaLM、SpeechGPT-Gen 等工作的結(jié)果,LLM 中語音 token 的解碼應(yīng)該是要走層次化或者多步的方法,先解碼語義特征,再解碼聲學(xué)特征,或者是先解碼 MEL,再加一個(gè)HIFIGAN 這樣的聲碼器。另外,如果做 audio/speech/music 這樣的通用聲合成的話,可能也能通過 prompt 來控制。AudioLDM2 雖然做了這方面的工作,但 audio/music 和 speech 的參數(shù)其實(shí)是不一樣的,說到底還不是同一個(gè)模型。
          2. 對(duì)于指令微調(diào),數(shù)據(jù)集的構(gòu)造非常重要,大概率要用到合成數(shù)據(jù)。其一,網(wǎng)絡(luò)上高質(zhì)量語音數(shù)據(jù)的量級(jí)遠(yuǎn)遠(yuǎn)不及文本,直接拿 ASR 數(shù)據(jù)來做肯定會(huì)影響模型合成語音的音質(zhì);其二,大語言模型合成的 instruction 往往觸及不到語音的細(xì)粒度特征,這樣的 instruction 其實(shí)無法準(zhǔn)確詳盡地描述 text 和 speech 之間的關(guān)系。因而,需要引入強(qiáng)大的 zero-shot TTS 模型合成高質(zhì)量語音,然后用多模態(tài)語音理解模型來為合成語音打標(biāo)簽,當(dāng)然也可以評(píng)分做篩選什么的。
          3. 最后是要讓大模型的輸出對(duì)齊人類的偏好。這方面的方法有很多,有 DPO、PPO 什么的,都可以用。

          圖27:全文總結(jié),可能的 roadmap

          作者也在知乎上發(fā)文解讀語音相關(guān)技術(shù),有興趣的朋友們,歡迎前來關(guān)注。
          作者主頁鏈接:https://www.zhihu.com/people/wen-xue-zhi-45/posts

             參考文獻(xiàn)


          [1] Baevski A, Zhou Y, Mohamed A, et al. wav2vec 2.0: A framework for self-supervised learning of speech representations[J]. Advances in neural information processing systems, 2020, 33: 12449-12460.
          [2] Hsu W N, Bolte B, Tsai Y H H, et al. Hubert: Self-supervised speech representation learning by masked prediction of hidden units[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2021, 29: 3451-3460.
          [3] Chung Y A, Zhang Y, Han W, et al. W2v-bert: Combining contrastive learning and masked language modeling for self-supervised speech pre-training[C]//2021 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). IEEE, 2021: 244-250.
          [4] Van Den Oord A, Vinyals O. Neural discrete representation learning[J]. Advances in neural information processing systems, 2017, 30.
          [5] Zeghidour N, Luebs A, Omran A, et al. Soundstream: An end-to-end neural audio codec[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2021, 30: 495-507.
          [6] Défossez A, Copet J, Synnaeve G, et al. High fidelity neural audio compression[J]. arXiv preprint arXiv:2210.13438, 2022.
          [7] Zhang X, Zhang D, Li S, et al. Speechtokenizer: Unified speech tokenizer for speech large language models[J]. arXiv preprint arXiv:2308.16692, 2023.
          [8] Borsos Z, Marinier R, Vincent D, et al. Audiolm: a language modeling approach to audio generation[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2023.
          [9] Rubenstein P K, Asawaroengchai C, Nguyen D D, et al. Audiopalm: A large language model that can speak and listen[J]. arXiv preprint arXiv:2306.12925, 2023.
          [10] Changli Tang, Wenyi Yu, Guangzhi Sun, Xianzhao Chen, Tian Tan, Wei Li, Lu Lu, Zejun Ma, Chao Zhang. SALMONN: Towards Generic Hearing Abilities for Large Language Models
          [11] Zhang D, Li S, Zhang X, et al. Speechgpt: Empowering large language models with intrinsic cross-modal conversational abilities[J]. arXiv preprint arXiv:2305.11000, 2023.
          [12] Zhang D, Zhang X, Zhan J, et al. SpeechGPT-Gen: Scaling Chain-of-Information Speech Generation[J]

          -End-
          原創(chuàng)作者|陳鑫

          你對(duì) GPT-4o 的語音技術(shù)有什么樣的看法?歡迎評(píng)論留言。我們將選取1則評(píng)論,送出騰訊云開發(fā)者定制眼罩1個(gè)(見下圖)。6月21日中午12點(diǎn)開獎(jiǎng)。


          ????歡迎加入騰訊云開發(fā)者社群,享前沿資訊、大咖干貨,找興趣搭子,交同城好友,更有鵝廠招聘機(jī)會(huì)、限量周邊好禮等你來~


          (長按圖片立即掃碼)




          瀏覽 254
          1點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          1點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久爱视颊在线观看 | 欧美v国产v亚洲v日韩九九 | 日本三级黄色 | 另类综合网 | 天天干天天橾 |