← 回技術文件 晶鑫數位科技 3dgowl.com
AI 工具

GPT-SoVITS 聲音克隆操作手冊:
本機 CPU 推理+Colab 免費 GPU 訓練

電腦顯卡不夠力也能克隆自己的聲音幫教學影片配音:資料準備與日常推理在本機用 CPU 做,模型訓練交給 Google Colab 的免費 GPU。完整流程與實戰踩坑紀錄。

最後更新:2026 年 9 月・適用 GPT-SoVITS v2pro-20250604(本機)/GitHub main(Colab)
本文為實際操作整理,非官方文件。GPT-SoVITS 為 RVC-Boss/GPT-SoVITS 開源專案(MIT 授權)。介面實際顯示為簡體中文,本文一律以繁體標示對應的欄位與按鈕名稱,操作時對照字形即可辨認。聲音克隆請只用自己的聲音或已取得授權的聲音,冒用他人聲音可能觸法。

一、系統架構與分工

示範環境是一台沒有高階顯卡的商務筆電:顯示記憶體只有 2GB,低於主流 TTS 模型的最低需求(4GB),直接在本機訓練必定失敗。所以整個流程採「本機+雲端」分工:

流程總覽 錄音 → 本機切分/標註/校對 → 打包 dataset.zip → 上傳 Colab 訓練 → 下載模型 → 本機推理配音

二、本機安裝與啟動

從官方 GitHub 下載 Windows 整合包(本文使用 v2pro-20250604 版),解壓到自選的安裝資料夾(本文以 <安裝資料夾> 代稱,路徑避免中文與空格較保險)。

三、資料準備(本機 WebUI)

3.1 錄音要求

3.2 語音切分(0b)

分頁「0-前置資料集獲取工具」→「0b-語音切分工具」:「音頻自動切分輸入路徑」填錄音檔完整路徑,其他參數不動,按「開啟語音切分」。輸出在 output\slicer_opt\

3.3 語音辨識標註(0c ASR)

「0c-批量 ASR 工具」:輸入目錄填 output/slicer_opt,模型選「達摩 ASR」(中文),按「開啟離線批量 ASR」。輸出標註檔 output\asr_opt\slicer_opt.list

3.4 人工校對(0d):強烈建議

「0d-語音文本校對標註工具」路徑填 output/asr_opt/slicer_opt.list 後開啟,逐句聽音檔對文字。

鐵則 每頁改完必按「Submit Text」再翻頁,否則該頁修改直接丟失!離開前再按一次「Save File」。

校對省力原則:模型學的是「文字↔發音」對應,不是文意。

3.5 打包上傳包

最終要做出 dataset.zip,內含:切片資料夾 slicer_opt\(所有 wav)+標註檔 myvoice.list

路徑轉換是必做步驟 標註檔內的音檔路徑必須改成 Colab 的 Linux 路徑 /content/dataset/slicer_opt/檔名.wav;原檔是 Windows 反斜線路徑,直接上傳會 FileNotFoundError。存檔須為 UTF-8(無 BOM)。可以用文字編輯器批次取代路徑字首,或交給 AI 工具代改。

四、Colab 環境建置

Notebook 連結(舊版 colab_webui.ipynb 已失效,認明官方 repo 的新檔):

https://colab.research.google.com/github/RVC-Boss/GPT-SoVITS/blob/main/Colab-WebUI.ipynb

先設 GPU:選單「執行階段 → 變更執行階段類型」→ T4 GPU。之後依序:

  1. 執行 Cell 1(開頭 %%writefile /content/setup.sh),一秒完成。
  2. 執行 Cell 2(開頭 %pip install -q condacolab)→ 中途跳「工作階段當機/已重新啟動」屬正常 → 再執行一次 Cell 2 → 等 10~15 分鐘裝完。
  3. 執行 starlette 修正(新增一個程式碼 cell 貼上):
    !source activate GPTSoVITS && pip install "starlette>=0.40.0,<0.46.0"
  4. 上傳與解壓:把 dataset.zip 拖進左側檔案面板的 /content,新增 cell 執行:
    !unzip -o /content/dataset.zip -d /content/dataset
  5. 執行 Launch WebUI cell(最後一個)。建議先把 python webui.py 改成 python webui.py zh_CN 介面才是中文。輸出裡找 https://xxxxx.gradio.live 網址(Ctrl+F 搜 gradio.live),點開即是 WebUI。
三大鐵律 (1)Colab 一次只能跑一個 cell:Launch 執行中不能跑其他 cell,要跑就得先停掉它(WebUI 會斷、網址作廢)。(2)每次重啟 Launch,網址都會變。(3)機器被回收後一切歸零,固定順序=環境 → 上傳 → 解壓 → 最後啟動。

機器還活著嗎?快速判斷

五、Colab 訓練

5.1 訓練集格式化(1A)

開 WebUI「1-GPT-SOVITS-TTS」分頁,照下表填:

欄位填入值
Experiment/model name(實驗/模型名)myvoice
Version of the trained model(版本)v2ProPlus
1A Text labelling file(文本標註文件)/content/dataset/myvoice.list
1A Audio dataset folder(訓練集音頻目錄)/content/dataset/slicer_opt

捲到「1Aabc-Training Set One-Click Formatting」按橘色「Open Training Set One-Click Formatting」,約 1~3 分鐘。完成判斷:Colab Launch cell 輸出依序出現 1-get-text.py2-get-hubert-wav32k.py3-get-semantic.py 且沒有紅字 Traceback。

5.2 微調訓練(1B)

  1. 按「Open SoVITS Training」(參數預設),T4 約 5~10 分鐘,輸出框顯示「SoVITS Training Finished」。
  2. 完全跑完後,GPT Training 區塊先把 Batch size 改成 4(預設值在免費版 12.7GB RAM 上會無聲當機),再按「Open GPT Training」,約 10~20 分鐘。

5.3 下載模型(每完成一個就立刻下載!)

Colab 檔案位置說明
/content/GPT-SoVITS/SoVITS_weights_v2ProPlus/myvoice_e8_s***.pthSoVITS 權重,約 100~200MB,SoVITS 訓練完就先下載
/content/GPT-SoVITS/GPT_weights_v2ProPlus/myvoice-e15.ckptGPT 權重,約 150MB;多個檔取 e 後數字最大者

左側檔案面板找到檔案 → 右鍵 → 下載。機器隨時可能被回收,訓練完拖延下載=可能整段重來。

六、回本機推理(日常配音)

  1. 把兩個模型檔放進本機對應資料夾:
    檔案放到
    .ckpt<安裝資料夾>\GPT_weights_v2ProPlus\
    .pth<安裝資料夾>\SoVITS_weights_v2ProPlus\
  2. 以 CPU 腳本啟動 → 「1-GPT-SoVITS-TTS」→「1C-推理」→ 版本選 v2ProPlus → 按「刷新模型路徑」→ 下拉選 myvoice 的 GPT 與 SoVITS 模型 → 勾「開啟 TTS 推理 WebUI」(開在 http://127.0.0.1:9872)。
  3. 推理頁面:上傳一段 5~10 秒的參考音頻(從 output\slicer_opt 挑一句最方便),填上那句的文字、語言選中文;下方貼要配音的稿子 → 合成。

七、疑難排解(實戰踩坑紀錄)

症狀原因解法
Cell 2 跑到一半「工作階段當機/已重新啟動」condacolab 安裝必經的重啟正常現象,再執行一次 Cell 2 即可
網頁 Internal Server Error;後台 TypeError: unhashable type: 'dict'starlette 版本太新(≥0.46)pip install "starlette>=0.40.0,<0.46.0" 後重啟 Launch(GitHub issue #2762)
gradio.live 顯示 No interface is running後端已停止(Launch cell 被停掉或當機),頁面可能停留舊畫面看 Launch cell 圖示:三角形=已停;重新執行取得新網址
格式化報 FileNotFoundError: /content/dataset/myvoice.list換新機器後 zip 未重新解壓停 Launch → 跑 unzip → 重啟 Launch
Launch cell 無聲變停止、無任何 Traceback系統 RAM(12.7GB)耗盡被強制終止,常發生在 GPT 訓練重啟後 GPT Training 的 Batch size 調 4;常態發生可考慮 Colab Pro
訓練完找不到權重資料夾機器已被回收,成果全失!ls /content 確認;預防=訓練完立刻下載
本機命令列跑 ASR 報 UnicodeEncodeError(cp950)Windows 中文編碼python 加 -X utf8 參數;用 WebUI 操作通常不會遇到
按鈕按了沒反應、輸出框不更新gradio 通道不穩,事件其實可能已送達以 Colab Launch cell 輸出為準;必要時重新整理頁面重填欄位

八、重要路徑速查

用途路徑
本機主程式<安裝資料夾>(整合包解壓位置)
本機啟動(CPU 模式)自建的 CPU 專用啟動腳本(見第二節)
主 WebUI/推理 WebUIhttp://127.0.0.1:9874http://127.0.0.1:9872
切片輸出/標註檔output\slicer_opt\output\asr_opt\slicer_opt.list
上傳包自訂工作資料夾下的 dataset.zip
合成成品<安裝資料夾>\output\