Zyphra ZONOS2:開源 TTS MoE 將高保真語音克隆帶進站內工具流程
Zyphra 以 Apache-2.0 發布 ZONOS2。它採用 8B 總參數、約 900M 啟用參數的 MoE TTS 架構,訓練資料超過 600 萬小時;TelkNet 已將 ZONOS2 Voice Cloning TTS 接入本站工具體驗。

技術解析 / Zyphra ZONOS2
零樣本語音複製(Zero-shot Voice Cloning)與串流文字轉語音(TTS),早已不只是「像不像某個人」的單點問題。真正決定模型能否進入生產工具鏈的,是音色還原、自然度、語言涵蓋、低延遲、授權界線與工程可執行性之間的平衡。ZONOS2 的價值正位於這個交會點:Zyphra 將它描述為一款著重高擬真、自然語音複製的開源 MoE TTS 模型,並公開模型權重、推論程式碼與多語言支援分級。
官方模型卡提供的關鍵資訊相當清楚:ZONOS2 使用超過 600 萬小時的多語言語音訓練資料;推論時,以經 nemo TN 正規化的 UTF-8 bytes 作為文字前端,結合 ECAPA-TDNN 說話者嵌入,透過 MoE backbone 生成 DAC 音訊 tokens;預設輸出鏈路為 44.1 kHz、單聲道、float32 PCM,並可轉換成 WAV。傳統 TTS 常見「文字轉梅爾頻譜,再接聲碼器」的方式,ZONOS2 則改採語言模型式 token 預測、離散音訊 codec 與稀疏專家網路。
ZONOS2 的技術脈絡可以拆成四個層面:MoE 路由如何兼顧模型容量與推論效率,UTF-8 bytes 前端為何對中文、日文及 code-switching 有意義,DAC codebooks 如何把語音波形改寫成可預測的離散序列,以及 ECAPA-TDNN embedding 為何會直接影響 voice cloning 的「像、穩、自然」。
1. 從 Zonos-v0.1 到 ZONOS2:資料、架構與條件訊號同步換代
ZONOS2 並非只是放大 Zonos-v0.1 的參數。上一代約有 1.6B 參數,使用約 200,000 小時的語音資料訓練,文字前端依賴音素化與語言標籤,說話者條件則來自頻寬較窄的嵌入模型。它已經能進行零樣本語音複製,卻也暴露開放式 TTS 常見的三組矛盾:模型容量增加會拖慢即時生成;即使音素字典持續擴充,仍難涵蓋混合語言與低資源語言;參考音訊中稍微複雜的音色與空間細節,也容易在說話者向量中遭到壓縮。
Zyphra 在 ZONOS2 中同時推進了這三條界線。訓練集從約 200,000 小時擴增到超過 600 萬小時,規模約成長 30 倍;模型總參數從 1.6B 提升至 8B,稀疏 MoE 每次只啟用約 900M 參數;官方發布頁宣稱,即時吞吐量較前代提高 4 倍。擴大的總容量用來容納更多語言、口音、韻律與錄音條件,稀疏路由則控制每一步實際執行的運算量。
說話者條件也換成新的表示方式。官方描述新的 ECAPA-TDNN embedding 擁有前代 20× 的頻寬,目標是保留更多共振峰、氣聲、口腔細節、錄音空間與說話習慣。此處的「頻寬」指嵌入承載說話者資訊的能力,不是輸出 WAV 的取樣率。這也解釋了 ZONOS2 為何在發布資料中反覆討論「忠實複製」與「乾淨播報」之間的衝突:參考片段中的雜訊、混響或特殊發聲,既可能是該保留的身分線索,也可能是使用者希望模型修正的瑕疵。
文字前端從明確的 phonemizer 與語言標籤,改為正規化後的 UTF-8 bytes。中文、日文、韓文、數字、符號,以及一句話中的 code-switching,都不必先塞進固定的音素字典;模型可直接從大規模多語言訓練中,學習 byte 序列與發音的對應關係。這項改變不會自動消除多音字或斷句錯誤,卻能減少語言標籤填錯、音素字典缺漏,以及跨語言切換時前端不相容的機會。
600 萬小時資料也不是一次全部等權重餵給模型。官方資料描述三階段訓練:預訓練階段以全部資料跑 8 個 epoch,暫不加入說話者複製條件,只進行最低限度的轉寫過濾;mid-training 逐步提高轉寫一致性與子資料集品質,以降低幻覺、誤讀及重複;最後的 annealing 階段才加入 speaker embedding、語速及音質條件,並採用更嚴格的過濾。規模負責涵蓋範圍,後兩個階段則把廣泛涵蓋收斂成可控制的發音與複製行為。
2. 核心架構:稀疏 MoE 如何支援即時 TTS
Dense TTS 模型的概念很直接:參數越多,容納語氣、情緒、口音、音色及環境細節的能力越大;但參數越多,每次推論所需的運算也越重。MoE(Mixture of Experts)的取捨不同。它讓模型擁有更大的總容量,同時在單次前向傳播中只啟用部分專家層,將「模型知道很多」和「每次不必全部運算」拆開。這一點對 TTS 尤其重要,因為語音合成不是離線寫作工作,使用者會直接感受到首包延遲、串流連續性及長文字穩定性。
官方資料並未逐層列出 ZONOS2 的所有參數,但模型卡明確指出推論採用 MoE backbone。配合官方推論示意,整條鏈路可以理解為:文字先經過正規化與 byte tokenization,參考音訊產生 speaker embedding,兩者接著送進 MoE 主幹網路,輸出 DAC 離散音訊 tokens,再由 codec 還原成 44.1 kHz 音訊。這種設計使 ZONOS2 更像一個「音訊語言模型」,而非傳統意義上的端對端聲碼器腳本。
2.1 路由分流的數學概念
在 MoE 區塊中,傳統 feed-forward 層可替換成一組並行專家。路由器依據目前的隱藏狀態 x,判斷哪些專家較適合處理這段文字與聲學情境。一種常見的路由抽象可寫成:
這個公式用來說明 MoE 的數學概念,並非 ZONOS2 原始碼的逐行等式。W_i 與 W_g 是可學習的路由參數,SiLU 提供非線性選擇能力,TopK 則把運算限制在少量專家上。對語音而言,某些專家可能更擅長長母音、情緒起伏、跨語言片段或特定音色紋理;稀疏路由可避免每個 token 都動用全部容量。
3. 文字前端:從依賴音素轉向 UTF-8 bytes
TTS 前端經常受到低估。許多傳統系統會先把文字轉換成音素(phonemes),再將音素交給聲學模型。這條路線在英文中相當成熟,但面對中文、日文、混合語言及複雜符號時,分詞、斷句、多音字、數字讀法與標點語氣都會成為工程負擔。ZONOS2 官方模型卡指出,它在推論時使用 nemo TN normalized UTF-8 bytes:先進行文字正規化,再把輸入當成 UTF-8 byte 序列送進模型。
這不等於「徹底消除多音字錯誤」,也不代表所有語言的表現都相同。更精確的理解是:模型降低對外部 phonemizer 的高度依賴,讓更多發音與語氣規則在大規模多語言訓練中,由模型內部學習。官方語言分級也說明了界線:Tier 1 為 English、Mandarin Chinese、Japanese;Tier 2 涵蓋 Korean、Russian、Italian、Portuguese、French、Spanish、Vietnamese、German、Hebrew、Dutch;Tier 3 則延伸至 Swedish、Hindi、Tamil、Telugu、Thai、Norwegian、Bengali、Tagalog、Arabic、Danish、Indonesian、Polish、Ukrainian、Romanian、Finnish、Hungarian、Lithuanian、Estonian、Slovak、Croatian、Latvian。
這項分級很重要,因為它提醒使用者:支援清單不是品質一致的承諾。中文、英文、日文列在 Tier 1,代表官方對這三類語言的定位較優先;其他語言仍可生成,但口音、韻律、停頓、長文字穩定性與參考音訊品質,會更明顯地影響結果。
4. 離散聲學表示:DAC tokens 與 44.1 kHz 輸出
ZONOS2 的另一個重點是 DAC。傳統 TTS 常見做法是生成梅爾頻譜,再交給 HiFi-GAN 等 vocoder 推算波形;ZONOS2 官方模型卡則明確指出模型會生成 DAC tokens。可以把 DAC 理解成一種高擬真的神經音訊 codec:真實音訊被壓縮成多層離散 codebooks,模型預測這些 codebook 上的 token 序列,再由 codec 解碼回波形。
若將整段語音的離散 codebook 記為 C,文字條件記為 X_text,說話者與參考音訊條件記為 X_cond,多 codebook 音訊語言模型的條件機率可抽象為:
其中 t 代表時間步,q 代表第幾個量化 codebook,c_t,q 是對應位置的離散聲學代碼點。目前影格的發音細節與前文韻律都會進入條件機率;模型在多個 codebook 層級上預測離散語音結構,而非只預測一張低維頻譜。
輸出取樣率也不該模糊寫成「44kHz」。官方 README 的介面範例與回應說明寫的是 44100Hz,也就是 44.1 kHz。這項取樣率為氣聲、齒音、口腔細節、房間殘響及高頻空氣感保留更完整的表現空間,但最終聽感仍取決於參考音訊品質、文字長度、採樣參數,以及模型在對應語言上的訓練涵蓋程度。
5. 語音複製:ECAPA-TDNN 負責掌握「是誰在說話」
Voice cloning 必須保留參考說話者的身分、共振峰、發聲習慣、語速、咬字與錄音空間感,單純把音訊處理得乾淨並不足夠。ZONOS2 官方模型卡明確指出,推論時使用 ECAPA-TDNN embedding。ECAPA-TDNN 是說話者辨識領域常見的嵌入模型路線,擅長把一段參考音訊壓縮成說話者向量,讓 TTS 主幹在生成時取得明確的 voice condition。
更穩妥的數學寫法,是將參考音訊 y_ref 映射成說話者條件向量:
「20× 頻寬」應放回說話者嵌入鏈路理解。參考音訊越接近單人近距離收音、混響和背景音樂越少,模型越容易穩定複製;若片段帶有房間混響、麥克風失真或環境雜訊,模型也可能把這些特徵一併帶入輸出。角色聲音、Podcast 旁白與歷史錄音重現有時會善用這種保留能力,若要乾淨播報則應主動避開。
6. 基準與官方評測:語音品質不能只看單一指標
Zyphra 在模型卡與發布資料中強調,ZONOS2 以超過 600 萬小時的多語言語音訓練,並聲稱其在 expressiveness、quality、low latency 與 voice cloning 方面,達到或超越主流 TTS providers 的水準。這些比較受測試資料與設定限制,不能代表所有使用情境。TTS 評估很容易受單一指標誤導:WER 較低不一定代表複製得更像,音訊較乾淨也不一定更真實,情緒較強烈也未必適合嚴肅播報。
| 面向 | 官方可確認的事實 | 技術意義 |
|---|---|---|
| 訓練資料 | 超過 600 萬小時多語言語音 | 資料規模龐大,但不同語言、口音與錄音條件仍會影響輸出穩定性。 |
| 模型路線 | MoE backbone | 稀疏專家網路用來平衡容量與推論效率;ZONOS2 的官方定義是 MoE backbone。 |
| 文字前端 | nemo TN normalized UTF-8 bytes | 降低對外部音素器的依賴,尤其適合多語言與混合文字,但不保證解決所有發音問題。 |
| 說話者條件 | ECAPA-TDNN embedding | 負責從參考音訊擷取說話者特徵;參考音訊品質會直接影響複製效果。 |
| 音訊輸出 | DAC tokens,介面範例為 44100Hz float32 PCM mono | 可輸出高取樣率語音,再轉換為 WAV;最終聽感取決於參數、文字與參考音訊。 |
| 授權 | 模型卡為 Apache-2.0,GitHub runtime 為 MIT,第三方元件另附 NOTICE | 權重與程式碼授權必須分開說明,不能簡化成「所有內容一律採 Apache-2.0」。 |
7. 與常見 TTS 路線的差異
ZONOS2 較適合放在三類路線中比較:封閉原始碼商用 TTS API、傳統開源 TTS,以及自迴歸/非自迴歸混合的音訊 token 模型。封閉 API 往往產品體驗成熟、延遲低、聲音商品化程度高,但權重與資料路徑無法控制;傳統開源 TTS 的可控性高,但語音自然度、多語言穩定性與工程體驗通常需要大量調校;ZONOS2 則將開放權重、高擬真 voice cloning、MoE 稀疏推論及 DAC 音訊 tokens 組合在一起。
| 路線 | 優勢 | 典型界線 | ZONOS2 的位置 |
|---|---|---|---|
| 封閉原始碼商用 TTS API | 產品體驗成熟,語音庫與延遲最佳化通常很強。 | 權重無法控制,成本、地區、隱私及授權界線取決於供應商。 | ZONOS2 提供開放權重路線,但實際體驗仍須配合硬體與任務佇列評估。 |
| 傳統開源 TTS | 可自行部署、可微調,研究透明度較高。 | 語音品質、跨語言穩定性、前端處理與部署體驗差異很大。 | ZONOS2 結合大規模多語言資料、speaker embedding 與 codec token 模型。 |
| 音訊 token 大型模型 | 可將語音視為序列建模任務,適合處理語氣、節奏與長距離上下文。 | 推論效率、重複、長文字穩定性與採樣策略都需要工程處理。 | ZONOS2 透過 MoE backbone 與 DAC tokens,提供一條更稀疏的 TTS 生成路線。 |
8. 授權與使用說明
語音複製的界線必須清楚說明。ZONOS2 的技術重點是 high-fidelity 與 naturalistic voice cloning,但這不表示可以複製任何人的聲音。參考音訊應來自使用者有權使用的說話者,不得用於冒充真人、規避授權、偽造身分、詐騙、誤導大眾,或生成未標示的仿冒內容。
優先選擇單人、近距離收音、少混響、少背景音樂的語音片段。帶有雜訊的參考音訊,可能將雜訊與空間感一併帶入輸出。
English、Mandarin Chinese、Japanese 是官方 Tier 1;其他語言的支援程度仍須依實際聽感判斷,不應採用完全相同的品質預期。
長文字更考驗停頓、韻律與重複控制。實際使用時,應透過分段、標點及參數控制節奏。
只複製已獲授權的聲音,並在需要揭露的情境中標示 AI 生成語音,避免將生成結果包裝成真人原音。
結語:將稀疏 MoE 放回完整語音鏈路
ZONOS2 將開放權重、MoE 稀疏推論、UTF-8 bytes 文字前端、ECAPA-TDNN 說話者條件、DAC 離散音訊 tokens 與 44.1 kHz 輸出串在同一套系統中。8B 總容量負責表達範圍,約 900M 啟用參數控制每一步運算,形成明確針對即時工具的取捨。
創作者與開發者取得的是一套能檢視、整合及比較的開源語音複製系統。評估時應沿完整鏈路逐項檢查:文字如何進入模型、參考音訊如何編碼、專家網路如何選擇運算路徑、離散音訊 token 如何還原成聲音,以及生成語音應如何合規使用。