英語 | 簡體中文 | 日本語
目前發布的機型支援零鏡頭語音轉換嗎? 、零鏡頭即時語音轉換、零鏡頭歌聲轉換。
要查找演示清單以及與先前的語音轉換模型的比較,請訪問我們的演示頁面
我們正在不斷提高模型品質並添加更多功能。
我們對Seed-VC的語音轉換能力進行了一系列客觀的評估。為了便於再現,來源音訊是來自 LibriTTS-test-clean 的 100 個隨機話語,參考音訊是 12 個隨機挑選的具有獨特特徵的野外聲音。
來源音訊可以在./examples/libritts-test-clean
下找到
參考音訊可以在./examples/reference
下找到
我們根據說話者嵌入餘弦相似度(SECS)、單字錯誤率(WER) 和字元錯誤率(CER) 來評估轉換結果,並將我們的結果與兩個強大的開源基線(即OpenVoice 和CosyVoice)進行比較。
下表中的結果表明,我們的 Seed-VC 模型在清晰度和說話者相似度方面均顯著優於基線模型。
模型指標 | SECS↑ | 錯誤↓ | 核證減排量↓ | 訊號↑ | 比克↑ | 超視距↑ |
---|---|---|---|---|---|---|
地面真相 | 1.0000 | 8.02 | 1.57 | 〜 | 〜 | 〜 |
開放語音 | 0.7547 | 15.46 | 4.73 | 3.56 | 4.02 | 3.27 |
舒適之聲 | 0.8440 | 18.98 | 7.29 | 3.51 | 4.02 | 3.21 |
種子-VC(我們的) | 0.8676 | 11.99 | 2.92 | 3.42 | 3.97 | 3.11 |
我們還與多個揚聲器的非零樣本語音轉換模型進行了比較(基於模型可用性):
人物 | 模型指標 | SECS↑ | 錯誤↓ | 核證減排量↓ | 訊號↑ | 比克↑ | 超視距↑ |
---|---|---|---|---|---|---|---|
〜 | 地面真相 | 1.0000 | 6.43 | 1.00 | 〜 | 〜 | 〜 |
東海定王 | 索-VITS-4.0 | 0.8637 | 21.46 | 9.63 | 3.06 | 3.66 | 2.68 |
種子-VC(我們的) | 0.8899 | 15.32 | 4.66 | 3.12 | 3.71 | 2.72 | |
乳綠色 | 索-VITS-4.0 | 0.6850 | 48.43 | 32.50 | 3.34 | 3.51 | 2.82 |
種子-VC(我們的) | 0.8072 | 7.26 | 1.32 | 3.48 | 4.07 | 3.20 | |
馬蒂坎唐華瑟 | 索-VITS-4.0 | 0.8594 | 16.25 | 8.64 | 3.25 | 3.71 | 2.84 |
種子-VC(我們的) | 0.8768 | 12.62 | 5.86 | 3.18 | 3.83 | 2.85 |
結果表明,儘管沒有對目標說話者進行訓練,Seed-VC 仍能夠取得比非零樣本模型更好的結果。然而,根據 SoVITS 模型品質的不同,這可能會有很大差異。如果您發現此比較不公平或不準確,歡迎 PR 或 Issue。
(Tokai Teio 模型來自 zomehwh/sovits-tannhauser)
(Matikane Tannhuaser 模型來自 zomehwh/sovits-tannhauser)
(乳綠色模型來自 sparanoid/milky-green-sovits-4)
由 facebook/hubert-large-ls960-ft 模型計算的英語 ASR 結果
由 resemblyzer 模型計算的說話人嵌入
您可以透過執行eval.py
腳本來重現評估。
蟒蛇評估.py --source ./examples/libritts-test-clean --目標 ./examples/reference --輸出 ./examples/eval/converted --擴散步驟 25 --長度調整1.0 --inference-cfg-rate 0.7 --xvector-extractor "resemblyzer"--baseline "" # 填入 openvoice 或 cosyvoice 來計算基線結果 --max-samples 100 # 要經過的最大來源話語
在此之前,如果您想執行基線評估,請確保在../OpenVoice/
和../CosyVoice/
上正確安裝了 openvoice 和 cosyvoice 儲存庫。
在 M4Singer 資料集上進行了額外的歌聲轉換評估,其中有 4 個目標說話者,其音訊資料可在此處取得。
說話者相似度是透過平均轉換結果與各個字元資料集中所有可用樣本之間的餘弦相似度來計算的。
對於每個字符,選擇一個隨機話語作為零樣本推理的提示。為了進行比較,我們為每個角色訓練了各自的 RVCv2-f0-48k 模型作為基準。
每種歌手類型的 100 個隨機話語用作來源音訊。
模型指標 | F0校正↑ | F0RMSE↓ | SECS↑ | 核證減排量↓ | 訊號↑ | 比克↑ | 超視距↑ |
---|---|---|---|---|---|---|---|
右室病毒v2 | 0.9404 | 30.43 | 0.7264 | 28.46 | 3.41 | 4.05 | 3.12 |
種子-VC(我們的) | 0.9375 | 33.35 | 0.7405 | 19.70 | 3.39 | 3.96 | 3.06 |
來源歌手類型 | 人物 | 模型指標 | F0校正↑ | F0RMSE↓ | SECS↑ | 核證減排量↓ | 訊號↑ | 比克↑ | 超視距↑ |
---|---|---|---|---|---|---|---|---|---|
阿爾托(女) | 〜 | 地面真相 | 1.0000 | 0.00 | 〜 | 8.16 | 〜 | 〜 | 〜 |
東(女) | 右室病毒v2 | 0.9617 | 33.03 | 0.7352 | 24.70 | 3.36 | 4.07 | 3.07 | |
種子-VC(我們的) | 0.9658 | 31.64 | 0.7341 | 15.23 | 3.37 | 4.02 | 3.07 | ||
戴安娜(女) | 右室病毒v2 | 0.9626 | 32.56 | 0.7212 | 19.67 | 3.45 | 4.08 | 3.17 | |
種子-VC(我們的) | 0.9648 | 31.94 | 0.7457 | 16.81 | 3.49 | 3.99 | 3.15 | ||
丁震(男) | 右室病毒v2 | 0.9013 | 26.72 | 0.7221 | 18.53 | 3.37 | 4.03 | 3.06 | |
種子-VC(我們的) | 0.9356 | 21.87 | 0.7513 | 15.63 | 3.44 | 3.94 | 3.09 | ||
科比·布萊恩(男) | 右室病毒v2 | 0.9215 | 23.90 | 0.7495 | 37.23 | 3.49 | 4.06 | 3.21 | |
種子-VC(我們的) | 0.9248 | 23.40 | 0.7602 | 26.98 | 3.43 | 4.02 | 3.13 | ||
貝斯 (男) | 〜 | 地面真相 | 1.0000 | 0.00 | 〜 | 8.62 | 〜 | 〜 | 〜 |
東 | 右室病毒v2 | 0.9288 | 32.62 | 0.7148 | 24.88 | 3.45 | 4.10 | 3.18 | |
種子-VC(我們的) | 0.9383 | 31.57 | 0.6960 | 10.31 | 3.45 | 4.03 | 3.15 | ||
戴安娜 | 右室病毒v2 | 0.9403 | 30:00 | 0.7010 | 14.54 | 3.53 | 4.15 | 3.27 | |
種子-VC(我們的) | 0.9428 | 30.06 | 0.7299 | 9.66 | 3.53 | 4.11 | 3.25 | ||
丁震 | 右室病毒v2 | 0.9061 | 19.53 | 0.6922 | 25.99 | 3.36 | 4.09 | 3.08 | |
種子-VC(我們的) | 0.9169 | 18.15 | 0.7260 | 14.13 | 3.38 | 3.98 | 3.07 | ||
科比·布萊恩特 | 右室病毒v2 | 0.9302 | 16.37 | 0.7717 | 41.04 | 3.51 | 4.13 | 3.25 | |
種子-VC(我們的) | 0.9176 | 17.93 | 0.7798 | 24.23 | 3.42 | 4.08 | 3.17 | ||
女高音(女) | 〜 | 地面真相 | 1.0000 | 0.00 | 〜 | 27.92 | 〜 | 〜 | 〜 |
東 | 右室病毒v2 | 0.9742 | 47.80 | 0.7104 | 38.70 | 3.14 | 3.85 | 2.83 | |
種子-VC(我們的) | 0.9521 | 64.00 | 0.7177 | 33.10 | 3.15 | 3.86 | 2.81 | ||
戴安娜 | 右室病毒v2 | 0.9754 | 46.59 | 0.7319 | 32.36 | 3.14 | 3.85 | 2.83 | |
種子-VC(我們的) | 0.9573 | 59.70 | 0.7317 | 30.57 | 3.11 | 3.78 | 2.74 | ||
丁震 | 右室病毒v2 | 0.9543 | 31.45 | 0.6792 | 40.80 | 3.41 | 4.08 | 3.14 | |
種子-VC(我們的) | 0.9486 | 33.37 | 0.6979 | 34.45 | 3.41 | 3.97 | 3.10 | ||
科比·布萊恩特 | 右室病毒v2 | 0.9691 | 25.50 | 0.6276 | 61.59 | 3.43 | 4.04 | 3.15 | |
種子-VC(我們的) | 0.9496 | 32.76 | 0.6683 | 39.82 | 3.32 | 3.98 | 3.04 | ||
男高音 | 〜 | 地面真相 | 1.0000 | 0.00 | 〜 | 5.94 | 〜 | 〜 | 〜 |
東 | 右室病毒v2 | 0.9333 | 42.09 | 0.7832 | 16.66 | 3.46 | 4.07 | 3.18 | |
種子-VC(我們的) | 0.9162 | 48.06 | 0.7697 | 8.48 | 3.38 | 3.89 | 3.01 | ||
戴安娜 | 右室病毒v2 | 0.9467 | 36.65 | 0.7729 | 15.28 | 3.53 | 4.08 | 3.24 | |
種子-VC(我們的) | 0.9360 | 41.49 | 0.7920 | 8.55 | 3.49 | 3.93 | 3.13 | ||
丁震 | 右室病毒v2 | 0.9197 | 22.82 | 0.7591 | 12.92 | 3.40 | 4.02 | 3.09 | |
種子-VC(我們的) | 0.9247 | 22.77 | 0.7721 | 13.95 | 3.45 | 3.82 | 3.05 | ||
科比·布萊恩特 | 右室病毒v2 | 0.9415 | 19.33 | 0.7507 | 30.52 | 3.48 | 4.02 | 3.19 | |
種子-VC(我們的) | 0.9082 | 24.86 | 0.7764 | 13.35 | 3.39 | 3.93 | 3.07 |
儘管Seed-VC 沒有針對目標說話者進行訓練,並且僅使用一種隨機話語作為提示,但它在說話人相似度(SECS) 和可懂度(CER) 方面仍然不斷優於特定說話人的RVCv2 模型,這展示了優越的語音Seed-VC 的克隆能力和穩健性。
然而,據觀察,Seed-VC 的音訊品質 (DNSMOS) 略低於 RVCv2。我們認真對待這項缺點,並將在未來高度重視提高音訊品質。
如果您發現此比較不公平或不準確,歡迎 PR 或問題。
SenseVoiceSmall 計算的中文 ASR 結果
由 resemblyzer 模型計算的說話人嵌入
我們為男到女轉換設定+12半音音調,為女到男轉換設定-12半音,否則0音調轉換
建議在 Windows 或 Linux 上使用 python 3.10。
pip install -r 要求.txt
首次執行推理時,將自動下載最新模型版本的檢查點。
命令列推理:
python inference.py --source <source-wav>--target <referene-wav>--output <output-dir>--diffusion-steps 25 # 歌聲轉換推薦50~100--length-adjust 1.0 --inference-cfg-rate 0.7 --f0-condition False # 設定為 True 進行歌聲轉換 --auto-f0-adjust False # 設定為 True 自動將源音高調整為目標音高,通常不用於歌聲轉換 --semi-tone-shift 0 # 半音音調轉換用於歌聲轉換
在哪裡:
source
是要轉換為參考語音的語音檔案的路徑
target
是作為語音參考的語音檔案的路徑
output
是輸出目錄的路徑
diffusion-steps
是要使用的擴散步數,預設為 25,使用 50-100 可獲得最佳質量,使用 4-10 可獲得最快推理
length-adjust
為長度調整因子,預設為1.0,設定<1.0為加速語音,>1.0為減速語音
inference-cfg-rate
輸出有細微的差別,預設為 0.7
f0-condition
是用來將輸出音高調整為來源音訊音高的標誌,預設為 False,設定為 True 進行歌聲轉換
auto-f0-adjust
是自動調整來源音高到目標音高的標誌,預設為False,通常不用於歌聲轉換
semi-tone-shift
是用於歌聲轉換的半音音高變化,預設為 0
漸層網頁介面:
蟒蛇應用程式.py
然後開啟瀏覽器並造訪http://localhost:7860/
以使用 Web 介面。
即時語音轉換GUI:
python 實時 gui.py
重要提示:強烈建議使用 GPU 進行即時語音轉換。
我們在 NVIDIA RTX 3060 筆記型電腦 GPU 上進行了一些效能測試,結果和建議的參數設定如下:
評論 | 擴散步驟 | 推理 CFG 比率 | 最大提示長度 | 出塊時間(秒) | 交叉淡入淡出長度 | 額外上下文(左)(s) | 額外上下文(右)(s) | 延遲(毫秒) | 品質 | 每個區塊的推理時間(毫秒) |
---|---|---|---|---|---|---|---|---|---|---|
適合大多數聲音 | 10 | 0.7 | 3.0 | 1.0秒 | 0.04秒 | 0.5秒 | 0.02秒 | 2070毫秒 | 中等的 | 849毫秒 |
高音女聲的較佳表現 | 20 | 0.7 | 3.0 | 2.0秒 | 0.04秒 | 0.5秒 | 0.02秒 | 4070毫秒 | 高的 | 1585毫秒 |
適合一些男聲,音質要求較低 | 5 | 0.7 | 3.0 | 0.6秒 | 0.04秒 | 0.5秒 | 0.02秒 | 1270毫秒 | 低的 | 488毫秒 |
透過將 inference_cfg_rate 設定為 0.0 來加快推理速度,但不確定效能是否會下降... | 10 | 0.0 | 3.0 | 0.7秒 | 0.04秒 | 0.5秒 | 0.02秒 | 1470毫秒 | 中等的 | 555毫秒 |
您可以根據自己的裝置效能調整GUI中的參數,只要Inference Time小於Block Time,語音轉換串流就應該可以正常運作。
請注意,如果您正在執行其他 GPU 密集型任務(例如遊戲、觀看影片),推理速度可能會下降
一般來說,延遲約為 1~2 秒,以防止質量下降(擴散模型的可悲本質...?),但我們一直在尋找減少延遲的方法。
(GUI和音訊分塊邏輯是從RVC修改的,感謝他們出色的實現!)
發布程式碼
發布 v0.1 預訓練模型:
Huggingface空間示範:
HTML 演示頁面(也許與其他 VC 模型進行比較):演示
流式推理
減少流推理延遲
即時語音轉換的演示視頻
歌聲轉換
源和參考音頻的抗噪能力
源音頻具有抗噪能力
潛在的架構改進
U-ViT 風格的跳過連接
更改了 OpenAI Whisper 的輸入
自訂資料訓練程式碼
從NVIDIA改為BigVGAN進行歌聲解碼
用於歌聲轉換的 Whisper 版本模型
與RVC/SoVITS對歌聲轉換的客觀評估與比較
提高音訊品質
更多待補充
2024年10月28日:
更新微調44k歌聲轉換模型,音質更好
2024年10月27日:
新增即時語音轉換GUI
2024年10月25日:
增加了詳盡的評估結果以及與 RVCv2 歌聲轉換的比較
2024年10月24日:
更新44kHz歌聲轉換模型,以OpenAI Whisper作為語音內容輸入
2024年10月7日:
更新了 v0.3 預訓練模型,將語音內容編碼器變更為 OpenAI Whisper
增加了v0.3預訓練模型的客觀評估結果
2024年9月22日:
更新歌聲轉換模型,使用 NVIDIA 的 BigVGAN,對高音歌聲有很大的改善
支援 Web UI 中長音訊檔案的分塊和串流輸出
2024年9月18日:
更新了用於歌聲轉換的 f0 條件模型
2024年9月14日:
更新了 v0.2 預訓練模型,具有更小的尺寸和更少的擴散步驟來實現相同的質量,並具有額外的控制韻律保存的能力
新增了命令列推理腳本
新增安裝和使用說明