音克隆一個(gè)能用的聲音)
GPT-SoVITS完整指南用1分鐘語(yǔ)音克隆一個(gè)能用的聲音【免費(fèi)下載鏈接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)項(xiàng)目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITSGPT-SoVITS 是一個(gè)少樣本語(yǔ)音克隆 TTS 項(xiàng)目。它解決的問(wèn)題很具體你手里只有幾分鐘甚至幾秒的某個(gè)人聲音素材但想把這個(gè)聲音變成一個(gè)可以輸入文本、輸出語(yǔ)音的模型。5 秒?yún)⒖家纛l就能零樣本合成1 分鐘音頻可以微調(diào)出專屬音色模型。 先說(shuō)結(jié)論值不值得用值得。它覆蓋了從音頻切片、降噪、ASR 標(biāo)注到模型訓(xùn)練、推理的完整流程全在 WebUI 里點(diǎn)完。零樣本模式下 5 秒音頻即可出語(yǔ)音少樣本模式下 1 分鐘干凈音頻就能訓(xùn)出相似度不錯(cuò)的個(gè)人模型。適合播客作者、獨(dú)立開(kāi)發(fā)者、內(nèi)容創(chuàng)作者。上手成本是幾行 conda 命令加一個(gè)安裝腳本有 NVIDIA 顯卡的話從克隆倉(cāng)庫(kù)到第一次合成成功大約 20 分鐘。 從零到出效果第一次合成走查第1步克隆倉(cāng)庫(kù)并準(zhǔn)備環(huán)境git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS conda create -n GPTSoVits python3.10 conda activate GPTSoVits bash install.sh --device CU128 --source ModelScope --download-uvr5install.sh 一條命令會(huì)裝好 ffmpeg、cmake、對(duì)應(yīng) CUDA 版本的 PyTorch 和全部 Python 依賴并自動(dòng)下載預(yù)訓(xùn)練模型到GPT_SoVITS/pretrained_models、G2PW 中文多音字模型到GPT_SoVITS/text。Windows 用戶把腳本換成install.ps1或者直接下載官方整合包雙擊go-webui.bat就行。第2步啟動(dòng) WebUIpython webui.py瀏覽器打開(kāi)后界面分成數(shù)據(jù)準(zhǔn)備1A、模型訓(xùn)練1B、推理1C等 Tab推理 Tab 會(huì)再開(kāi)一個(gè)獨(dú)立頁(yè)面默認(rèn)端口 9872。第3步零樣本合成第一條語(yǔ)音打開(kāi)1-GPT-SoVITS-TTS/1C-推理頁(yè)面SoVITS 和 GPT 下拉框里直接選預(yù)訓(xùn)練底模無(wú)需訓(xùn)練。上傳一段 5 秒左右的參考音頻填寫(xiě)這段音頻對(duì)應(yīng)的參考文本再輸入你要合成的目標(biāo)文本并選擇文本語(yǔ)言點(diǎn)合成。幾秒鐘后就能得到用參考音色讀出的語(yǔ)音。第4步第一次微調(diào)把訓(xùn)練音頻放進(jìn)一個(gè)目錄在數(shù)據(jù)準(zhǔn)備 Tab 按順序執(zhí)行填音頻路徑 → 切割音頻按音量把長(zhǎng)音頻切成小段→ 降噪可選→ ASR 自動(dòng)轉(zhuǎn)寫(xiě) → 校對(duì)標(biāo)注。標(biāo)注完成后進(jìn)入訓(xùn)練 Tab依次跑 1a 文本分詞與特征提取、1b 語(yǔ)音自監(jiān)督特征提取、1c 語(yǔ)義 Token 提取然后點(diǎn) GPT 訓(xùn)練、SoVITS 訓(xùn)練。訓(xùn)練完的權(quán)重會(huì)出現(xiàn)在下拉框里切到推理頁(yè)面選上它輸入同樣的文本即可對(duì)比微調(diào)前后的效果。? 能力拆解三個(gè)核心功能零樣本合成5秒音頻即可出語(yǔ)音原理是把參考音頻和參考文本作為提示配合預(yù)訓(xùn)練底模直接生成。文本側(cè)有完整的前端做規(guī)范化和音素轉(zhuǎn)換中文多音字由 G2PW 模型處理。效果邊界在參考音頻5 秒音頻能定下音色基調(diào)但語(yǔ)速和情緒會(huì)跟著參考音頻走參考音頻里如果混著 BGM 或回聲合成質(zhì)量會(huì)明顯下降先過(guò)一遍 UVR5 人聲分離和降噪再拿去當(dāng)參考會(huì)穩(wěn)很多。它支持跨語(yǔ)言參考音頻用中文目標(biāo)文本可以寫(xiě)英文、日文、韓文、粵語(yǔ)。少樣本微調(diào)1分鐘數(shù)據(jù)訓(xùn)個(gè)人模型訓(xùn)練分兩段GPTs1負(fù)責(zé)把文本映射成語(yǔ)義 token 序列SoVITSs2負(fù)責(zé)把 token 變成波形后者用的是 BigVGAN 聲碼器。相當(dāng)于 GPT 先學(xué)說(shuō)什么SoVITS 再學(xué)怎么聽(tīng)起來(lái)像這個(gè)人。效果邊界有兩點(diǎn)一是訓(xùn)練集質(zhì)量決定上限官方說(shuō)明里明確 v1/v2/v2Pro 系列對(duì)平均音質(zhì)較低的訓(xùn)練集更寬容v3/v4 則要求更干凈的數(shù)據(jù)二是 v4 原生輸出 48kHz 音頻v3 只有 24kHz聽(tīng)感上 v3 會(huì)更悶。推理速度官方給出的參考數(shù)據(jù)README 里給了 v2 ProPlus 版本的 RTFRTX 4060Ti 上 0.0284090 上 0.0141400 詞約 4 分鐘語(yǔ)音實(shí)際推理耗時(shí) 3.36 秒M4 CPU 上 0.526。換算下來(lái)8GB 級(jí)別的消費(fèi)級(jí)顯卡就能做到邊合成邊聽(tīng)的體驗(yàn)CPU 能跑但明顯慢。 真實(shí)用法一個(gè)做技術(shù)播客的作者每期節(jié)目開(kāi)頭都是他自己的口播。他用 WebUI 的人聲分離把一期節(jié)目里的 BGM 去掉再把 5 分鐘音頻切片、降噪、ASR 自動(dòng)轉(zhuǎn)寫(xiě)校對(duì)掉幾個(gè)識(shí)別錯(cuò)的多音字湊出約 1 分鐘的訓(xùn)練集訓(xùn)了一個(gè)自己的 GPT-SoVITS 模型。之后每期節(jié)目的口播、片尾和社群通知都是模型用他自己的聲音念出來(lái)的語(yǔ)速和情緒通過(guò)換參考音頻來(lái)微調(diào)。一個(gè)獨(dú)立游戲開(kāi)發(fā)者要給 20 個(gè) NPC 寫(xiě)語(yǔ)音預(yù)算里沒(méi)有配音費(fèi)。他先用零樣本模式拿演員朋友手機(jī)錄的 10 秒干聲當(dāng)參考把全部臺(tái)詞過(guò)了一遍篩選掉讀錯(cuò)的段落對(duì)主角這一個(gè)角色他讓對(duì)方在安靜房間補(bǔ)錄了 1 分鐘素材做了微調(diào)主角音色明顯比零樣本更穩(wěn)NPC 們則繼續(xù)用零樣本加不同參考音頻區(qū)分開(kāi)來(lái)。一個(gè)做內(nèi)部工具的后端開(kāi)發(fā)者想讓團(tuán)隊(duì)的客服工單系統(tǒng)支持語(yǔ)音播報(bào)。他沒(méi)有重新造輪子而是直接調(diào)用倉(cāng)庫(kù)里的 api.py 起一個(gè)本地推理服務(wù)工單狀態(tài)變化時(shí)把文本 POST 過(guò)去返回的合成音頻直接推給前端播放參考音頻固定用團(tuán)隊(duì)選定的一個(gè)聲音整個(gè)服務(wù)跑在一臺(tái) 12GB 顯存的服務(wù)器上。?? 踩坑實(shí)錄Q1訓(xùn)練時(shí)顯存不夠報(bào) OOM 怎么辦先把 batch_size 減半。WebUI 的默認(rèn) batch size 是按顯存大小推算的v3/v4 默認(rèn)按 顯存GB/8 給顯存緊張時(shí)手動(dòng)調(diào)小是最直接的。同時(shí)確認(rèn)走的是半精度訓(xùn)練v3/v4 的 SoVITS 訓(xùn)練 epoch 默認(rèn)只有 2最多 16別為了多訓(xùn)一點(diǎn)把參數(shù)往上堆。Q2中文合成時(shí)個(gè)別字讀音奇怪像日語(yǔ)發(fā)音十有八九是 G2PW 模型沒(méi)放對(duì)位置。把它解壓后重命名為G2PWModel放到GPT_SoVITS/text目錄下重啟 WebUI。install.sh 成功跑完的話這一步已經(jīng)幫你做好了手動(dòng)裝環(huán)境的人最容易漏。Q3合成出來(lái)的聲音發(fā)悶或者有金屬音這是版本混用的典型癥狀。v3 原生輸出 24kHz 音頻v4 為了修掉 v3 非整數(shù)倍上采樣導(dǎo)致的金屬音、改成原生 48kHz官方定位 v4 直接替代 v3。推理時(shí)不要混用不同版本的底模和微調(diào)權(quán)重LoRA 權(quán)重加載時(shí)如果對(duì)應(yīng)底模缺失界面會(huì)直接報(bào)底模缺失無(wú)法加載相應(yīng) LoRA 權(quán)重看到這條提示就去GPT_SoVITS/pretrained_models補(bǔ)下載對(duì)應(yīng)版本的底模。Q4服務(wù)器斷網(wǎng)ASR 用不了FunASR 系列模型默認(rèn)在首次使用時(shí)自動(dòng)下載。離線機(jī)器上把 ASR 模型、VAD 模型、標(biāo)點(diǎn)模型預(yù)先下到tools/asr/models目錄模型來(lái)源見(jiàn) README 的預(yù)訓(xùn)練模型一節(jié)需要英語(yǔ)或日語(yǔ)轉(zhuǎn)寫(xiě)的話把 faster-whisper-large-v3 放到同一目錄。UVR5 人聲分離的權(quán)重放tools/uvr5/uvr5_weights。Q5CPU 上能湊合用嗎能跑但要有預(yù)期。官方數(shù)據(jù) M4 CPU 的 RTF 是 0.526合成 4 分鐘語(yǔ)音大約要花 2 分鐘批量干活不現(xiàn)實(shí)。想快就用 GPU或者在 WebUI 里開(kāi)啟 batched 推理它會(huì)自動(dòng)切換到 inference_webui_fast.py長(zhǎng)文本合成速度會(huì)好一截。結(jié)尾現(xiàn)在就可以克隆倉(cāng)庫(kù)、跑一遍 install.sh先拿 5 秒音頻體驗(yàn)零樣本再錄 1 分鐘素材訓(xùn)一個(gè)自己的模型。克隆地址https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS【免費(fèi)下載鏈接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)項(xiàng)目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考