RVC 疑難排解指南
從找出問題根源開始
大多數 RVC 問題在你開始亂調設定時只會變得更糟。比較好的做法是將語音鏈分成三個部分:你的原始麥克風輸入、AI 語音轉換輸出,以及接收聲音的最終應用程式。
這與 w-okada Voice Changer 等即時 RVC 工具所使用的基本疑難排解模式相同:首先要確認麥克風音訊是否乾淨,然後確認轉換後的聲音聽起來是否正確,接著再檢查 Discord、OBS、VRChat、Roblox 或任何正在接收虛擬麥克風的應用程式。
在 Echo 中,先透過耳機使用「監聽/聽見自己的聲音」功能。如果你未經轉換的麥克風聲音就已經聽起來有雜訊、破音、回音或太小聲,請在接觸 RVC 模型前先解決這個問題。如果 Echo 的監聽聲音聽起來不錯,但 Discord 的聲音很糟,那問題可能出在 Discord 的輸入、虛擬音訊線路由,或是目標應用程式中額外的雜訊處理。
如果 RVC 聲音聽起來像機器人或有金屬感
機器人般的 RVC 輸出通常源自四個地方之一:輸入音訊太弱、模型太弱、音高不匹配,或是設定未能提供模型足夠的上下文。Applio 的推論指南也指出了相同的根本原因:改善輸入品質、檢查模型訓練、清理音訊、驗證資料集品質,以及嘗試進階設定。
首先,測試一個不同的語音模型。如果一個模型聽起來有金屬感,而另一個模型在相同麥克風下聽起來很自然,那問題就出在模型上。它可能是訓練不足、過度訓練、用有雜訊的音訊訓練,或者根本不適合你的說話音域。
接下來,將「額外上下文 (Extra Context)」提高一階。額外上下文能提供模型更多周圍的音訊,讓音節在不同區塊之間能流暢地連接。在 Echo 中,預設值是 4096。如果聲音穩定但有金屬感或斷斷續續,試試 8192,然後是 16384。如果聲音變得延遲或不穩定,就退回一階。
如果聲音的身份特徵很強,但在「索引率 (Index Rate)」高的時候雜音變多,那就降低索引率。索引檢索可以改善目標說話者的角色特徵,但當模型、索引檔案和輸入語音不完全匹配時,過多的混合也可能帶入奇怪的雜音。
如果聲音出現爆音、啵啵聲或中斷
爆音通常是效能問題,而不是「聲音不好」的問題。這表示電腦被要求以比它能穩定處理更快的速度來處理音訊,所以音訊流就斷裂成啵啵聲、間斷或破碎的聲音。
將「區塊大小 (Chunk Size)」提高一階。Echo 提供了 2048、3072、4096、6144、8192、10240 和 16384 的選項。較低的區塊大小意味著較少的延遲,但對 GPU 或 CPU 的壓力更大。較高的區塊大小更穩定,但會增加延遲。Echo 的平衡預設值是 6144,而保守的預設檔則會為舊硬體或 CPU 模式設定更高的數值。
測試時關閉大量佔用 GPU 的應用程式。遊戲、螢幕錄影、影片渲染、瀏覽器影片和 AI 工具都可能與 RVC 推論爭搶資源。如果聲音只在遊戲開啟時才出現爆音,你可能需要在玩遊戲時使用更保守的預設檔。
如果你正在使用 CPU 模式,請從保守的設定開始。CPU 模式雖然可行,但它的效能空間遠小於 GPU 加速。先使用較高的區塊大小,等到音訊穩定後再逐步降低。
如果聲音延遲太嚴重
延遲來自多個小型緩衝區的疊加:區塊大小 (Chunk Size)、推論時間、交叉淡化 (Crossfade)、額外上下文 (Extra Context)、虛擬音訊路由以及接收端應用程式。常見的陷阱是一次性地把所有設定都調低,直到聲音出現爆音為止。
從一個穩定的預設檔開始。然後將區塊大小降低一階,並用正常說話方式測試整整一分鐘。如果聲音保持乾淨,再降低一階。如果出現爆音,就調回去。這樣你就能找到適合你硬體的最低穩定設定,而不是隨便猜一個低延遲的數值。
保持合理的交叉淡化和額外上下文設定。交叉淡化能平滑區塊之間的邊界,而額外上下文則幫助模型保持連續性。降低這兩者可以減少處理工作量,但如果調得太低,聲音可能會聽起來斷斷續續、有金屬感或不穩定。
在怪罪 Discord 或 OBS 之前,先直接測試 Echo。如果 Echo 的監聽感覺反應靈敏,但在其他應用程式中聲音有延遲,請檢查該應用程式的輸入裝置、雜訊抑制、監聽和音訊緩衝區設定。
如果音高或性別轉換聽起來不對勁
RVC 改變的是聲音的身份,但音高仍然很重要。如果你的自然聲音比目標模型深沉或高亢很多,即使模型很好,輸出也可能聽起來很假。
使用以半音為單位的「音高變換 (Pitch Shift)」。對於要轉換成較高目標聲音的低沉嗓音,逐步向上調整音高。對於要轉換成較低目標聲音的高亢嗓音,逐步向下調整音高。Echo 的新手教學使用 +8 到 +12 作為低音轉高音的常見起始範圍,-4 到 -10 作為高音轉低音的範圍,但你應該靠耳朵來微調。
使用 RMVPE 作為預設的音高提取器。RVC 生態系普遍認為 RMVPE 是現代可靠的選擇,Echo 也預設使用 RMVPE。如果某個特定模型表現得很奇怪,特別是在處理歌唱風格的素材或不尋常的音高追蹤時,CREPE 仍然值得一試。
不要過度校正。如果 +12 聽起來像卡通人物,試試 +6 或 +8。如果 -10 聽起來很模糊,試試 -4 或 -6。目標不是強迫完美的八度跳躍,而是將你的表現放入目標模型可以自然處理的範圍內。
如果背景雜訊跟著 AI 聲音一起出現
RVC 不會神奇地知道你麥克風裡的哪些部分是「你」,哪些部分是你的風扇、鍵盤、房間回音或喇叭。如果輸入的雜訊夠大聲,模型可能會將它轉換成奇怪的呼吸聲或嗡嗡聲雜音。
先搞定你的房間:戴上耳機、把喇叭移離麥克風、減少風扇噪音、降低鍵盤噪音,並避免在反射很強的房間裡說話。Echo 可以透過神經降噪、高通濾波器、靜音閾值和回音消除來提供幫助,但這些是清理工具,不能取代乾淨的訊號。
小心雙重雜訊抑制。如果 Echo、Discord、OBS 和耳機應用程式都處理同一個聲音,RVC 的輸出可能會變得單薄、被閘控或像泡在水裡。只使用你真正需要的濾鏡,並一次只測試一個變更。
如果一個自訂模型無論你用什麼麥克風都很有雜訊,那雜訊可能已經被「烤」進模型裡了。Applio 的資料集指南對此說得很清楚:乾淨、一致、低雜訊的來源音訊很重要。背景音樂、混響、點擊聲、咳嗽聲和房間噪音,除非在訓練前清理資料集,否則都可能在訓練後存留下來。
如果問題出在模型或索引檔案上
模型檔案問題很無聊,但它們會導致很多假的「品質」問題。Applio 在許多工作流程中使用 `.pth` 和 `.index` 檔案。Echo 在即時使用時使用 `.onnx` 模型,所以 `.pth` 模型通常需要先轉換才能在 Echo 中即時使用。
保持檔案名稱簡單。Applio 的疑難排解文件指出,空格、特殊字元和非標準路徑字元是常見的錯誤來源。對於模型工作來說,無聊的名字就是好名字:簡短、純英文、沒有符號、沒有表情符號、沒有層層嵌套的神秘資料夾。
將索引檔案視為可選的強化功能,而不是魔法。索引率需要一個匹配的索引檔案。如果基礎模型聽起來很糟,索引也救不了它。如果基礎模型聽起來不錯,少量的索引混合有時可以增加角色特徵,但過多也可能增加雜音。
如果你自己訓練了一個模型,但在每個即時應用程式中聽起來都很糟,那就回到資料集。使用像 UVR5 這樣的人聲分離工具,在重新訓練前移除音樂、混響、和聲和雜訊。一個乾淨的模型比一個需要用神級設定來調整的混亂模型更容易調整。
針對 Discord、OBS、VRChat 和遊戲的平台檢查
當 Echo 在你的耳機裡聽起來不錯,但在其他地方聽起來很糟時,停止調整 RVC 並檢查路由。目標應用程式應該使用接收 Echo 處理後輸出的虛擬麥克風或虛擬音訊線,而不是你的實體麥克風。
Discord:選擇 Echo 虛擬麥克風或虛擬音訊線作為「輸入裝置」。然後用 Discord 的麥克風測試來測試。如果聲音被切斷,試著一次關閉一個額外的處理功能,如自動增益控制、回音消除或雜訊抑制。
OBS 和 Streamlabs:將虛擬麥克風新增為麥克風來源。避免重複監聽同一個訊號,因為雙重監聽會產生延遲並可能導致回授。如果你需要在 OBS 中使用濾鏡,先從完全不用開始,然後只加入直播真正需要的。
VRChat、Roblox、Fortnite、Valorant 和其他遊戲:在遊戲的語音設定中選擇相同的虛擬麥克風。如果遊戲有自己的語音啟用閾值,在 RVC 運作正常後再調高或調低它,因為轉換後的聲音觸發閾值的方式可能與你的原始麥克風不同。
一個真正有效的快速修復順序
當你卡關時,使用這個順序:檢查原始麥克風,切換到一個已知良好的語音模型,將音高變換重設到接近 0,使用 RMVPE,使用 Echo 的平衡預設檔,如果出現爆音就提高區塊大小,如果聲音有金屬感就提高額外上下文,如果出現雜音就降低索引率,然後在 Discord 或 OBS 中測試路由。
一次只改一個設定。每次更改後,用正常方式說幾句話。RVC 的問題聽起來可能很相似,所以最快的方法是枯燥且有條理的:一個症狀,一個設定,一次測試。
如果什麼都沒用,在尋求支援前,收集一個簡短的描述:你的 GPU/CPU、模型格式、問題是發生在 Echo 監聽中還是只在另一個應用程式中、區塊大小、額外上下文、交叉淡化、音高變換、音高提取器,以及你是否正在使用索引檔案。這些資訊能將「聽起來很糟」變成別人可以實際除錯的東西。