日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10)

發布時間:2023/11/30 python 45 coder
生活随笔 收集整理的這篇文章主要介紹了 义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Bert-vits2更新了版本V210,修正了日/英的bert對齊問題,效果進一步優化;對底模使用的數據進行優化和加量,減少finetune失敗以及電音的可能性;日語bert更換了模型,完善了多語言推理。

更多情報請參考Bert-vits2官網:

https://github.com/fishaudio/Bert-VITS2/releases/tag/2.1

最近的事情大家也都曉得了,馬督工義無反顧帶頭沖鋒,身體力行地實踐著橫渠四句:為天地立心,為生民立命,為往圣繼絕學,為萬世開太平。

本次我們基于Bert-vits2的新版本V210,復刻馬督工,向他致敬。

Bert-vits2V210整備數據集

我們知道馬督工的風格是語速極快,也沒啥肢體語言,語調上也基本沒有變化,除了換氣,基本上就像機關槍一樣無限念稿。當然,這也是因為睡前消息內容密度過大導致的,但作為深度學習訓練數據集來說,睡前消息節目的音頻素材顯然是不合格的。

真正好的高質量數據集應該包含以下幾個特征:

音色多樣性:數據集應該包含目標說話人的多個語音樣本,涵蓋他們在不同情感狀態、不同語速和不同音高下的說話。這樣可以捕捉到目標說話人在不同情境下的聲音特征。

音頻質量:確保語音樣本的音頻質量高,沒有明顯的噪聲、失真或其他干擾。音頻質量的好壞直接影響到復刻結果的質量。

多樣的語音內容:語音樣本應該包含不同類型的語音內容,例如單詞、短語、句子和段落。這有助于捕捉到目標說話人在不同語境下的音色特征。

語音平衡:確保數據集中包含目標說話人的樣本數量相對平衡,以避免訓練出偏向某些樣本的模型。

覆蓋不同音高:收集目標說話人在不同音高和音調下的語音樣本。這樣可以更好地捕捉到他們聲音的變化和音高特征。

語音環境:包含不同環境下的語音樣本,例如室內、室外、靜音和嘈雜環境等。這樣可以使復刻的音色更具魯棒性,適應不同的環境條件。

長度和多樣性:語音樣本的長度和多樣性也是需要考慮的因素。收集包含不同長度和語音風格的樣本,以便更好地捕捉到目標說話人的聲音特征。

當然了,完全滿足上述特點基本不太可能,這里選擇馬督工和劉女神的一段采訪視頻:

https://www.bilibili.com/video/BV1sN411M73g/

首先將視頻進行下載,這里使用you-get:

pip install you-get

運行命令:

https://www.bilibili.com/video/BV1sN411M73g/

下載成功后,將馬督工的聲音提取出來。

Bert-vits2V210訓練模型

首先克隆筆者fork自官網的v210項目:

git clone https://github.com/v3ucn/Bert-VITS2_V210.git

將素材放入Data/meimei/raw/meimei目錄中,注意必須是wav文件。

然后更換新的底模,下載地址:

https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model

把Bert-VITS2_2.1-Emo底模放入項目的pretrained_models目錄。

同時單獨把deberta-v2-large-japanese-char-wwm模型放入到項目的bert/deberta-v2-large-japanese-char-wwm目錄中。

由于新增了多維情感模型,所以也需要單獨下載模型:

https://huggingface.co/facebook/wav2vec2-large-robust/tree/main

放入項目的emotional目錄:

E:\work\Bert-VITS2-v21_demo\emotional>tree /f  
Folder PATH listing for volume myssd  
Volume serial number is 7CE3-15AE  
E:.  
└───wav2vec2-large-robust-12-ft-emotion-msp-dim  
        .gitattributes  
        config.json  
        LICENSE  
        preprocessor_config.json  
        pytorch_model.bin  
        README.md  
        vocab.json

運行腳本,切分素材:

python3 audio_slicer.py

隨后進行重采樣和文本識別:

python3 short_audio_transcribe.py

接著進行標注:

python3 preprocess_text.py

和V2.0.2不同的是,V2.1需要生成多維情感模型文件:

python3 emo_gen.py

相對于原版,新版增加了,針對訓練集的spec緩存,可以有效提高訓練效率:

python3 spec_gen.py

最后生成bert模型可讀文件:

python3 bert_gen.py

最后開始訓練:

python3 train_ms.py

Bert-vits2V210模型推理

模型訓練好之后,進入到推理環節,首先修改根目錄的config.yml文件:

bert_gen:  
  config_path: config.json  
  device: cuda  
  num_processes: 2  
  use_multi_device: false  
dataset_path: Data\meimei  
mirror: ''  
openi_token: ''  
preprocess_text:  
  clean: true  
  cleaned_path: filelists/cleaned.list  
  config_path: config.json  
  max_val_total: 8  
  train_path: filelists/train.list  
  transcription_path: filelists/short_character_anno.list  
  val_path: filelists/val.list  
  val_per_spk: 5  
resample:  
  in_dir: raw  
  out_dir: raw  
  sampling_rate: 44100  
server:  
  device: cuda  
  models:  
  - config: ./Data/meimei/config.json  
    device: cuda  
    language: ZH  
    model: ./Data/meimei/models/G_0.pth  
    speakers:  
    - length_scale: 1  
      noise_scale: 0.6  
      noise_scale_w: 0.8  
      sdp_ratio: 0.2  
      speaker: "\u79D1\u6BD4"  
    - length_scale: 0.5  
      noise_scale: 0.7  
      noise_scale_w: 0.8  
      sdp_ratio: 0.3  
      speaker: "\u4E94\u6761\u609F"  
    - length_scale: 1.2  
      noise_scale: 0.6  
      noise_scale_w: 0.8  
      sdp_ratio: 0.2  
      speaker: "\u5B89\u500D\u664B\u4E09"  
  - config: ./Data/meimei/config.json  
    device: cuda  
    language: JP  
    model: ./Data/meimei/models/G_0.pth  
    speakers: []  
  port: 7860  
train_ms:  
  base:  
    model_image: "Bert-VITS2_2.1-Emo底模"  
    repo_id: Stardust_minus/Bert-VITS2  
    use_base_model: false  
  config_path: config.json  
  env:  
    MASTER_ADDR: localhost  
    MASTER_PORT: 10086  
    RANK: 0  
    THE_ENV_VAR_YOU_NEED_TO_USE: '1234567'  
    WORLD_SIZE: 1  
  keep_ckpts: 8  
  model: models  
  num_workers: 16  
  spec_cache: true  
translate:  
  app_key: ''  
  secret_key: ''  
webui:  
  config_path: Data/meimei/config.json  
  debug: false  
  device: cuda  
  language_identification_library: langid  
  model: models/G_150.pth  
  port: 7860  
  share: false

在后面的webui配置中寫入模型文件名:model: models/G_150.pth。

隨后啟動推理腳本:

python3 webui.py

就可以進行推理了:

請注意,推理建議使用官方的基于Gradio版本的推理頁面,而非FastApi的版本。

結語

本項目只是用于Bert-vits2的研究和測試,毫無疑問,想通過30秒的素材就復刻馬督工根本是天方夜譚,但馬督工的精神,是我們每一個人都可以復刻的。

總結

以上是生活随笔為你收集整理的义无反顾马督工,Bert-vits2V210复刻马督工实践(Python3.10)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。