前言
訓練一把自己的 AI 語音,常見的幾個顧慮是:需要高階顯卡嗎?語音複製穩不穩定?中文發音的坑多不多?這篇整理我自己的經驗,從硬體需求、主流開源模型比較、LoRA 微調實作,到中文發音的處理方式,把整個流程記錄下來。
近一兩年 LoRA 微調逐漸成熟,加上 CosyVoice 3 等開源模型出現,用消費級硬體做出堪用品質的聲音,門檻已經比以前低不少。
一、硬體與訓練門檻
「8GB VRAM 就能跑」這句話常被誤解,這裡要先區分一件事:推論(Inference)和訓練(Training)的需求並不一樣。
- 推論:單純拿現成模型生成語音,8GB VRAM 大致足以應付多數 TTS 模型(如 Qwen3-TTS 1.7B、CosyVoice 0.5B)
- LoRA 微調:我自己是用 RTX 5070 Ti(16GB) 跑 Qwen3-TTS LoRA,就能訓出可用品質的聲音,16GB 消費級顯卡就夠了。
- 全參數微調:需要工業級資源(CosyVoice 原始預訓練使用 64 張 V100-32GB),個人通常不用考慮
之所以 16GB 能跑,關鍵是 LoRA 只更新少量低秩參數,主要的顯存開銷來自基礎模型權重與啟用值;TTS 模型本身(1.5B~1.7B)並不算大,搭配適中的 batch size 與序列長度,16GB 就能塞得下。
以下是我在 RTX 5070 Ti(16GB)上跑 Qwen3-TTS LoRA 各階段的實測顯存用量:
| 階段 | 實測 VRAM 用量 | 16GB 餘裕 |
|---|---|---|
| LLM r64 訓練(batch 2) | ~10.6 GB | 剩 ~5GB |
| Flow r64 all-linear 訓練 | ~8 GB | 剩 ~8GB |
| 試聽合成(fp16 載整個模型) | ~5 GB | 很寬鬆 |
可以看到即使是吃最重的 LLM r64 訓練階段,峰值也只到約 10.6GB,16GB 還有約 5GB 餘裕。換句話說 16GB 不是「勉強塞進去」,而是相當寬鬆,要再拉大一點 batch 或 rank 都還有空間。
看不懂表格的名詞?這段給你
- r64 / r32(rank):這是 LoRA 的「容量旋鈕」。LoRA 不會去動原本龐大的模型,而是外掛一小塊可訓練參數,rank 就是這塊外掛有多大。數字越大,能學到的聲音細節越多,但佔的顯存、訓練時間也越多,資料不夠時還更容易「死背」訓練樣本(過擬合)。r64 就是 rank=64,r32 是 rank=32,外掛參數量大約是 r64 的一半,更省顯存、訓練更快,對聲音的還原度通常只差一點點。資料量不大(10-30 分鐘)時,r32 往往就夠用、也比較不會過擬合;想多榨一點細節再上 r64。我表格跑的是 r64,峰值才 10.6GB,所以換成 r32 會更輕鬆。
- LLM 階段 / Flow 階段:Qwen3-TTS 內部其實是兩個模型接力。LLM 負責「文字 → 要說什麼、怎麼斷句的節奏」,Flow(flow matching 聲學解碼器)負責「把它變成實際的聲音波形」(音色、質感)。兩個都用 LoRA 微調,聲音才會像本人。
- all-linear:指把 LoRA 掛到模型「所有線性層」上,而不是只掛在注意力的少數幾層。覆蓋越廣、學得越完整,參數也略多,這就是為什麼 Flow all-linear 那欄會單獨列出來。
至於 QLoRA(量化後的 LoRA),理論上能把 VRAM 需求再降約 75%,但目前在 TTS 領域還不太成熟。Unsloth 官方也建議 Qwen3.5 系列不要使用 4-bit QLoRA,因為量化誤差會明顯影響語音品質。既然 16GB 跑原生 LoRA 已經可行,多數人其實也用不到 QLoRA。
| 訓練方式 | VRAM 需求 | 適合對象 | 成熟度 |
|---|---|---|---|
| 推論 | 8GB+ | 所有人 | 穩定 |
| LoRA 微調 | 16GB+(實測) | 個人 / 小團隊 | 穩定 |
| QLoRA | 理論 6-8GB | — | 穩定,品質沒這麼好 |
| 全參數微調 | 數百 GB+ | 企業 / 研究機構 | 穩定但成本高 |
簡單說,如果想做聲音客製化,一張 16GB VRAM 的消費級顯卡(如 RTX 5070 Ti、或 RTX 4060 super 12GB)就能起步。想要更大的 batch、更高 rank、訓練更快,再往 24GB(RTX 3090 / 4090)升級即可,但那是「想更快更好」的選項,不是入門門檻。
二、開源 TTS 模型比較:Qwen、CosyVoice
選哪個基礎模型,會影響聲音的口音、品質上限,以及後續訓練的難易度。以下是我實際測試過的幾套:
Qwen3-TTS(阿里巴巴,2026 年 1 月發布)
功能算完整,支援十種語言,說話人相似度約 0.95,中文字元錯誤率(CER)約 0.77%。不過以我的經驗,生成的聲音仍帶有較明顯的「中國腔」,而且繁體中文有 tokenizer byte-fallback 的問題,遇到未收錄的字(OOV)時容易發音錯誤。
BreezyVoice(聯發科,基於 CosyVoice 2)
台語語音效果很好(MOS 達 5.0),支援注音標註消歧。比較大的限制是官方只提供推論腳本,不支援二次訓練,所以沒辦法用它來客製化自己的聲音。
CosyVoice 3(阿里巴巴,2025 年 12 月)
目前整體比較均衡的選擇。參數量 1.5B,訓練資料達百萬小時等級,中文 CER 約 0.71%。它的聲音比較接近台灣腔,情緒控制也相對自然,另外有「發音修補」功能,可以直接用拼音覆蓋錯字來修正發音,不必重訓。
| 比較項目 | Qwen3-TTS | CosyVoice 3 | BreezyVoice |
|---|---|---|---|
| 參數量 | 1.7B | 1.5B | 基於 CosyVoice 2 |
| 中文 CER | 0.77% | 0.71% | — |
| 口音傾向 | 偏中國腔 | 較接近台灣腔 | 台語最佳 |
| 二次訓練 | 支援 LoRA | 支援 LoRA | 僅推論 |
| 發音修補 | 需前處理 | 內建拼音覆寫 | 注音標註 |
| 情緒控制 | 一般 | 較自然 | — |
如果目標是客製化訓練加上繁體中文場景,以目前來看 CosyVoice 3 是比較務實的起點。
三、LoRA 微調實作
為什麼不直接用聲音複製(ICL)
零樣本語音複製(In-Context Learning)確實方便,只需 3-10 秒參考音訊就能用,短句效果也不錯。但句子一長,音色就容易飄掉,這是目前各家模型的共同問題。把參考音訊延長到約 20 秒可以改善穩定度,不過要達到比較穩定的品質,LoRA 微調還是比較可靠的做法。
實作步驟
Step 1:準備訓練資料(最耗時的一步)
社群比較常見的建議訓練資料量是 10-30 分鐘。需要準備乾淨、無背景噪音的個人音檔,並切割成 5-15 秒的短句。
以我的經驗,訓練本身大約 30 分鐘到 1 小時就能跑完,真正花時間的反而是整理音檔,清除雜音、切割段落、校對文字稿,這些前置工作大概佔了整個流程 70% 以上的時間。
Step 2:資料標註
將每個音檔對應到準確的文字稿,格式通常是一個 manifest 檔案:
audio_001.wav|你好,歡迎來到我的技術部落格。
audio_002.wav|今天要分享的是關於語音合成的實戰經驗。
Step 3:執行 LoRA 訓練
以 CosyVoice 3 為例,基本的訓練指令如下:
python train_lora.py \
--model_path pretrained/CosyVoice3-0.5B \
--data_dir ./training_data \
--output_dir ./output/my_voice \
--lora_rank 64 \
--epochs 50 \
--batch_size 4 \
--learning_rate 1e-4
Step 4:驗證品質
訓練完成後,可以用 TTS-ASR 自我精煉迴圈來做初步自動驗證:先讓模型生成語音,再用 Whisper 轉寫回文字,比對音素錯誤率。根據 2025 年的研究,這個方法在中英混合語境下能達到 55.88% 的相對錯誤下降。
不過最終品質還是得靠人耳判斷。自動化可以先篩掉明顯有問題的樣本,但語調是否自然、情緒是否到位,目前還是人比較擅長。
四、中文發音的處理
中文 TTS 比較麻煩的兩個問題:
- 多音字:「好好學習」的兩個「好」發音不同
- 特有詞彙:「軟體」vs.「軟件」,模型訓練語料以簡體中文為主,很多繁體用詞沒見過
傳統做法:三層前處理
輸入文字 → 字典覆寫(phrase override)
→ OpenCC 繁轉簡
→ g2pW 轉漢語拼音
→ 送入 TTS 模型
這個流程能解決大部分問題,但維護成本不低,每遇到一個新的發音錯誤,就得手動更新字典。多音字則靠 Polyphone BERT 或 g2pW 等神經網路模型來消歧。
CosyVoice 3 的做法:發音修補
CosyVoice 3 內建的發音修補功能,可以直接在輸入文字中用拼音覆蓋特定字的發音:
# 原始輸入(「軟體」的「體」可能被唸錯)
軟體工程師的日常
# 使用發音修補(拼音標註)
軟<phoneme ph="ti3">體</phoneme>工程師的日常
根據官方測試,這個方法的修正率接近 100%,不需要改程式碼、也不需要重新訓練,直接在輸入端就能處理。對繁體中文使用者來說滿實用的。
結論
整理一下訓練個人 AI 聲音的三個重點:
- 硬體:16GB VRAM 消費級顯卡(如 RTX 5070 Ti)即可起步,不必非得 24GB
- 模型:以 CosyVoice 3 為基礎,音質、口音和可訓練性比較平衡
- 資料:花時間錄製 10-30 分鐘的高品質訓練音檔
雖然 AI 已經能透過 TTS-ASR 迴圈做部分自我訓練與驗證,但訓練資料的整理和最終效果的人耳判斷,目前還是難以完全取代。
另外可以留意的是,LoRP-TTS(推論時即時 LoRA 優化)這類新技術正在讓流程更自動化,未來或許不用事先準備訓練資料,模型就能在推論時即時適應目標聲音。整體門檻應該會持續往下降。




























留言