你是否曾想過打造一個屬於自己的 AI VTuber?看著主流的虛擬主播在線上互動,你可能也想動手做一個,卻被複雜的語音克隆與動態捕捉技術給勸退。
本篇文章將帶你一步步把 AI VTuber 的 Prototype(原型),從原本單調的「Edge-TTS 出聲、沒有臉」的狀態,升級成**「專屬克隆聲線 + Live2D 會動的臉 + 可推上 YouTube 直播」**的完整配置!
我們將基於 010-AI-VTuber 專案進行實作。在開始之前,建議可以先閱讀 AI-VTuber 是什麼-白話入門 來建立基礎的全貌觀念。本指南秉持一個核心原則:先完全使用免費素材把整條線接通,確定能動,再來考慮花錢升級!
運作原理:嘴巴會動的秘密
在動手之前,我們必須先看懂整條訊號線是怎麼接起來的。
其實,Live2D 模型的嘴巴並不是由程式碼直接去控制開合度,而是業界常用的一個聰明「偷吃步」:把 TTS(語料合成)產生的聲音,透過「虛擬音訊線」假裝成麥克風輸入餵給 VTube Studio。VTube Studio 一聽到聲音,就會自動根據音量進行唇形同步(Lip Sync),讓模型動起嘴巴。
整體的運作架構如下:
觀眾留言 ─▶ main.py ─▶ LLM ─▶ 回覆文字
│
▼
GPT-SoVITS(本地克隆) ─▶ 語音
│
▼
VB-CABLE 虛擬音效卡 ─▶ VTube Studio(當成麥克風)
│ │ 依音量自動唇形同步
│ ▼
│ Live2D 模型在動
▼ │ 視窗
(也可放喇叭) OBS 擷取 ─▶ YouTube
採購與素材清單(全部先挑免費的!)
為了不花一分錢就完成測試,我們在挑選素材時必須特別注意授權。以下是幫大家整理並查證過的免費安全清單:
1. 皮(Live2D 模型)
| 方案 | 價格 | 授權重點 | 何時使用 |
|---|---|---|---|
| Live2D 官方範例模型(如 Hiyori 等) | 免費 | 年營業額 < ¥1000 萬日圓可商用/直播/營利;需在說明欄標註 Live2D 版權聲明;禁止再散布與 NSFW 內容。 | 初期跑通流程首選 |
| azukistudio「Hamu」(Booth) | 約 ¥2,400 | 明確標示「直播+影片營利 OK,收益歸你」;需要標記作者來源。 | 想要高辨識度時再購買 |
| 免費 freemium 模型 | $0 | ⚠️ 許多免費版模型會註明「商用禁止」,使用前務必看清條款。 | 請勿拿去營利 |
- 官方範例下載: Live2D 官方範例模型下載 (下載後會得到可直接拖進 VTube Studio 的
moc3+model3.json完整封裝檔)。 - ⚠️ 挑選模型的小撇步: 尋找日本素材時,請看清楚這些日文關鍵字:「商用利用 可/×」(可否商用)、「配信」(直播)、「収益化」(營利)、「クレジット表記」(需標記作者)、「再配布禁止」(禁止二次分發)。
2. 聲音(GPT-SoVITS 參考樣本)
- ✅ Mozilla Common Voice 中文 zh-TW:這是採用 CC0 公眾領域的資料集,使用起來最安全。你可以到 Mozilla Common Voice 官網 下載。
- GPT-SoVITS 的原始碼與預訓練權重皆為 MIT 授權,可商業使用。
- ⚠️ YouTube 規範提醒: 自 2025 年 5 月 21 日起,上傳含有 AI 語音克隆的內容時必須勾選「AI 合成揭露」。誠實揭露並不影響頻道營利,但不揭露可能會遭受處罰。使用 Common Voice 的匿名素材不對應到特定真實人物,是最安全的作法,也請避免克隆名人或知名聲優。
3. 工具軟體(均為免費)
手把手接線安裝步驟
請務必依照順序一步步設定,確保每一步驗證成功後再繼續往下進行。
Step A:先把「臉」單獨弄會動(暫不接聲音)
- 在 Steam 安裝並開啟 VTube Studio。
- 載入官方免費模型(建議先使用內建或下載好的 Hiyori)。
- 確認模型會跟著你的視訊鏡頭移動(這一步先用實體鏡頭測試臉部追蹤,只要確保模型能動、能載入即可)。
Step B:安裝虛擬音訊線,用「聲音」讓 VTube Studio 嘴巴開合
- 安裝 VB-CABLE: 下載並解壓縮驅動包後,對
VBCABLE_Setup_x64.exe按右鍵,選擇「以系統管理員身分執行」,點選 Install Driver。- 常見踩坑點: 許多人會不小心點到沒有
_x64的VBCABLE_Setup.exe(那是 32 位元版本)。在 64 位元的 Windows 11 下點錯會靜默失敗,裝置完全不會出現在系統中。 - 安裝成功後通常不一定要重開機,在 PowerShell 中輸入
Get-PnpDevice -Class AudioEndpoint如果顯示Status OK / CM_PROB_NONE即可立即測試。
- 常見踩坑點: 許多人會不小心點到沒有
- 此時 Windows 的音效設定會多出:
- 播放裝置:
CABLE Input(在播放裝置分頁中可能顯示為「喇叭 (VB-Audio Virtual Cable)」) - 錄音裝置:
CABLE Output
- 播放裝置:
- 進入 VTube Studio 的「リップシンク設定(麥克風唇形同步)」:
- 務必打開「マイクを使う(使用麥克風)」開關。這是第一個常遺漏的坑,沒打開的話模型絕對不會動。
- 將「マイク(麥克風)」選擇為 CABLE Output (VB-Audio Virtual Cable)。
- 開啟「マイクプレビュー(麥克風預覽)」,此時播放聲音,如果看到綠色音量條在跳動,代表 VTube Studio 有順利接收到音訊。
- 綁定嘴巴參數: 進入設定 ➔ Live2D 模型參數設定 ➔ 找到 「Mouth Open」 區塊:
- 將 IN 的參數從
MouthOpen(臉部追蹤)改為VoiceVolume(麥克風音量)。 - OUT 參數維持
ParamMouthOpenY。 - 觀念說明: IN 代表「觸發來源」(因為什麼而動),OUT 代表「被帶動的部位」(所以哪裡跟著動)。原本 IN 綁定 Face Tracking,沒開鏡頭時數值永遠為 0 嘴巴就不會動;改成 VoiceVolume 就能用聲音驅動。
- 將 IN 的參數從
- 測試技巧: 測試時請使用「人聲講話」來測試,不要播音樂。因為音樂的音量通常持續滿格,會導致
VoiceVolume一直維持在最大值,模型的嘴巴會卡在全開狀態看起來像沒動;人聲有停頓與抑揚頓挫,嘴巴才能一開一合。 - 校準設定: 「音量ブースト(音量增幅)」如果設定為 40 太高,很容易讓音量頂滿,建議調到約 20~30。OUT 的上限如果原本是 2.3,可以改為 1.0,避免稍微有一點聲音就把嘴巴撐到最大限制。
完成此步驟後,只要有任何聲音播放到「CABLE Input」,VTube Studio 就能接收並同步開合嘴巴。
Step C:安裝 GPT-SoVITS 語音克隆(執行於本地 GPU)
- 下載官方的 Windows 整合包(內建 Python 與 CUDA 環境,不影響原本專案的
.venv)。- 推薦版本:
GPT-SoVITS-v2pro-20250604.7z(標準版,非 nvidia50),最適合筆者所使用的 GTX 1660 (Turing)。 - 下載來源: HuggingFace 上的
lj1995/GPT-SoVITS-windows-package(檔案約 8.19GB)。 - 版本觀念: GPT-SoVITS 的版號並不代表時間先後。釋出順序為 v2 ➔ v3 ➔ v4 ➔ v2Pro(最新)。其中 v1/v2/v2Pro 屬於同一個輕量體系(省資源、速度快),v3/v4 則更吃資源。因此 v2Pro 是目前最新且最適合 GTX 1660 的版本。
- 推薦版本:
- 解壓縮到本機路徑:
D:\AI-Tools\GPT-SoVITS\GPT-SoVITS-v2pro-20250604\。 - 設定精度與模型切換: 更改
GPT_SoVITS\configs\tts_infer.yaml中的custom:區塊:- 設定
version: v2Pro、t2s_weights_path: ...s1v3.ckpt、vits_weights_path: ...v2Pro/s2Gv2Pro.pth。 - 務必將
is_half: false(使用 FP32 精度)。GTX 1660 等 Turing 架構老顯卡,如果開啟 FP16 半精度(is_half: true),推理出來的聲音會是完全靜音(檔案長度正常但分貝數為 -91dB),這是硬體架構的硬傷。必須使用 FP32 才有聲音,代價是需要消耗更多顯存且速度較慢。
- 設定
- 啟動 API: 先關閉瀏覽器以釋放更多 VRAM。執行
.\runtime\python.exe api_v2.py(預設會監聽127.0.0.1:9880)。看到啟動訊息中顯示version: v2Pro、is_half: False與Uvicorn running on ...9880即代表成功。首句推理時會進行冷啟動,速度較慢屬正常現象。
⚠️ 本地顯卡效能重大現實(實測回報): 擁有 6GB VRAM 的顯示卡無法同時流暢運行 VTube Studio + GPT-SoVITS (FP32)。 在進行語音合成時,VRAM 會瞬間爆滿(剩餘 <350MB),導致運算溢出到系統記憶體,推理速度會從原本的 65 it/s 暴跌到 1.2 it/s(慢了約 50 倍),合成一句話要等上百秒。 結論: 在本地硬體限制下,實驗階段建議先將語音退回使用 edge-tts(設定見 Step E 備註)。GPT-SoVITS 本地克隆聲線方案建議等待部署至雲端 GPU 或更換顯卡後再行啟用。相關的設定與程式路由仍會完整保留,後續只需在
.env修改一行即可無縫切回。
Step D:準備參考音檔
- 從 Common Voice 中文資料集中挑選乾淨的音檔。
- 開啟
validated.tsv篩選已通過審核的片段。 - 篩選條件:
gender = female➔up_votes高、down_votes0 ➔ 尋找長度約在 5 至 10 秒之間的句子。 - 找到對應的
clips/xxx.mp3後進行試聽,確認無背景雜訊、咬字清晰。 - 使用 ffmpeg 將其轉為 32000Hz 單聲道 wav 格式:
ffmpeg -i clips/xxx.mp3 -ac 1 -ar 32000 ref.wav - 記錄下該音檔對應的逐字稿文字。
Step E:將聲音串接進專案程式中
打開 010-AI-VTuber/prototype/characters/hoshino.json,在 gptsovits 區塊中填入對應欄位:
ref_audio:填入上述ref.wav的絕對路徑ref_text:填入該音檔的逐字稿內容
接著修改 prototype/.env:
TTS_BACKEND=gptsovits(原本為 TTS_BACKEND=edge)
設定完成後執行 python prototype/main.py,角色的發音就會變成你克隆的專屬聲線。
- 系統保護機制: 程式內建了安全退回機制,若 GPT-SoVITS 無法連線或未填寫參考音檔路徑,會自動降級回 edge-tts 輸出,不會造成程式崩潰中斷。
Step F:音訊路由與推流設定
main.py 已經透過 sounddevice 庫將產生的音訊導向了虛擬音效卡(VB-CABLE)。實作時的幾個關鍵坑點:
- 取樣率對齊: 我們將輸出的語音統一轉成 48000Hz,並優先選擇 WASAPI 驅動的 CABLE Input。因為 VB-CABLE 原生運作在 48000Hz,如果被送往 DirectSound 驅動的 CABLE Input(預設 44100Hz),取樣率對不上會導致 VTube Studio 的音量綠色條完全不跳動。
- 避免音頻迴圈與回音: 請勿將語音同時輸出到「實體喇叭 + CABLE Input」兩路。這兩條獨立的串流會在系統中重疊,產生嚴重的環繞音或回音。
- 解決方法: 在
.env中設定TTS_MONITOR=0(只發送給 CABLE),並在 Windows 設定中,將 CABLE Output 設定為**「聆聽此裝置」**來用耳機監聽。這樣 VTube Studio 與你的耳朵聽到的會是同一份單一串流,能徹底根除回音。正式直播時,可將聆聽關閉,直接讓 OBS 去擷取 CABLE 的聲音。
- 解決方法: 在
- VB-CABLE 控制面板勿亂動: 虛擬音效卡的 CABLE Input 與 Output 在 Windows 進階屬性中的「預設格式」必須保持一致(建議皆設定為 2 聲道、16位元、48000Hz)。不建議將系統預設的預設播放與錄音裝置直接設為 CABLE,以免造成系統音效混亂或回授,讓各軟體單獨指定輸入輸出即可。
- OBS 設定: 在 OBS 中新增一個「Spout2 擷取」或「視窗擷取」來撈取 VTube Studio 畫面並進行去背;將音訊輸入擷取指向 CABLE,填入你的 YouTube 串流金鑰即可開始進行短暫的推流測試。
關於大語言模型(LLM)選型
在實測中,如果使用免費的推理型模型(例如 glm-4.5-air:free),模型在回答前會進行大篇幅的思考推理,且線上資源常需排隊,會導致回應延遲飆升至上百秒,完全不適合即時直播互動。
建議在測試階段改用非推理型的 qwen/qwen3-next-80b-a3b-instruct:free 模型。它屬於 MoE 架構,速度極快且中文理解與生成能力強,能將回應延遲縮短至約 16 秒內。若後續追求更低、更穩定的延遲,再考慮升級為付費 API 服務。
實測驗收清單
為了確保專案順利接通,可以對照以下清單進行確認:
- VTube Studio 成功載入 Hiyori 官方模型且會跟著畫面擺動。
- 播放聲音至 CABLE Input 時,VTube Studio 的嘴巴能正確隨著音量開合。
- GPT-SoVITS API(v2Pro / FP32 模式)能正常啟動並合成出清晰語音。(GTX 1660 單獨執行可達 65 it/s,但與 VTube Studio 同時執行會因顯存不足而大幅降速)。
- 「使用者輸入文字 ➔ LLM 回覆 ➔ 語音輸出 ➔ Live2D 嘴巴同步動」整條流水線成功接通。(本地顯存受限時,暫時使用 edge-tts 替代本地克隆)。
- OBS 成功擷取 VTube Studio 畫面與 CABLE 音訊,並完成 YouTube 短期推流測試。
已知踩坑地雷整理
- Live2D 授權陷阱: 許多網路上標榜「免費」的模型其實嚴格禁止商用。若未來有營利或收受斗內計畫,請老實使用官方範例模型並掛上版權宣告,或者購買授權條款明寫「可商用、可直播營利」的模型。
- 1660 等舊顯卡顯存(VRAM)硬傷: 使用 GPT-SoVITS 進行本地推理時,請務必關閉瀏覽器等佔用 VRAM 的程式。因為不支援 FP16 半精度,在 FP32 精度下生成速度較慢,且難以與 3D/Live2D 渲染軟體共存。
- YouTube 政策: 使用 AI 語音合成克隆他人聲線或自己聲線時,上傳或直播時務必勾選「AI 揭露」選項,這並不會影響你的收益權益。
- 參考音檔品質決定一切: GPT-SoVITS 的克隆效果高度取決於你提供的 3~10 秒參考音檔。請確保音質乾淨、無背景音樂、無環境噪音,且逐字稿字字對齊,這會直接決定合成語音的表現力。
小結
這一次的接線實驗,讓我們成功打通了 AI VTuber 最關鍵的「音畫同步」機制。雖然受限於本地 GTX 1660 顯示卡的 6GB VRAM,我們暫時無法完美地在本地同時跑起高品質的 GPT-SoVITS 克隆與 Live2D 渲染,但透過靈活的架構設計,我們可以非常輕鬆地將語音後端無縫切換為 edge-tts 作為暫代方案,等待未來將語音生成模組遷移至雲端 GPU 或升級硬體。
這套架構的可擴展性非常高,期待大家也能順利接通屬於自己的 AI 虛擬主播!