你可能沒意識到,過去兩年生成式AI音頻領域悄悄分裂成了兩個陣營。
一邊是文本轉語音,專注把字念得像真人;另一邊是文本轉音樂、文本轉音效,忙著從一句描述里造出環境音或者一段旋律。這兩撥人幾乎是各干各的,用不同的模型架構,不同的訓練數據,甚至不同的評價標準。你要是想做一個既能生成對話又能配上背景音樂和音效的完整場景,得把好幾個模型拼在一起用,接口對不上,風格也不統一。
StepFun-Audio團隊這次做的事情有點不一樣。他們發布的StepAudio 3 Gen想用同一套框架把語音合成、聲音設計、唱歌、音效、音樂,全部塞進一個模型里。更值得琢磨的是,它沒有走當下最流行的路子。
為什麼大家都在用擴散模型,他們卻反著來
先說說現在的主流做法。
近幾年做通用音頻生成,業內更青睞一種叫擴散Transformer的技術路線,簡單說就是讓模型在連續的數據空間裡,通過不斷去除噪聲的方式,逐步"雕刻"出一段音頻。這條路徑的好處是可以並行渲染聲音的細節,速度和質量都不錯。
但StepAudio 3 Gen選擇了另一條路:離散自回歸建模
。
自回歸模型*:一種按順序逐個預測下一個元素的模型,就像你寫句子時一個字一個字往後接,每個字的選擇都依賴前面已經寫出的內容。ChatGPT這類語言模型用的就是這套機制。
這意味著StepAudio 3 Gen不是在連續空間裡"雕刻"聲音,而是把聲音先轉換成一串串離散的編號(有點像給每一幀聲音貼上一個數字標籤),然後像語言模型生成文字一樣,一個編號接一個編號地往後蹦。
為什麼要這麼幹?因為團隊的野心不止是生成聲音好聽,他們想讓聲音理解、聲音生成和文本智能共處一個模型里。語言模型天生擅長處理離散的、有因果順序的、可以交錯混合的序列——文字是這樣,如果聲音也變成同樣格式的離散序列,兩者就能在同一套詞表里自由穿插,不需要額外的橋樑模組。
這就像兩種做菜方式。擴散模型像是把食材直接倒進攪拌機高速攪拌出成品,一步到位但配方是黑箱;自回歸模型像是切菜、炒料、調味一步步來,每一步都依賴前一步的結果,速度可能慢一點,但每一步都能追溯,而且廚房裡的其他菜(比如文本任務)可以用同一套刀具和火候來處理。如果非要用擴散模型統一所有任務,你得給文字也搞一套擴散生成機制,這和現有的語言模型體系完全不兼容,等於推倒重來。
聲音怎麼變成一串數字:StepAudio Tokenizer
要把聲音變成離散編號,首先得有一套"翻譯規則",這就是StepAudio Tokenizer的工作。
它以每秒12.5次的頻率對音頻採樣,每一幀用16個編號(專業說法是16個"codebook",每個codebook里有2048種可能的取值)來描述。
殘差向量量化
(RVQ)*:一種把連續信號壓縮成多層離散編號的技術。第一層編號抓住信號的大致輪廓,後面每一層都在補充前一層沒表達清楚的細節,層層疊加逼近原始信號,類似先畫草圖再一層層上色加細節。
這裡有個設計上的巧思。團隊沒有把語義資訊(這段聲音"說的是什麼"、"是什麼音色")和聲學細節(具體的波形、音質)分開用兩套系統處理,而是讓一個凍結的自監督學習
編碼器提供語義特徵,一個用SnakeBeta激活函數的卷積編碼器直接從原始波形里提取聲學特徵,兩路資訊在通道維度上融合,再統一交給一個共享的量化器處理。
自監督學習(SSL)*:一種不需要人工標註、模型自己從數據里挖掘規律的訓練方式,這裡用來提取聲音里和內容、語義相關的特徵。
這樣做的結果是,16層編號里的每一層都同時攜帶語義和聲學兩種資訊,而不是讓某幾層專門管"說的什麼",另幾層專門管"聽起來怎麼樣"。團隊還用了一種叫"量化器dropout
"的訓練技巧,訓練時以50%的概率隨機丟棄後面的編碼層,這會逼著前面幾層(尤其是第一層)承擔更多語義資訊,後面的層就負責補充細節。
如果不這樣設計,會發生什麼?如果語義和聲學徹底分離成兩套獨立系統,模型在生成聲音時就得分別決定"說什麼內容"和"聽起來什麼樣",兩邊配合不好容易出現內容對但音色跑偏,或者音色對但咬字模糊的情況。就像讓兩個互不通氣的團隊分別負責劇本和配音,很難保證最後嚴絲合縫。
解碼這一端也有講究。為了支持實時流式生成(比如語音助手要邊生成邊播放,不能等整句話生成完才出聲),解碼器被設計成完全因果的結構,用25幀的滑動窗口注意力,配合逆短時傅里葉變換直接輸出24kHz的波形,不需要看未來的資訊就能一幀一幀往外吐聲音。
LLM怎麼"聽懂"並"說出"聲音:RVQ Adaptor
聲音變成了數字編號,接下來的問題是怎麼塞進一個原本只認識文字的語言模型里。
最直接的想法是,把每個codebook當成一個新的詞彙,加進語言模型的詞表。但這裡有個隱藏的坑:16個codebook,每個2048種取值,如果全部堆進詞表,新增詞彙的向量表示是隨機初始化的,統計特性和原本訓練好的文字詞向量完全不搭。
打個比方,這就像一個已經精通了十年中文寫作的作家,突然被要求同時學會用摩斯電碼寫作,而且摩斯電碼的符號還是隨手編的,沒有任何歷史積累的規律可循。如果直接把這套新符號硬塞進他原本流暢的寫作系統,他大概率會先手忙腳亂一陣,甚至因為要適應新符號而把原本流利的中文表達能力搞亂。
團隊的解法是只把第一個codebook(資訊最集中的那一層)真正併入語言模型的主詞表,由語言模型沿著時間軸自回歸地預測它。剩下的15層交給一個獨立的、輕量級的因果Transformer模組,這個模組沿著"深度軸"(也就是同一幀里從第2層到第16層)接力預測。
這就是論文裡說的"時間-深度"架構:主幹語言模型負責想清楚"接下來該說什麼、語義和長程規劃怎麼走",一個小模組專門負責把細節聲學資訊填滿。
RVQ Adaptor*:一個零初始化的、按token處理的殘差適配模組,用來把16層編號求和之後的聲音向量,轉換成語言模型能理解的輸入空間,再疊加到對應的文字詞嵌入上。
這個適配器有個關鍵細節:它的"下投影"權重被初始化為零,也就是說,在訓練剛開始的時候,這個模組相當於什麼都沒做,輸出恆為零,不會給原本的語言模型輸入添加任何擾動。隨著訓練推進,它才逐漸學會怎麼把聲音資訊恰當地"翻譯"進語言模型能理解的空間。
這個零初始化的設計其實很聰明。想像一下你要往一棟已經裝修好、住滿人的老房子裡新接一根電線,如果一上來就直接通上大電流,很可能把原有的電路系統燒壞。零初始化相當於先把新電線接上但不通電,等確認接線方式沒問題、不會干擾原有電路,再慢慢加大電流。如果一開始就用隨機初始化的強信號硬灌進去,語言模型原本積累的語言能力很可能在磨合期就被破壞掉,這種破壞往往是不可逆的。
四階段訓練:怎麼讓模型學會新技能又不忘老本事
說到這裡,還有一個更深層的矛盾沒解決:即便輸入端做了緩衝,訓練過程中聲學預測任務帶來的梯度信號依然很強,15層殘差編碼的損失加起來,數值上可能遠大於普通的文字預測損失。如果放任不管,這股強梯度會在模型還沒學會怎麼好好利用之前,就把語言模型原本的知識結構沖亂。
團隊管這個問題叫"干擾",並且設計了一套四階段的漸進式訓練方案來專門應對它。
第一階段叫"模態對齊",語言模型的主幹網路整個凍結,只訓練輸入端的聲音嵌入和剛才說的RVQ Adaptor,用的是語音識別和語音翻譯這類只監督文字輸出的任務。因為主幹凍結、適配器又是零初始化的恆等映射,這一階段理論上對文字能力的影響是零。
第二階段叫"音頻理解",這時候整個模型解凍,用語音理解類任務和文字語料一比一混合訓練,但依然不監督任何聲音生成的目標,只是讓模型學會"聽懂"。
第三階段是主力訓練階段,真正引入聲音生成任務,這時候一個巧妙的開關登場了:負責預測15層殘差編碼的那個小Transformer,它接收的語言模型隱藏狀態被人為"斷開梯度",聲學預測的損失只用來訓練這個小模組本身,不會反向傳播影響到語言模型主幹。
為什麼要斷開?因為這個小模組是隨機初始化的,一開始預測得很差,如果它的強梯度直接懟向剛剛積累了兩階段知識的主幹網路,很可能把主幹重新攪亂。這就像一個剛入職的新員工提的意見,哪怕出發點是好的,如果沒有經過篩選就直接影響到公司的核心決策流程,風險太大,得先讓他自己練熟業務,證明可靠了再放權。
第四階段叫"長上下文聯合冷卻",這時候才把梯度斷開
的開關關掉,讓聲學預測的信號真正開始影響主幹,同時用很低的學習率、拉長訓練序列長度(從16384擴展到32768,按12.5Hz的頻率算相當於覆蓋44分鐘的音頻)。之所以放到最後,是因為這時候小模組已經訓練得比較成熟了,加上學習率很低,即便梯度傳回主幹,衝擊也是可控的。
從第二階段開始,團隊還堅持讓文字語料占據每次訓練更新的一半份額,相當於每學一點新東西,就複習一遍老知識,防止遺忘。
這套設計到底有沒有用?團隊做了對照實驗。一個不用這套漸進策略、只用三階段簡化流程的基線模型,和完整的四階段模型,在FinEval、C-Eval、MMLU等一系列純文本能力測試上對比。結果顯示,四階段模型在幾乎所有指標上都明顯更好,比如MMLU準確率從64.99%提升到69.20%,數學題測試MATH從36.62%提升到45.07%,提升幅度都在4到8個百分點之間。這說明干擾確實存在,而且這套漸進策略確實有效地保住了語言模型原本的文字智能。
效果到底怎麼樣
光有巧妙的架構設計不夠,還得看實際生成效果站不站得住腳。
在語音合成(TTS)這個最核心的任務上,團隊特別強調了一件事:他們沒有過度依賴字錯率(CER)、說話人相似度(SS)這些常見的客觀指標,原因是這些指標測不出"聽起來像不像真人在自然說話"這種更主觀、更模糊但也更重要的體驗。一個語調完全平淡的機器人念白,只要內容念對了,字錯率照樣能很低。
於是團隊搞了一場"人類相似度競技場",找真人評委,拿StepAudio 3 Gen和五個主流商業TTS系統(包括通義千問的TTS、豆包、MiniMax的Speech 2.8等)兩兩PK,總共做了1500場對比,用Elo積分系統排名。
結果StepAudio 3 Gen拿到1755.33分,排名第一,領先第二名211.1分。在和五個對手各100場的頭對頭比拼里,整體勝率82.0%,對每一個對手的勝率都在73%到90%之間,沒有一場輸掉整體優勢。
聲音設計(Voice Design)這個任務,是讓用戶用自然語言描述想要的音色、風格,模型據此生成對應聲音。團隊在一個叫InstructTTSEval的公開基準上測試,涵蓋聲學參數指定、風格化描述、角色扮演三種指令類型,中英文各1000條文本,總共生成6000段音頻,由Gemini 3.1 Pro來判斷生成的聲音是否符合指令。
| 系統 | 中文平均分 | 英文平均分 |
|---|---|---|
| Qwen3-TTS-VoiceDesign | 74.0 | 73.5 |
| MOSS-VoiceGenerator | 65.1 | 64.9 |
| Ming-omni-tts-0.5B | 71.0 | 65.1 |
| **StepAudio 3 Gen** | **85.2** | **77.7** |
同時團隊也做了真人盲評,StepAudio 3 Gen拿到1668.5的Elo分,同樣排名第一,對四個對手的整體勝率75.5%。
除了這兩項核心能力,StepAudio 3 Gen還支持從文本或參考語音生成唱歌(可以指定歌詞、調性、唱腔),生成超過60秒且結構連貫的純音樂,單獨或複雜場景下的音效合成(支持指定多個聲音事件的先後順序和疊加關係),以及所謂"氛圍語音",也就是把說話內容、語氣、背景環境音、多人對話都融合在一個連貫場景里生成。
有個小實驗特別能說明RVQ Adaptor是不是真的有用。團隊對比了有和沒有這個適配器的兩個版本,在語音識別、音頻理解推理(MMAU)、中英互譯(CoVoST)、知識問答(SpeechMMLU)四類任務上測試。
| 指標 | 無RVQ Adaptor | 有RVQ Adaptor |
|---|---|---|
| AISHELL-1字錯率 | 5.25% | **3.00%** |
| LibriSpeech詞錯率 | 6.00% | **3.41%** |
| MMAU準確率 | 40.70% | **51.70%** |
| CoVoST英譯中BLEU | 12.05 | **30.56** |
| SpeechMMLU準確率 | 12.13% | **58.76%** |
看SpeechMMLU這一項,差距最誇張,從12.13%直接跳到58.76%,提升了將近五倍。這說明單純把聲音編號塞進詞表還不夠,中間這層"翻譯"確實是決定模型能不能真正理解聲音內容的關鍵一環。
強化學習:讓模型更聽話
有了基礎的生成能力後,團隊還用了一輪強化學習,具體是Group Relative Policy Optimization(GRPO
)這套方法,目標是讓模型更精準地遵循用戶指令。
評分機制設計得挺細緻。對於每一條生成的音頻,先用一個音頻理解模型給它生成一段文字描述(相當於讓模型自己"複述"一遍它生成了什麼),再用另一個文本模型對比這段描述和原始指令,打出0到100的一致性分數,重複打四次取平均減少誤差。如果是有明確文本內容的語音任務,還會用語音識別模型把生成的語音轉回文字,和目標文本比對計算錯誤率,錯誤率超過50%這條數據的最終得分直接歸零。
這個"錯誤率超過閾值就歸零"的設計很關鍵。因為單純看風格匹配度容易出現一種情況:模型生成的聲音"風格"很對味,但內容說錯了,或者說的完全是另一回事。這種輸出如果只按風格評分,可能拿到不錯的分數,但實際上是不可用的。乘法式的獎勵設計確保了內容對不上,不管風格多貼切,總分都會被拉低甚至清零。
寫在後面
讀完這篇論文,最觸動我的其實是那個"零初始化"的細節。
一個看起來微不足道的工程選擇,卻精準踩中了這類跨模態改造任務里最容易翻車的地方:新加入的模組,在還沒學會怎么正確表達之前,不該有發言權。這個思路其實在很多領域都適用,不只是給語言模型接上聲音能力,任何往一個已經訓練成熟的系統里插入新組件的場景,恐怕都得先問一句,這個新組件在沒學會之前,會不會先把老系統搞壞。
另一個讓我意外的地方是,團隊沒有選擇當下更熱門的擴散模型路線,而是堅持用離散自回歸去做。這背後其實是一種更大的賭注:他們賭的不是"哪種方法生成質量更高",而是"哪種方法更適合讓聲音、文字、理解、生成最終統一進同一個大腦里"。擴散模型或許在單點生成質量上有優勢,但很難和語言模型的因果序列、交錯上下文這套體系無縫對接。這篇論文某種程度上是在下注,未來的通用智能體系,可能不是靠不同模態各自最優的模型拼起來的,而是靠一套統一的、離散的、能互相理解的語言體系撐起來的。
這個賭注最後會不會贏,現在還不好說。但至少目前看到的數據,讓這條路顯得不那麼孤注一擲。
Q&A
Q1:StepAudio 3 Gen是什麼?
A:StepAudio 3 Gen是StepFun-Audio團隊推出的通用音頻生成模型,能在同一個框架下完成語音合成、聲音設計、唱歌、音效、音樂生成等多種任務,核心採用離散自回歸建模而非主流的擴散模型路線。
Q2:StepAudio 3 Gen和普通的文本轉語音模型有什麼區別?
A:普通TTS模型通常只專注於語音合成一項任務,而StepAudio 3 Gen把語音、唱歌、音效、音樂都統一到同一套16層殘差向量量化的離散編碼體系里,一個模型能覆蓋多種音頻生成需求,且在人類相似度評測中勝率達到82%。
Q3:StepAudio 3 Gen是怎麼避免破壞原有語言模型能力的?
A:團隊設計了四階段漸進訓練,先凍結主幹只訓練適配器,再逐步引入聲音理解和生成任務,並用零初始化的RVQ Adaptor和梯度斷開機制控制新模組對主幹的衝擊,實驗顯示這套方法讓文本能力測試分數比簡化流程平均高出5到8個百分點。






