![]()
演講嘉賓|楊學銳
編輯|Kitty
策劃|QCon 全球軟件開發大會
在大語言模型(LLM)迅猛發展的時代,語音技術正迎來新一輪變革。本文整理自階躍星辰語音模型負責人楊學銳在 2025 年 QCon 全球軟件開發大會(上海站) 的分享“端到端語音模型:從語音表征到模型架構”。
預告:將于 4 月 16 - 18 召開的 QCon 北京站設計了「多模態理解與生成的突破」專題,本專題旨在全面介紹多模態理解與生成的前沿進展,重點關注文本、圖像、音視頻等多模態的統一表示、跨模態推理與生成協同,以及這些能力如何重塑搜索、分析、設計與交互體驗,探索多模態如何真正進入業務流程,成為生產力的一部分,為更多企業引入多模態理解與生成應用提供清晰的指引與借鑒。敬請關注。
以下是演講實錄(經 InfoQ 進行不改變原意的編輯整理)。
我想從語音的角度,談談大模型給這一領域帶來的范式變化。我所在的公司階躍星辰專注基礎模型,因此我會更多從基模的視角來分享。內容大致分三塊:第一,看看大模型技術如何重塑語音能力;第二,我們怎樣搭建一個真正的端到端語音模型;第三,什么樣的端到端語音模型才算“好”。
1 LLM 如何重塑語音技術
先進入第一部分,看看大模型技術對語音能力的具體影響。上一代語音系統,其實也不算“上古”,就是深度學習時代,大家都不陌生:無論識別還是合成,都是級聯或流水線結構,模塊多、調優難。理解側只能處理簡單指令,無法做多輪、多模態的深度推理;生成側(TTS)即便加了情感標簽,韻律仍顯模板化,離“人感”還有距離。
大模型對語音的滲透,最早可從 2022 年底的 Whisper 說起。它發布時間早于 ChatGPT,卻已經把大模型范式搬進語音識別:把語種識別、語音活動檢測(VAD)和轉寫任務統一在一個 encoder-decoder 框架里。Whisper 仍依賴 cross-attention,計算效率不高,流式改造也麻煩,但它已經能 scale:從 80 M 到 1.5 B 的多個版本,ASR 性能隨參數增加穩步提升。這算是大模型與語音結合的第一次認真嘗試。
![]()
再往前看,同一時期還有一套并非大模型路線的方案——阿里的 Paraformer。它效果也不錯,但結構里嚴格來說有四個模塊,比 Whisper 復雜不少。Paraformer 能不能繼續放大、能不能 scale up,得打個問號;而能不能 scale,正是大模型時代最關鍵的觀察點之一。
![]()
再往后,就到了更徹底的大模型范式:我們今年上半年發布的 StepASR。它完全用大模型思路做語音識別:語音先過一個 Audio Encoder,再送進大模型的 Decoder,以自回歸方式逐 token 輸出文本。這樣既能把語種識別、語音轉寫、上下文理解、熱詞增強全包在一起,也能借助大模型本身的 context 能力,把整段對話或文檔當作提示,提高準確率;還可以在 prompt 里塞熱詞,讓專有名詞一次到位。碰上特別冷門的術語,也能用類似 function call 的機制去外部查,再回填結果,這些在傳統流水線里很難一口氣做完。
![]()
從結果看,我們拿 Librispeech 這個經典英文測試集做對比:從傳統語音時代到大模型時代,字錯率一路往下走。Librispeech 本身聲學環境相對干凈,如果在更復雜的場景里,提升幅度還會更大。
![]()
說完識別,再看合成。TTS 也經歷了從 CNN、RNN 到生成式模型,再到如今大模型的迭代。灰色部分代表基于大模型的方案,2023 年開始陸續出現,到現在已經和 diffusion 路線平分秋色。這張圖只更新到今年 3 月,如果拉到 10 月,大模型范式的 TTS 已經明顯占上風。
![]()
再具體看幾個典型的 TTS 方案。最早把大模型用在自回歸語音合成上的工作之一是 VALL-E。今天回頭看,它的架構確實有些粗糙,甚至缺了不少細節,但它像一塊敲門磚:用大語言模型建模,把語音轉成 token 后自回歸地預測音頻 token,再經過一個音頻 decoder 還原音色。現在的大模型 TTS 基本還是這個套路,只是做了點小改動,比如直接喂文本,不再先把文本轉成音素序列。下圖綠色框里那個“文本→音素”的步驟,在 VALL-E 里還存在,我們后來把它省掉了。VALL-E 算是奠基性的工作,后面業界又冒出很多有影響力的項目。
接著說說我們自己的 StepTTS。模型本身沒開源,但會開放部分接口或能力。和 VALL-E、CosyVoice 相比,StepTTS 更端到端、也更“大模型”:它的輸入跟文本大模型完全對齊,支持 Chat 格式的文本 - 音頻混合輸入。這樣做的好處是天然支持多輪上下文。大家都在談“理解與生成一體化”,TTS 怎么一體化?如果只給一句文本、吐一段音頻,那只是個映射;真實對話里,背景知識、音色、韻律都藏在上下文里。傳統 TTS 范式抓不到這些,而 Chat 格式的多輪輸入讓模型能利用大模型的理解能力,實現可控生成,甚至音頻編輯。
![]()
再提幾篇比較新的工作,就是所謂“Diffusion-AR”路線,比如字節的 DiTAR 和微軟的 VibeVoice。它們在前段時間熱度很高,思路是文本進去,直接輸出連續聲學表征,屬于一種還在探索的前沿范式,后面講到表征時還會再提。
![]()
前面分別講了語音識別和合成這兩個典型能力。實際使用時,它們常被塞進同一個系統,也就是語音對話系統。一兩年前,這類系統普遍是三段式:語音先進 ASR 轉成文本,再由語言模型生成文本回復,最后經 TTS 合成語音。大模型時代,我們能不能把這三段壓成一段,實現“理解 - 生成一體化”?答案是肯定的。
說到端到端語音模型,繞不開 GPT-4o Audio。在它發布前,很多人對“語音進、語音出”的端到端對話持懷疑態度。GPT-4o 直接給出證明:純音頻輸入,端到端模型輸出語音,一氣呵成。接下來我就說說怎么搭這樣的模型,以及業界是怎么一步步走到今天的。
2 如何構建端到端語音模型一一表征
我想從四個角度說說怎么搭一個端到端語音模型:語音表征、訓練與推理、模型架構,以及它到底能干什么。先談表征。
傳統語音系統里,大家習慣用人工設計的特征,最典型的是梅爾譜。它模仿人耳聽覺,要經過模數轉換、分幀、加窗、傅里葉變換等一堆信號處理步驟,才得到一張頻譜圖。可這些專家特征對模型來說是不是最優,一直是個問號。
于是很自然想到:如果人設計的不是最好,那就讓模型自己學。大概三四年前,這類方法陸續出現。最簡單的思路是先把音頻送進一個語音編碼器,變成連續隱向量,再交給大語言模型的 decoder。這里有幾個代表性工作。
最早的是 2019 年的 Wav2Vec。它把原始波形過卷積提特征,再用對比學習訓練。那時 Transformer 還沒現在火,主干是 CNN。后來迭代到 Wav2Vec 2.0,才把主干換成 Transformer。
![]()
另一個影響很大的工作是 HuBERT。它先用 CNN 提特征,再用類似 BERT 的掩碼語言模型訓練:隨機 mask 一些幀,讓網絡猜這些幀對應什么。HuBERT 其實對原始音頻做了聚類,這和后面要說的語音離散化密切相關。
另外,Whisper 識別能力那么強,它的 encoder 表征肯定不差,于是很多人直接拿 Whisper encoder 當語音表征提取器。
上面說的都是大模型出現前的語音表征方法。那大模型怎么表征文本?文本天然是離散的,用 BPE 之類方法切成詞表,每個詞對應一個 ID,就能在模型里自回歸訓練。語音是連續波形,怎么變成離散 token?這就出現了語音離散化方案,大致分三類:語義 token、聲學 token,以及把兩者統一起來的統一 token。此外還有一些額外維度,比如音高、韻律、風格等表征。
![]()
我們先來看看最常見的 Semantic Token(語義 Token)方案。所謂語義 Token,指的是那些更高層、更抽象的信息,主要對應說話內容本身,也就是“說了什么”。前面提到的連續表征模型,比如 Wav2Vec、HuBERT,都可以通過離散化手段得到語義 Token。以 HuBERT 為例,它先用 k-means 把連續向量聚類到若干鄰近空間,再把這些空間映射成離散的 Token ID。
比較有代表性的工作是 BEST-RQ。它的做法與 HuBERT 類似:先對頻譜做掩碼,再用 encoder 預測被掩掉的幀。不同之處在于,BEST-RQ 的碼本是隨機初始化的,聽起來有些反直覺,但實際效果卻很好,因此字節跳動等公司在訓練語音表征時常常采用這一方案。另一個例子是 CosyVoice 的 TTS 系統:既然 ASR 模型的 encoder 對語音的抽象能力已經很強,那就直接對它的輸出再做一次離散化,得到的 Token 自然就是高層的語義 Token。
![]()
接下來是聲學 Token。聲學 Token 粒度更細,除了“說了什么”,還包含“怎么說”,節奏、停頓、韻律、情緒等。早期聲學建模并非神經網絡,而是用于音頻傳輸的編解碼器,比如 Opus、LPCNet。這些方案追求低碼率與可恢復性,但壓縮率高時音質損失大,壓縮率低又不夠精簡。神經網絡興起后,CNN 等方法能更好地建模底層信息。Encodec 是其中的代表:它用 encoder-decoder 結構,中間插入量化器,并采用多級殘差量化。一次量化(如 float32→int8)會丟失大量信息,Encodec 通過多層殘差逐步保留細節,從而獲得更好的還原效果。
最后,一個很自然的想法是把語義 Token 與聲學 Token 融合。人與人交流時,兩種信息缺一不可:聽不懂內容不行,忽略說話方式也會帶來誤解。因此,目前主流方案是所謂的 unified token,即同時兼顧語義與聲學還原度。大體上有三種做法,第一種是語義蒸餾。以 SemanticCodec 為例,先訓練一個語義 Codec,再通過蒸餾把知識遷移到聲學 Codec,使最終 Token 同時攜帶語義與聲學信息。不過這種方法在 TTS 任務里常會出現說話人相似度下降的問題。
![]()
第二種做法是開兩條通道,一條跑語義,一條跑聲學,量化時再把兩條通道的信息合并,這樣既能保留語義,又能保留聲學細節。一個典型例子是 EXACT,不少 TTS 或其他語音任務都基于這種表征來做。
說完連續和離散兩種表征,我們簡單回顧一下它們各自的優缺點。先說輸入側——也就是語音理解。右邊那張表里列了實驗結果,一眼就能看出:連續表征在理解任務上普遍優于離散表征。道理很直觀,離散化必然丟掉信息,而 ASR、聲音事件檢測、情緒識別等都需要豐富的聲學細節,因此直到今天,輸入側用連續表征仍是更穩妥的選擇。
![]()
再看輸出側,情況略有不同。目前主流觀點認為,離散表征在生成任務里更穩定。以 TTS 為例,它本質上是“一對多”的生成:同一句文本可以對應多種自然發音。如果輸出是連續向量,取值范圍太大,訓練容易發散。所以大多數 TTS 仍采用離散 Token,后面再掛一個 diffusion 模型來補回聲學細節。連續表征的問題除了不穩定,還有過度平滑,導致風格、情緒等維度不容易拉開差距。
3 如何構建端到端語音模型——架構
既然我們已經能把語音表征出來,下一步就是把它們塞進大語言模型,搭一個真正的端到端架構。這里仍然要區分理解側和生成側。
理解側相對直接:可以喂連續向量,也可以喂離散 Token;離散 Token 可以用單碼本,也可以像 EnCodec 那樣用多級殘差碼本,把更多聲學細節保下來。
生成側就復雜得多。如果讓大模型只輸出語音 Token、不碰文本,訓練容易發散,語義也容易出現長程斷裂。因此多數做法都會讓模型先給出文本或更高層級的引導信息。最樸素的想法是先完整生成文本,再用文本去指導音頻生成——類似 CoT,但延遲高,且文本一長就可能和音頻對不齊。于是業界主要走兩條路:Multi-head 和 Interleaved。
Interleaved 是在 Token 層面做交錯:每生成一個文字 Token,就立刻跟上一段對應的音頻 Token,再下一個字、再一段音,像拉鏈一樣咬合。Multi-head 則是給大模型加多個輸出頭,每個頭負責不同粒度的信息。Delay pattern 也可以看成 Multi-head 的一種變體,這里不再展開。
![]()
還有一個關鍵問題:我們最終聽到的是聲音,不是 Token。因此模型輸出的 Token 必須再轉成波形。常見做法有兩種:
后接 diffusion 模塊,先把 Token 變成梅爾譜或其他時頻特征,再用 Vocoder 轉成波形;
直接用純卷積網絡一步到位。選哪種取決于建模粒度。如果只有語義 Token,聲學細節不足,就需要 diffusion 來補;如果 Token 本身已含足夠聲學信息,也可以省掉 diffusion。
![]()
下面看幾個有代表性的端到端語音模型。Moshi 是法國一家公司做的方案,GPT-4o 之后最早發布的可體驗模型。當時 GPT-4o 沒開源,Moshi 成了唯一可調試的標桿。以今天的眼光來看,它可能存在的問題是結構太“拼盤”:底層是一個自回歸大模型,上面又疊了獨立的 Temporal Transformer,再迭代生成語義和聲學 Token,最后解碼。這種異構設計導致很難 scale,模型也偏小,想再往上提效果比較吃力。
![]()
最近千問語音也在持續開源,做得確實不錯。他們的方案是一個兩級架構,設計得挺巧妙,叫 Thinker-Talker。Thinker 負責理解:接收語音輸入,產出文本或文本的 hidden state;再把 hidden state 丟給 Talker 去生成音頻。雖然不夠端到端,卻更可控,把理解與生成做了隔離,中間又共享了 condition。他們還用了 DeepSeek-R1 里的 MTP 模塊來輔助多碼本生成,音質因此更好。
![]()
回到我們自己的做法。我一直強調階躍的模型更端到端,這也是我們堅持的方向:只用一個大語言模型完成“語音進、語音出”。具體設計如下。前面說過,理解側連續表征效果更好,我們就用連續向量;生成側離散 Token 更穩定,我們就用離散 Token。這樣雖然有一點點異構,但各自發揮了優勢。理解側的 token 率設得低一些,因為信息更抽象、貼近文本,我們定在 12.5 Hz,輸入 token 總量更少。輸出側為了保留風格、韻律和合成質量,token 率更高。怎么跟文本融合?前面提過,純語音 Token 長程建模容易出問題,需要文本引導,我們就用剛才說的交錯范式,讓音頻和文本 token 交替出現,既對齊又穩定,音質也能保住。
![]()
4 如何構建端到端語音模型——訓推
訓練這塊我們做的是基礎模型,數據量很大,token 數超過 1 T,分多個階段訓練。預訓練階段會把語義對齊、續寫、ASR、TTS 等各種任務都跑一遍。第四階段用了一種比較新的范式叫 Midtrain,用少量高質量領域數據把模型能力往特定方向遷移,效果挺明顯。為了不讓語音任務沖掉模型原有的“智商”,我們按語音數據量 1:1 配了純文本數據。
![]()
后訓練分 SFT 和 RL 兩塊。SFT 用真人對話 pattern 把理解、識別、生成任務都包進來。我們搭了一套播客級對話數據管線,能批量產出真人級別的對話語料。
RL 這塊我們算是比較早把完整 RL 流程放進端到端語音模型的。先冷啟動,借鑒了 DeepSeek-R1 的思路,再做 RLHF 和 RLVR。RLHF 調偏好,RLVR 用預定義 reward 函數繼續提智商。RLHF 用 PPO,RLVR 用 GRPO。最終模型情緒、副語言、音頻理解都不錯,智商也高,語音和文本能力合在一起。舉個例子,在心理咨詢或情感安撫場景里,它能做比較深的情感推理。
![]()
推理時我們主要做兩件事。一是交錯 Token 處理:文本 Token 只起引導作用,最后合成音頻時會被丟掉,只用語音 Token 進 Audio decoder。二是多輪上下文:傳統大模型只把文本當上下文,我們把音頻也塞進去,信息更完整。
5 如何構建端到端語音模型——任務
第四塊看看端到端語音模型到底能干哪些活。其實跟傳統語音技術差不多,核心還是理解與生成兩大類。
先說理解。語音識別當然是必測項。我們把 Step-Audio2 跟豆包、GPT-4o、千問等模型做了全面對比,中英文、多語種、方言場景,整體都是最好的。
![]()
音頻與副語言理解這塊比較有趣,很多語音模型不太提,因為確實不好做,但我們專門加強了。舉個例子:一個女生帶著哭腔說“我很痛苦了……”,背景還有音樂。傳統做法得先上 VAD,再跑性別識別、年齡識別、語音識別、情感識別、音樂理解……一堆模塊拼完才能出結果。現在用我們的大模型方案,直接一句自然語言描述就能把所有信息一次性拉出來。
![]()
再看生成。最直觀的就是以前 TTS 的前端模塊:文本先轉拼音,專有名詞得替換成模型能念的字,多音字還得加提示。現在靠模型自己的推理能力就能搞定。實際推理時,模型會先“想”:用戶給的拼音是什么、上下文怎么理解、表達時要注意什么,想完再輸出音頻,省掉所有前置轉換模塊。
可控生成也很重要。純文本輸入時,我們往往想加點停頓、笑聲、嘆氣之類。只要把 SSML 標簽直接寫進文本,模型就能按標簽念出自然的副語言表現。
![]()
最后是音頻編輯。大家對圖像編輯比較熟,音頻編輯做得少,我們算是國內較早落地的。輸入一段音頻,可以改情緒、改風格、增刪改臺詞,還能降噪。比如原音頻文本是撒嬌語氣,但聽起來不夠嬌,讓模型編輯成撒嬌風格,風格就轉換過去了。
接下來講工具調用,也就是最近很熱的 voice agent 概念。核心是怎么規劃、怎么推理任務,并在執行過程中調用更多工具。Step-Audio2 應該是第一個把語音 tool call 融進端到端語音模型的。我們自己測過,在很多場景下跟文本模型比沒有明顯劣化,有些場景甚至更好。語音 tool call 和文本的最大區別,是它能支持“音頻級”工具調用。比如 Audio Search:用戶說“我想要某某音色”,模型通過 tool call 把對應的波形 prompt 插進上下文,后續對話就會換成這個音色。因為是大模型范式,回復風格也會跟著變,相當于用一句話完成角色扮演。
![]()
語音經常用在實時場景,全雙工因此很關鍵。全雙工指的是:我可以打斷你,你也可以打斷我;我說到一半停頓時,你知道我在思考,不會搶話。這跟文本的回合制不同,真實交互要復雜得多。具體技術范式有好幾種,這里不展開。
我想重點說的是我們正在做的“全雙工推理”。大模型在全雙工場景下需要實時問答,可一旦做推理,思考時間就變長,延遲上去。我們目前走兩條路:一是“邊聽邊想”,對方說話時我就開始思考,這叫 conversational thinking,跟人面對面交流一樣;二是“邊說邊想”,我開口的同時繼續推理,叫 Mind-Paced Speaking。用這兩種方式,模型幾乎零延遲就能輸出帶推理的結果。
![]()
6 模型評估:什么是好模型
最后簡單說說“什么叫好模型”以及怎么評估。跟以前一樣,得全方位測評:所有單點能力都要測。對話能力則比文本模型多不少維度——全雙工、情感與共情、生成音頻的韻律、自然度、風格一致性等,文本模型都不用管。多輪對話里,還要保證情感、說話風格、韻律前后一致,這對語音模型特別重要。我們做了個叫 Multi-Bench 的評測,已投 ICASSP,尚未在 arXiv 公開。它填補了之前 benchmark 在多輪一致性上的空白,算是評估方面的新東西。
![]()
演講嘉賓介紹
楊學銳,歷任階躍星辰語音模型負責人,大疆創新音頻負責人,云從科技語音算法負責人。在相關領域深耕多年,發表論文、專利、書籍若干。
會議推薦
QCon 全球軟件開發大會·2026 北京站將于 4 月 16 日 -18 日正式舉辦。本屆大會以“Agentic AI 時代的軟件工程重塑”為主題,聚焦 100+ 重磅議題,匯聚來自阿里、騰訊、字節跳動、小米、百度等一線科技企業與創新團隊的技術專家,圍繞 AI 工程化、系統架構與研發模式演進展開深入探討。更多詳情可掃碼或聯系票務經理 18514549229 進行咨詢。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.