用 SO-VITS-SVC 打造 AI 歌姬,零基礎也能輕鬆上手-數據預處理

更新於 2024/12/24閱讀時間約 11 分鐘



SO-VITS-SVC實戰經驗分享:從零開始打造我的專屬AI歌手




AI唱歌系列之四-數據集預處理與準備訓練





raw-image


前言:

在使用 SO-VITS-SVC 進行聲音模型訓練時,數據集的準備與預處理是至關重要的步驟。本文將詳細介紹如何進行音訊切片、響度匹配、數據預處理以及訓練參數的設置,幫助你高效完成模型訓練,打造專屬的 AI 歌姬。


1.音頻切片

1-1.命名規範

在切片之前,請將待切片的音訊檔案以純數字、字母、底線命名,避免使用特殊符號,確保文件名規範化。


1-2. 使用WeBUI進行智慧音訊切片

  • 開啟 WebUI -小工具/實驗室特性 -智慧音訊切片。
  • 將包含所有待處理音訊檔案(必須為.wav 格式)的資料夾路徑輸入到原始音訊資料夾 內。
  • 點擊載入原始音訊 ,確認音訊被正確識別。
  • 輸入切片後的輸出目錄,選擇對過短音訊的處理方式。
  • 開始處理。


1-3. 注意事項

  • 將音訊切片至 5s - 15s , 稍微長點也無傷大雅(不要超過17秒),實在太長可能會導致訓練中途甚至預處理就爆顯存。
  • 推薦使用以下工具進行輔助切片。
  • 只要調整其中的  Minimum Interval ,一般說話素材通常會保持預設即可,歌唱素材可調整至  100  甚至  50。
  • 切完之後請手動處理過長(大於 15 秒)或過短(小於 4 秒)的音頻,過短的音頻可以多段拼接,而過長的音頻可以手動切分。
  • 如果你使用 Whisper-ppg 聲音編碼器來訓練,所有的切片長度必須小於 30s

2. 響度匹配與重採樣

2-1. 數據集預處理的流程是:

響度匹配 —— 重採樣 —— 產生設定檔 —— 擷取特徵。


2-2. 重採樣至 44100Hz 單聲道:

使用下面的指令(若已經經過響度匹配,請跳過該行看下面的 NOTE):



1.python resample.py


2-3. 響度匹配的重要性:

注意:雖然 So-VITS 專案自帶響度匹配腳本,但該腳本會將音訊配對到 0db, 這 可能會造成音質的受損。最佳的做法是使用專業音訊處理軟體, 如Adobe Audition自行將資料集響度配對處理後再進入預處理流程。如果資料集已經 完成了響度匹配或啟用了響度嵌入,可以在預處理時跳過程式自帶的響度匹配 流程。


2-4. 跳過響度匹配:

可以在執行上述指令時新增 --skip_loudnorm 跳過響度匹配步驟。如:



1.python resample.py --skip_loudnorm


2-5. 上述所有流程在 WebUI 中均可一键完成:

  1. 將上一步驟切片完成的數據集資料夾放置到整合包根目錄下dataset_raw資料夾內。
請注意檔案結構:dataset_raw/speaker_name/*.wav。
  1. 在 WebUI 訓練標籤中,點選識別數據集,確認數據集被正確識別。
  2. 根據說明自行選擇訓練使用的編碼器和 f0 預測器。
  3. 如要訓練擴散模型或啟用響度嵌入,請自行勾選。
勾選訓練擴散後將會擷取擴散模型所需的特徵文件,會佔用更多硬碟空間。有關擴散模型的詳細說明,請參考训练参数详解.。
啟用響度嵌入需要選擇 Vec768L12 編碼器,其它編碼器沒有響度嵌入的底模。


  1. 點選數據預處理:
資料預處理的輸出資訊中可能存在報錯資訊。如果出現報錯,則代表資料預處理未完 成。你可以參考常見報錯和解決方案自行排障。


數據預處理可以多進程執行,但會顯著佔用顯存和内存。建議 6G 以下顯存不要 開啟多線程。12G 以下顯存不要將線程數設置為 2 以上。
同一個數據集只需要預處理一次,往後繼續訓練不需要也不可以重新預處理!



提供一個好用的響度匹配工具:



2-6. 自動劃分訓練集、驗證集,以及自動產生設定檔

使用下面的指令(若需要響度嵌入,請跳過該行看下面的使用響度嵌入):



1.python preprocess_flist_config.py --speech_encoder vec768l12



編碼器詳解:

raw-image


speech_encoder :

擁有以下七個選擇,具體講解請看2.2.1必須項及各編碼器的詳解。如果省略 speech_encoder 參數,預設值為 vec768l12。

1.vec768l12
2.vec256l9
3.hubertsoft
4.whisper-ppg
5.whisper-ppg-large
6.cnhubertlarge
7.dphubert
8.


更多的編碼器選項,請參考 訓練參數詳解 - 關於特徵編碼器。


音色洩漏指的是輸出的音色向底模/推理輸入源的原始音色接近,模型說話者越多, 音色洩漏越嚴重。考慮到大多數人都希望盡可能還原目標說話者的音色,因此音色洩露 被認為是一種不受歡迎的結果。



2-7. 使用響度嵌入

  • 使用響度嵌入後訓練出的模型將匹配到輸入源響度,否則為訓練集響度。 (可簡單理解為訓練後模型的音量會與資料集匹配,否則會與底模匹配)。
  • 若使用響度嵌入,需要增加 --vol_aug 參數,例如:


1.python preprocess_flist_config.py --speech_encoder vec768l12 --vol_aug




3. 設定檔依需求修改


config.json


3-1. 基本參數:

  • vocoder_name : 選擇一種聲碼器,預設為 nsf-hifigan。
  • log_interval :多少步輸出一次日誌,預設為  200。
  • eval_interval :多少步進行一次驗證並保存一次模型,預設為  800。
  • epochs :訓練總輪數,預設為  10000 ,達到此輪數後將自動停止訓練。
  • learning_rate :學習率,建議保持預設值不要改。
  • batch_size :單次訓練載入到 GPU 的資料量,調整到低於顯存容量的大小即可(單位:個,即資料集中的wav個數)。
  • all_in_mem :將所有資料集載入到記憶體中,某些平台的硬碟 IO 過於低、同時記憶體容量  遠大於  資料集體積時可啟用。
  • keep_ckpts :訓練時保留最後幾個模型, 0 為保留所有,預設只保留最後 3 個。


聲碼器列表:

1.nsf-hifigan
2.nsf-snake-hifigan
3.


diffusion.yaml


3-2. 擴散模型參數:

  • cache_all_data :載入所有數據集到記憶體中,某些平台的硬碟 IO 過於低、同時記憶體容量  遠大於  數據集體積時可以啟用(註:至少還得預留1-2G記憶體給作業系統)。
  • duration :訓練時音訊切片時長,可依顯存大小調整, 注意,此值必須小於數據集內音訊的最短時間!
  • batch_size :單次訓練載入到 GPU 的資料量,調整到低於顯存容量的大小即可(單位:個,即資料集中的wav個數)。
  • timesteps  : 擴散模式總步數,預設為 1000。完整的高斯擴散共 1000 步。
  • k_step_max  : 訓練時可僅訓練  k_step_max  步擴散以節約訓練時間,注意,該值必須小於 timesteps ,0 為訓練整個擴散模型, 注意,如果不訓練整個擴散模型將無法使用僅擴散模型推理!


注意事項:

  • 請嚴格區分輪數 (Epoch) 和步數 (Step):1 個 Epoch 代表訓練集中的所有樣本都參與了 一次學習,1 Step 代表進行了一步學習,由於 batch size 的存在,每步學習可以含有數 條樣本,因此,Epoch 和 Step 的換算如下:
raw-image


  • 訓練預設 10000 輪後結束,但正常訓練通常只需要數百輪即可有較好的效果。當你覺得 訓練差不多完成了,可以在訓練終端按 Ctrl + C 中斷訓練。中斷後只要沒有重新預處理 訓練集,就可以在 WebUI 中繼續上一次儲存的訓練進度。



4. F0 預測器選擇與最佳實踐


生成 hubert 與 f0


4-1. 使用下面的指令(若需要訓練淺擴散,請跳過該行看下面的淺擴散):

1.# 下面的命令使用了rmvpe作为f0预测器,你可以手动进行修改
2.python preprocess_hubert_f0.py --f0_predictor rmvpe


f0_predictor


4-2. 擁有六個選擇,部分 f0 預測器需要額外下載預處理模型,請參考2.2.3-可選項-根據情況選擇

1.crepe
2.dio
3.pm
4.harvest
5.rmvpe(推荐!)
6.fcpe
7.


4-3. 各 f0 預測器的優缺點:

raw-image


4-4. 注意:

  1. 如果訓練集過於吵雜,請使用 crepe 處理 f0。
  2. 如果省略 f0_predictor 參數,預設值為 rmvpe。


若需要淺擴散功能(可選):


4-5. 需要增加--use_diff 參數,例如:

1.# 下面的命令使用了rmvpe作为f0预测器,你可以手动进行修改
2.python preprocess_hubert_f0.py --f0_predictor rmvpe --use_diff


執行完以上步驟後產生的 dataset 目錄便是預處理完成的數據,此時你可以按需刪除 dataset_raw 資料夾了。



最佳實踐

如果你是初次接觸,面對眼花撩亂的可選項,不知道該如何設定預處理參數,這裡為你 提供了一些不同使用場景下的最佳實踐:

4-6. 用於翻唱(非即時轉換):

raw-image


4-7. 用於朗讀 / 說話(非即時轉換):

raw-image



結語:

完成數據集的準備與預處理是 SO-VITS-SVC 訓練的關鍵步驟。通過規範的音訊切片、響度匹配與參數設置,你可以顯著提升模型的訓練效果。希望本文能幫助你順利完成專屬 AI 歌姬的打造!如果遇到問題,請參考官方文檔或社群資源進行排障。


























avatar-img
3會員
4內容數
Hello~ 歡迎來到Soul in the system。我主要研究心理學,但對於AI很有興趣,這裡目前主要是分享關於AI的各種知識,將來希望能分享心理學。 心理學跟AI是可以連結的,歡迎同好~
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Violet的沙龍 的其他內容
本文分享瞭如何從零開始打造專屬AI歌手的實戰經驗,特別針對數據集的錄製和準備過程。將討論錄製數據集的基本要求、數據處理流程,包括伴奏分離、去除和聲、去混響等步驟。文章提供了具體的操作建議,幫助讀者有效準備高質量的數據集,為訓練聲音模型鋪路。
本篇文章分享瞭如何從零開始使用SO-VITS-SVC構建專屬AI歌手的實戰經驗。重點介紹了數據集的準備和環境的部署,包括硬體需求、Python環境設置及模型訓練的注意事項。作者還分享了雲端訓練和本地訓練的對比,並提醒讀者規範使用資料集避免侵權問題。透過這篇文章,您將獲得構建AI音樂模型的指引和技巧。
本文分享瞭如何從零開始打造專屬AI歌手的實戰經驗,特別針對數據集的錄製和準備過程。將討論錄製數據集的基本要求、數據處理流程,包括伴奏分離、去除和聲、去混響等步驟。文章提供了具體的操作建議,幫助讀者有效準備高質量的數據集,為訓練聲音模型鋪路。
本篇文章分享瞭如何從零開始使用SO-VITS-SVC構建專屬AI歌手的實戰經驗。重點介紹了數據集的準備和環境的部署,包括硬體需求、Python環境設置及模型訓練的注意事項。作者還分享了雲端訓練和本地訓練的對比,並提醒讀者規範使用資料集避免侵權問題。透過這篇文章,您將獲得構建AI音樂模型的指引和技巧。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
Free Online AI Vocal Remover & Isolator 是一個線上音訊分離工具,運用 AI 技術精準辨識人聲和樂器並自動消除噪音,輸出高品質清晰音訊。上傳音樂或影片即可獲得人聲和伴奏音樂,支援抓取社群影音檔案,提交連結可以免費下載高品質MP3。
Thumbnail
本文介紹了AI助手在數據收集和訓練過程中的工作原理和不斷進步的過程。關注的內容包括從公開的網絡資源、書籍、文章等渠道收集數據,數據的清洗和結構化處理,知識庫的增量更新以及訓練算法和模型的優化。如果大家對AI助手的發展還有任何其他感興趣的話題或建議,歡迎隨時告訴我們,讓我們共同探索,攜手進步。
Thumbnail
使用AI寫歌確實是一個新興的創作方法。 以下是使用AI寫歌的基本步驟和所需能力: 步驟: 1. 選擇AI工具:挑選適合的AI歌曲創作工具或平台。 2. 輸入初始參數:設定風格、情感、主題等基本參數。 3. 生成初稿:讓AI生成歌曲的初始版本,包括旋律和歌詞。 4. 審核和編輯:檢查AI生
Thumbnail
今天我要跟大家聊聊 GPT-SoVITS 的用途及其功能。 這個開源的聲音克隆專案,融合了業內頂尖的語音合成工具——GPT (Generative Pre-trained Transformer)模型,和SoVITS(Speech-to-Video Voice Transformation Sys
Thumbnail
「人工智障計畫」也執行了好一段時間了,關於這個專案中文字轉語音的方案,在之前的筆記中也有稍微提到,為了達成能自訂聲線,並且能完全離線運作兩個條件,我已經做過了不少嘗試。
Thumbnail
筆記-曲博談AI模型.群聯-24.05.05 https://www.youtube.com/watch?v=JHE88hwx4b0&t=2034s *大型語言模型 三個步驟: 1.預訓練,訓練一次要用幾萬顆處理器、訓練時間要1個月,ChatGPT訓練一次的成本為1000萬美金。 2.微調(
Thumbnail
使用人工智慧生成模型可以創作各種媒體內容,MusicGen Web 是一個基於瀏覽器的免費 AI 音樂生成工具,訪問網頁,輸入文字描述即可創作獨特的音樂,包括流行、爵士、電子、古典等多種風格。
Thumbnail
Suno AI 是一款基於人工智能的音樂生成工具,使用深度學習技術訓練出的人工神經網絡模型,能讓任何人免費使用文字描述生成對應的音樂作品。本文介紹了Suno AI的特點、用法、影響和用途,並展望了人工智能在音樂創作中的潛在作用。
Thumbnail
這篇文章整理了多種好用的AI工具,涵蓋了聲音與音樂相關的AI、影音、圖像生成編輯工具和AI搜尋引擎等領域,幫助你節省時間和解放創意與生產力。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
Free Online AI Vocal Remover & Isolator 是一個線上音訊分離工具,運用 AI 技術精準辨識人聲和樂器並自動消除噪音,輸出高品質清晰音訊。上傳音樂或影片即可獲得人聲和伴奏音樂,支援抓取社群影音檔案,提交連結可以免費下載高品質MP3。
Thumbnail
本文介紹了AI助手在數據收集和訓練過程中的工作原理和不斷進步的過程。關注的內容包括從公開的網絡資源、書籍、文章等渠道收集數據,數據的清洗和結構化處理,知識庫的增量更新以及訓練算法和模型的優化。如果大家對AI助手的發展還有任何其他感興趣的話題或建議,歡迎隨時告訴我們,讓我們共同探索,攜手進步。
Thumbnail
使用AI寫歌確實是一個新興的創作方法。 以下是使用AI寫歌的基本步驟和所需能力: 步驟: 1. 選擇AI工具:挑選適合的AI歌曲創作工具或平台。 2. 輸入初始參數:設定風格、情感、主題等基本參數。 3. 生成初稿:讓AI生成歌曲的初始版本,包括旋律和歌詞。 4. 審核和編輯:檢查AI生
Thumbnail
今天我要跟大家聊聊 GPT-SoVITS 的用途及其功能。 這個開源的聲音克隆專案,融合了業內頂尖的語音合成工具——GPT (Generative Pre-trained Transformer)模型,和SoVITS(Speech-to-Video Voice Transformation Sys
Thumbnail
「人工智障計畫」也執行了好一段時間了,關於這個專案中文字轉語音的方案,在之前的筆記中也有稍微提到,為了達成能自訂聲線,並且能完全離線運作兩個條件,我已經做過了不少嘗試。
Thumbnail
筆記-曲博談AI模型.群聯-24.05.05 https://www.youtube.com/watch?v=JHE88hwx4b0&t=2034s *大型語言模型 三個步驟: 1.預訓練,訓練一次要用幾萬顆處理器、訓練時間要1個月,ChatGPT訓練一次的成本為1000萬美金。 2.微調(
Thumbnail
使用人工智慧生成模型可以創作各種媒體內容,MusicGen Web 是一個基於瀏覽器的免費 AI 音樂生成工具,訪問網頁,輸入文字描述即可創作獨特的音樂,包括流行、爵士、電子、古典等多種風格。
Thumbnail
Suno AI 是一款基於人工智能的音樂生成工具,使用深度學習技術訓練出的人工神經網絡模型,能讓任何人免費使用文字描述生成對應的音樂作品。本文介紹了Suno AI的特點、用法、影響和用途,並展望了人工智能在音樂創作中的潛在作用。
Thumbnail
這篇文章整理了多種好用的AI工具,涵蓋了聲音與音樂相關的AI、影音、圖像生成編輯工具和AI搜尋引擎等領域,幫助你節省時間和解放創意與生產力。
Thumbnail
要如何做到無須任何額外訓練樣本就能做到"跨語言"的語音生成,這聽起來很不可思議對吧? 但這就是本篇論文取得的成就,不僅如此,該有的功能,如調整情感,口音節奏,停頓語調這些功能也不在話下。跟著我一起用探秘還有獨立思考的眼光來分析這篇論文,這會是很有趣的旅程。