語音合成這條賽道,最近越來越像早期的大語言模型:模型一個比一個強大,底層路線卻遠沒有收斂。
- 有人選擇非自回歸的擴散,一次并行生成整段聲音,但是這種方法只適合離線使用;
- 有人沿用大語言模型最熟悉的方式,把語音壓成離散 Token,再逐個自回歸預測,但是語音畢竟不是一個一個的詞,這樣的做法會有一個無法打破的天花板。
小紅書 dots 團隊和上海交通大學 X-LANCE 實驗室這次合作開源的dots.tts,走的是另一條路線:不用離散 token,而是在連續隱空間中進行自回歸生成。
它是一個 20 億參數、全連續、端到端的自回歸 TTS 基礎模型。整條生成鏈路不依賴離散聲學 Token:模型直接在連續隱空間中,以自回歸方式逐個聲學塊建模,再把連續隱變量還原成波形。
- 最穩最像:Seed-TTS-Eval 三個子集上,平均準確度和平均說話人相似度達到 SOTA;
- 可擴展基座:支持音色微調、任務微調,例如 dots.tts.edit 就直接沿用 dots.tts 基座模型,支持文本、情緒、韻律和停頓四類編輯,指令執行率和局部保持率在 doteBench 上整體領先;
- 全量開源:預訓練、自糾正對齊、MeanFlow 四步、兩步和單步,以及 1T1A 雙流共六個檢查點;同時開放訓練、推理、微調、蒸餾代碼,采用 Apache 2.0 許可;
- 交互優先:天然支持流式輸出,配合雙工對話系統還可以使用 1T1A 的雙流模式;
- 推理友好:1T1A 雙流模式音頻首包低至 54.4 毫秒;使用 SGLang Omni 引擎最高支持 16 路并行推理;
先看模型表現
Seed-TTS-Eval 是語音生成領域常見的零樣本聲音克隆評測。模型只拿到一小段訓練時未見過的參考語音,再用同一個人的聲音說出新文本。
它主要測試兩件事:
第一,準確度:即內容有沒有說對。英語用 WER,中文用 CER,數值越低越好。
第二,相似度:即聲音像不像同一個人。SIM 衡量生成音頻和參考音頻在說話人表征上的相似度,數值越高越好。
dots.tts SOAR 版本在中文、英文和中文困難集上的 WER/CER 分別為0.94%、1.30% 和 6.60%,SIM 分別為81.0、77.1 和 79.5。
把三個子集取平均后,它的平均 SIM 為79.2,平均 WER/CER 為2.95%;dots.tts 拿到了最佳平均音色相似度和最佳平均內容準確度。
![]()
圖 1|Seed-TTS-Eval 上的平均 WER 與平均 SIM 分布。橫軸越靠左內容越準,縱軸越靠上音色越像,dots.tts 位于左上角。
![]()
表 1|Seed-TTS-Eval 零樣本克隆核心結果。約 3 秒參考音頻,由評測集自帶的 ASR 與 WavLM-SV 打分;基線取自各自論文或默認配置的開源版本。
在 MiniMax-Speech 的 24 語種測試中,dots.tts 自糾正對齊版本的平均說話人相似度達到83.9,高于表中其他系統;dots.tts 的不同版本在 24 種語言中拿下 19 個語種的單項 SIM 第一,并在另外 2 個語種并列第一。
在偏表現力的 EmergentTTS-Eval 上,以 gpt-4o-mini-tts 為基準做兩兩對比,dots.tts SOAR版本拿到表中最高的句法復雜度得分65.7%,高于所有閉源系統;dots.tts Base 版本則取得開源系統中最好的情緒表現力得分72.7%。
![]()
圖 2|EmergentTTS-Eval 總體勝率對比。紅色為 dots.tts,紫色為閉源系統,藍色為開源系統,虛線為 50% 基準線。
音色克隆,其實是自回歸 TTS 基模最自然的一場考試
我們為什么主要用音色克隆的方式來評價TTS模型呢?其實音色克隆是自回歸TTS基模的一場基礎能力的考試。
自回歸是 dots.tts的第一個核心方向選擇。這也是今天文本大模型的生成方式。文本大模型靠預測下一個 Token 學習語言,TTS 大模型則在目標文本、參考音頻和已經生成的聲學歷史的條件下,預測下一個聲音片段,再把剛生成的片段加入歷史,繼續向后生成。
對語音模型來說,幾秒參考音頻就像一段“聲音提示詞”。里面包含這個人的音色、語速、音高走勢、停連和韻律。模型結合另一段新文本,一步步預測“這個人接下來會怎樣把這句話說出來”,最終得到的,恰好就是這個聲音在新內容上的延續。
這也解釋了 zero-shot 的克隆能力為什么重要。它表面上在考“給幾秒聲音,能不能克隆”,實際上同時檢查了 TTS 基模的幾項基本功:是否理解參考音頻,是否準確說出新文本,是否在逐步生成中保持說話人身份和韻律,以及面對困難文本時是否仍然穩定。
所以,dots.tts 在三個子集上拿到最低平均 WER/CER 和最高平均 SIM,說明它具備了很強的未來預測能力的基礎能力:內容說得準,聲音保持得住,逐步生成也足夠穩定。
連續表示,把音色里容易被量化抹掉的細節留下來
再看 dots.tts 的另一個核心選擇方向:直接在連續隱空間中建模聲音,跳過離散 Token 量化。
聲音天然是連續的。一個人的身份分布在頻譜質感、氣聲與鼻音、音高的細微起伏、音節時長、停頓方式和語速變化等大量細節中。這些特征共同構成了“這個人究竟是怎樣說話的”。
離散表示會把連續變化映射到有限詞表中的編號,訓練和推理可以沿用語言模型成熟的 Token 預測范式。量化也會形成信息瓶頸:不同的聲音細節可能落入同一個編號,編碼時丟失的信息很難由后續模型重新恢復。
重建評測把這種差距直接呈現了出來。四種離散表征的 PESQ-NB 為2.40—2.92,SIM 為0.68—0.85;三種主要連續表征的 PESQ-NB 達到3.99、4.23 和 4.09,SIM 達到0.963、0.950 和 0.969。在 PESQ、STOI、SIM 和重建后的 WER 上,連續表征整體拉開了明顯差距。
其中,SIM 的差別尤其直觀。離散方案的最高值為0.85,dots.tts VAE 達到0.969。這組指標衡量語音經過編碼和解碼后,說話人身份還能保留多少。隱空間上重建的表現就是自回歸模型能夠達到的上限。
這里 MingTok-Audio 使用更密的50 Hz潛變量序列,在 PESQ 和 STOI 上取得最高結果。這也證明了信息量更大的連續表征,可以獲得更強的上限。
dots.tts VAE 面向48 kHz語音,將連續序列壓縮到25 FPS,仍取得4.09/3.95 的 PESQ、0.973 的 STOI、0.969 的 SIM 和 4.14% 的 WER,在聲音信息和自回歸序列長度之間取得了平衡。
![]()
表 2|LibriSpeech test?other 測試集上的語音重建性能。FPS 表示底層表征的時間幀。粗體標記每列中最佳的非先知(non?oracle)結果。“?” 表示該指標由對應文獻給出。
連續表征落在具體的 case 上也能看出建模的上限,dots.tts 可以模仿帶回聲音頻。在參考聲音帶有明顯的空間反射和尾音衰減的情況下,生成音頻中延續了說話人的基礎音色,也能夠保留回聲帶來的距離感和空間感。
連續自回歸的難點:細節越多,誤差越容易積累
自回歸模型會把已經生成的聲音作為后續條件。連續隱變量缺少離散碼本的量化約束,前一步的微小偏差會進入下一步歷史,并在逐塊生成中繼續向后傳播。
句子一長,這些偏差就可能積累成嘯叫聲或導致音色漂移,甚至出現文本錯位。連續表示保留的細節越豐富,模型需要長期維持的聲學狀態也越復雜。
一旦解決這個問題,連續自回歸就能把兩類能力接在一起:自回歸大模型的大規模預訓練、上下文學習和天然流式生成,以及連續表示對音色、韻律和聲學細節的高保真保留。
dots.tts 的答案:先讓連續表示變得適合自回歸
dots.tts 從AudioVAE 的語義化訓練入手。第一階段建立高質量波形重建能力,并通過正則約束塑造更平滑、低噪的連續隱空間。第二階段繼續保留重建目標,同時加入 WavLM 幀級表征對齊,以及 ASR、情緒和說話人識別等多任務監督。
這些監督給連續隱空間增加了更清晰的結構:ASR 對應語音內容,情緒任務對應表達方式,說話人任務對應聲音身份,高保真重建繼續保存局部聲學細節。模型由此獲得一份信息完整、同時更容易組織和預測的連續語音表示。
團隊給 AudioVAE 的語義化連續表征起了一個名字叫 HoliTok ,意思是全面的表征。團隊用 HoliTok 做了驗證:用同一個模型同時訓練 ASR 和 TTS,用 HoliTok 同時服務語音理解和生成。HoliTok 是唯一無需額外優化技巧就能直接穩定完成統一建模的方案;加入因果 Semantic Encoder 后,ASR 和 TTS 的表現進一步提升。這說明,語義化 VAE 直接影響連續表征的可學習性,也決定它能否同時承載理解與生成。
第二階段訓練得到的編碼器隨后直接作為因果Semantic Encoder。每生成一段新的連續語音,它都會提取穩定的語義歷史,供后續自回歸步驟繼續使用。高方差的局部聲學變化留在連續聲學路徑中,長程反饋則沿著更緊湊的語義摘要向后傳遞。
Semantic Encoder 只讀取已經生成的聲音,可以隨著音頻逐段更新。AudioVAE 決定聲音中有多少信息能夠保留下來,Semantic Encoder 負責把這些信息整理成穩定的歷史。兩者共同降低連續誤差在長程生成中的累積,也讓連續表示的高保真上限能夠被自回歸模型持續利用。
![]()
圖 3|dots.tts 整體架構。文本經 BPE 直接進入 LLM,因果 Semantic Encoder 把已生成的 VAE 潛變量壓成語義歷史回灌,AR 流匹配頭在 48 kHz AudioVAE 的連續隱空間中逐塊去噪,全鏈路沒有離散聲學 Token。
從無獎勵的自糾正對齊,到四步、兩步和單步生成
在基礎模型已經達到SOTA水平的情況下,團隊又把目光投向了后訓練和推理加速。力求實現性能指標與工程實用價值的進一步提升。
團隊先參考 SOAR 的思路,對 DiT 模塊進行無獎勵的自糾正對齊。訓練時,模型會沿自己的預測向前走一步,構造真實推理中可能出現的偏離狀態,再學習把這些狀態拉回干凈的語音目標。這個階段不依賴獎勵模型或額外聲學教師,重點修復預訓練與多步推理之間的誤差累積;完成自糾正對齊后的 SOAR 檢查點,也成為后續低步數蒸餾的教師。
連續潛變量的生成需要沿著速度場逐步求解。MeanFlow 將教師在一段時間區間內的生成軌跡蒸餾成平均速度,讓學生一次跨過更大的求解區間;同時把分類器自由引導融入蒸餾目標,減少每個聲學塊所需的網絡前向次數。
MeanFlow 在四步生成下效果穩定,但繼續壓縮到雙步和單步后,生成質量會明顯下降。為此,團隊引入簡化一致性模型(sCM),約束生成軌跡上不同時間點的預測保持一致,得到穩定的雙步模型。當 sCM 已經建立起較強的低步數生成能力后,團隊進一步采用獎勵感知的分布匹配蒸餾(Reward-Aware DMD),在對齊教師生成分布的同時引入語音質量獎勵,并結合雙時間尺度更新策略(TTUR)穩定訓練,最終得到自然、清晰且音色一致的高質量單步模型。本次雙步和單步模型也一并開源可用。
交互友好,推理友好
在交互場景,對 TTS 的延遲非常敏感。想要降低延遲,要么用小模型,要么需要讓語音可以盡早開始輸出。
dots.tts 天然支持流式輸出。完整文本先作為前綴輸入,模型隨后逐步生成音頻塊;
面向LLM實時輸出播報的情況,dots.tts 進一步支持 1T1A 雙流模式。上游語言模型輸出第一個文本 Token 開始,語音側就可以開始生成音頻,最大程度地降低延遲。1T1A 雙流進一步打通文本生成和語音生成,適合實時語音 Agent、雙工交互等場景。
在1T1A的場景下,LLM開始輸出后,最快54.4ms就可以輸出音頻首包。
值得指出的是,SGLang-Omni 團隊已經支持了 dots.tts 的推理,并且優化了模型的吞吐;在SGLang-Omni 提供的測試報告中,使用 Seed-TTS-Eval EN 測試集,單卡最高可以跑16路,具體性能如下:
![]()
這次開源,給出了一套可繼續訓練的完整路徑
這次 dots.tts 的開源完整度,也很值得單獨拿出來說。
倉庫目前開放了六個檢查點,覆蓋基礎訓練、穩定性增強、低步數生成和雙流交互。
開發者可以通過 CLI、Python API 或流式接口進行文本合成和零樣本聲音克隆。倉庫還提供微調入口、訓練配置、數據清單格式和 MeanFlow 蒸餾腳本,覆蓋了從調用到繼續訓練的完整路徑。
對于研究者,這意味著連續自回歸路線可以被直接復現和拆解;對于產品團隊,則意味著可以選擇自己趁手的模型進行使用,也可以可以繼續做領域音色適配、流式服務和延遲優化。
dots.tts.edit:基座之上,向精確編輯擴展
語音編輯是一項同時考驗理解與生成能力的任務:模型不僅要結合源語音、文本和編輯指令,理解“改什么、怎么改、在哪里改”,還要生成符合目標的語音,并盡可能保持未指定區域的內容、說話人特征和聲學連貫性。
利用 dots.tts 連續自回歸架構,將文本條件與連續語音潛表示納入統一的條件生成框架的特點;團隊繼續探索了語音的精確編輯能力,訓練了dots.tts.edit。在其中,源文本、源語音、編輯指令和目標文本共同構成模型的上下文,由同一模型生成編輯后的目標語音。這使語音編輯成為檢驗該架構是否具備統一承載語音理解與生成能力潛質的代表性任務。
它支持四類操作:替換、插入或刪除文字;改變整句或局部片段的情緒;調節指定片段的音高與語速;在文字邊界插入、延長或縮短停頓。多項操作可以組合在同一條指令中,并通過一次生成完成。這樣一來,dots.tts 的能力從“用一個聲音說出新文本”,繼續擴展到“只修改聲音里被指定的部分”。
![]()
為系統評測精確語音編輯能力,團隊構建了雙語評測套件doteBench,從指令遵循、局部保持和整體音頻質量三個維度進行評估。當前凍結版本共包含 2,081 個案例:其中 1,841 個單項編輯案例,覆蓋文本、情緒、韻律和停頓;另有 240 個組合編輯案例,要求模型在一次生成中完成多項編輯。
doteBench 同時檢查三個方面:目標指令是否執行,未編輯區域是否保持,完整音頻是否自然。文本編輯看目標區域和保留區域的 WER/CER;情緒、韻律和停頓分別檢查目標屬性的變化;WDTW-Dur、WDTW-F0 和 SpkSim 則衡量未編輯部分在時長、音高和說話人身份上的保持程度。
在論文評測的開源模型中,dots.tts.edit 在五類任務上取得了整體領先的指令跟隨和局部保持表現:
![]()
表 2|dots.tts.edit 在 doteBench 上的關鍵結果
與此同時,dots.tts.edit 在 Seed-TTS-Eval 上的識別錯誤率和說話人相似度仍與 dots.tts 基座接近,說明同一個連續自回歸生成器可以在保留零樣本合成能力的基礎上,繼續擴展精確編輯能力。
開源“基座”的意義:讓語音能力沿同一套模型繼續生長
dots.tts 這次開源的核心價值,落在“基座”兩個字上。
這個基座首先要有足夠扎實的基本能力,還要能夠適配不同的推理與交互需求。更重要的是,能力可以繼續在這套基座上擴展。
六個檢查點,以及訓練、推理、微調和蒸餾代碼的完整開放,讓這種擴展不只發生在團隊內部。研究者可以繼續驗證連續自回歸路線,開發者可以做領域適配、低延遲部署和新的控制任務,產品團隊也可以把它接入語音 Agent、創作工具和雙工對話系統。
從聲音克隆到實時交互,再到精確編輯,dots.tts 給出的已經是一套可以持續訓練、蒸餾和擴展的開源語音合成基礎設施。這正是語音合成大模型“基座”應有的形態。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.