模型 / 資料集
fishaudio/Bert-VITS2 avatar
fishaudio/Bert-VITS2

Bert-VITS2:以多語言 BERT 為骨架的 VITS2 變體,以及它為何停止維護

vits2 backbone with multilingual-bert

8,800 個 Star1,305 個 ForkPythonAGPL-3.0
GitHub

秒懂

它是什麼?
fishaudio 的 Bert-VITS2 把多語言 BERT 嵌入 VITS2 的對齊與音色建模流程,曾在中文與日文語音合成社群中引起注意。但專案已宣告短期內不再維護,轉而推薦自家的自回歸模型 Fish-Speech。本文從 README、發布標籤與儲存庫結構出發,拆解它的做法、限制與替代選擇。
適合誰用?
Bert-VITS2 適合想快速取得中文或日文語音合成模型、且能接受 AGPL-3.0 授權條件的個人開發者或研究用途。它不適合需要長期穩定維護、想部署到商業閉源產品、或需要即時自回歸生成能力的團隊,因為官方已明確表示短期內不再維護,且推薦改用 Fish-Speech。
可以商用嗎?
可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Python(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

它解決什麼問題,又是寫給誰的

Bert-VITS2 的核心主張很直接:以 VITS2 為骨架,把多語言 BERT 的語意表示引入語音合成。傳統 VITS 系列依賴文字轉音素的對齊與單純的聲學建模,遇到同音字、多音字或語境依賴的發音時,容易產生誤讀。Bert-VITS2 的做法是用 BERT 的上下文向量來輔助模型理解整句話的意思,進而改善發音與韻律。README 開頭就點出靈感來自 anyvoiceai/MassTTS,並說自己是在嘗試 MassTTS 後,發現其音質與 VITS 有差距、訓練流程又更複雜,才回頭按照 MassTTS 的思路把 BERT 整合進 VITS。這個專案的目標讀者不是一般使用者,而是願意自己讀代碼、自己處理訓練細節的開發者。README 那句「成熟的旅行者/開拓者/艦長/博士/sensei/獵魔人/喵喵露/V 應當參閱代碼自己學習如何訓練」,語氣戲謔,但意思很明確:這裡沒有傻瓜式教學,你要自己動手。

從 VITS2 到 BERT:實際的機制與資料流

從儲存庫名稱與 README 的引用清單可以看出,Bert-VITS2 不是從零打造的模型,而是把多個既有專案的元件拼起來。它引用 jaywalnut310/vits 與 p0p4k/vits2_pytorch 作為 VITS2 的基礎,引用 PaddlePaddle/PaddleSpeech 與 emotional-vits 來補齊語者嵌入與情感相關的處理,而 BERT 的部分則明確說明代碼思路來源於 MassTTS。在實際運作時,輸入文字會先經過 BERT 編碼,產生一組帶有上下文語意的向量,再把這些向量與傳統的文本特徵一起送入 VITS2 的對齊與解碼器。這與純粹的 VITS2 不同,後者只依賴音素序列,缺乏對整個句子語意的掌握。多語言 BERT 的引入,讓模型在中文、日文等語言上能共享部分語意表徵,理論上可以減少對大量標註資料的依賴。不過,README 沒有提供任何架構圖或前向傳播的細節,實際的融合方式、特徵拼接的位置、是否影響對齊頭,都需要直接閱讀代碼才能確認。

動手前的準備:從 webui_preprocess.py 開始

README 反覆提到同一個檔案:webui_preprocess.py。它說「For quick guide, please refer to webui_preprocess.py」,並附上中文說明「簡易教程請參見 webui_preprocess.py」。這暗示整個專案的進入點是網頁介面的預處理腳本,而不是傳統的訓練命令。從發布標籤來看,專案有 Extra(中文特化版)、Extra-v2(中文特化修復版)與 JP-Exta(日文特化版),每個版本對應不同的語言與資料處理方式。也就是說,你必須先決定要訓練哪種語言,再使用對應的預處理腳本來準備資料集。訓練流程本身並未在 README 中詳細列出,沒有給出 pip install 的指令、沒有 requirements.txt 的內容、也沒有示範如何啟動訓練。這是一個明顯的門檻:如果你不熟悉 VITS2 的訓練慣例,或沒有看過相關的教學影片(README 附了兩個 Bilibili 連結,一個是 demo,一個是 tech slides),你可能會卡在環境建置階段。

授權與維護現況:AGPL-3.0 與停止維護的現實

Bert-VITS2 採用 AGPL-3.0 授權。這對開源專案來說是強勢的 copyleft,意思是如果你修改了代碼並提供網路服務,你必須公開完整的修改後源碼。對於只想把模型嵌入內部工具、不打算公開程式碼的團隊,這是一個需要謹慎評估的點。更關鍵的是,README 在專案推介段落直接寫道:「FishAudio 下的全新自回歸 TTS Fish-Speech 現已可用,效果為目前開源 SOTA 水準,且在持續維護,推薦使用該項目作為 BV2/GSV 的替代。本項目短期內不再進行維護。」這句話等於官方自己宣告了專案的終點。最後一次 push 是 2026-09-07,但那是 README 更新或合併貢獻,不改變「短期內不再維護」的聲明。如果你打算採用 Bert-VITS2,你必須接受這個專案不會有新的功能、不會有針對新 PyTorch 版本的相容性修復,也不會有人幫你修 bug。

發布版本的差異與語言的適用邊界

三個發布標籤透露了語言的適用範圍。Extra 是「中文特化版本」,Extra-v2 是「中文特化修復版」,JP-Exta 是「Japanese Specialized Version」。這表示 Bert-VITS2 的多語言能力並非單一模型覆蓋所有語言,而是針對主要語言各自訓練特化版本。中文版有修復版,代表原始 Extra 可能存在某些問題,但 README 沒有說明修復了什麼。日文版的名稱 JP-Exta 拼法不一致(應為 Extra 但寫成 Exta),這類細節暗示專案的發布流程並不嚴謹。如果你需要的是純英文或歐洲語言的合成,這三個版本都不直接支援,你需要自己尋找或訓練對應的模型。此外,這些版本都是 2024 年初的產物,距今已有一段時間,與目前主流的 TTS 技術(例如自回歸模型)相比,在自然度與即時生成能力上可能已經落後。

真正的替代方案:Fish-Speech 與 MassTTS

README 自己推薦的替代方案是 Fish-Speech,同樣屬於 fishaudio 組織。Fish-Speech 是自回歸 TTS,與 Bert-VITS2 的非自回歸 VITS2 骨架有本質上的差異。自回歸模型逐幀生成音訊,能捕捉更長期的依賴,但生成速度較慢;VITS2 這類非自回歸模型是一次性生成整個序列,速度快但可能缺少細微的韻律變化。README 宣稱 Fish-Speech 是「目前開源 SOTA 水準」,且「持續維護」,這與 Bert-VITS2 的停止維護形成對比。另一個參考點是 anyvoiceai/MassTTS,Bert-VITS2 的 BERT 思路來源於此。MassTTS 的 demo 在 Bilibili 上有影片,但 README 沒有提供技術細節。若你重視的是維護週期與社群活躍度,Fish-Speech 是官方背書的選擇;若你偏好非自回歸的生成效率,且願意自己維護,Bert-VITS2 仍然可用,但你要承擔所有後續的相容性問題。

錯誤的使用場景與潛在的失敗模式

Bert-VITS2 不是萬用工具。首先,它不適合需要即時合成的互動應用,因為 VITS2 架構雖然比自回歸快,但 README 沒有提供任何延遲數據,且訓練與推論的 pipeline 並非為低延遲設計。其次,它不適合政治相關用途,README 明確寫道「嚴禁用於任何政治相關用途」,這是一個法律與倫理上的紅線,你必須遵守。第三,訓練資料的品質直接影響結果,BERT 的語意理解能力再強,如果輸入的錄音有雜訊、標註不一致,模型照樣會產生錯誤發音。最後,由於專案不再維護,當你升級 PyTorch 或 CUDA 版本時,可能會遇到無法解決的相依性衝突,而官方不會提供修復。若你的團隊沒有足夠的 PyTorch 內部知識來自行除錯,這個專案很可能會變成一個時間黑洞。

編輯結論

Bert-VITS2 適合想快速取得中文或日文語音合成模型、且能接受 AGPL-3.0 授權條件的個人開發者或研究用途。它不適合需要長期穩定維護、想部署到商業閉源產品、或需要即時自回歸生成能力的團隊,因為官方已明確表示短期內不再維護,且推薦改用 Fish-Speech。採用前應先確認三件事:其一,你的使用場景是否符合 AGPL-3.0 的衍生作品規範;其二,你是否願意自行承接訓練 pipeline 的除錯與資料清理工作,因為 README 明說「成熟的旅行者……應當參閱代碼自己學習如何訓練」;其三,若需要日文支援,請確認 JP-Exta 版本與你的 PyTorch 環境相容。若你追求的是持續更新與社群支援,直接評估 Fish-Speech 會比接手一個已停止主動開發的專案更實際。

官方來源

  1. fishaudio/Bert-VITS2 on GitHub
  2. Issues
  3. License: AGPL-3.0
  4. README
  5. Releases
社群筆記

社群筆記