paint-brush
Cách sao chép giọng nói với SoftVC VITS và Bert-VITS2: Tìm hiểu sâutừ tác giả@techshinobi
970 lượt đọc
970 lượt đọc

Cách sao chép giọng nói với SoftVC VITS và Bert-VITS2: Tìm hiểu sâu

từ tác giả Tech Shinobi12m2024/03/06
Read on Terminal Reader

dài quá đọc không nổi

Ở bài viết trước mình đã thử qua một chút về TTS Generation WebUI và thấy nó rất thú vị. Vì vậy, tôi quyết định đào tạo một mô hình có thể sử dụng được bằng chính giọng nói của mình. Dự án nhân bản giọng nói này khám phá cả SVC để thay đổi giọng nói và VITS để chuyển văn bản thành giọng nói. Không có một công cụ nào có thể thực hiện được mọi công việc. Tôi đã thử nghiệm một số công cụ cho dự án này. Nhiều hướng dẫn hay như thế này, thế này và thế này đều bằng tiếng Trung Quốc. Vì vậy, tôi nghĩ sẽ rất hữu ích nếu đăng những ghi chú của mình bằng tiếng Anh.
featured image - Cách sao chép giọng nói với SoftVC VITS và Bert-VITS2: Tìm hiểu sâu
Tech Shinobi HackerNoon profile picture
0-item

Mục lục

  • Đi sâu vào nhân bản giọng nói với SoftVC VITS và Bert-VITS2
    • Chuẩn bị tập dữ liệu
      • Trích từ một bài hát
        • Quy trình làm việc UVR
      • Chuẩn bị thu âm giọng hát
        • Thiết bị âm thanh của Cheapskate
        • Quy trình làm việc của Audacity
      • máy cắt âm thanh
        • Làm sạch tập dữ liệu
        • Độ ồn của trận đấu
    • so-vits-svc
      • Thiết lập môi trường
      • Khởi tạo
        • Tải xuống các mô hình được đào tạo trước
        • Chuẩn bị tập dữ liệu
        • Chỉnh sửa cấu hình
      • Đào tạo
      • Sự suy luận
      • Chỉnh sửa âm thanh
    • so-vits-svc-fork
      • Cài đặt
      • Sự chuẩn bị
      • Đào tạo
      • Sự suy luận
    • DDSP-SVC
      • Sự chuẩn bị
      • Đào tạo
      • Sự suy luận
    • Bert-vits2-V2.3
      • Khởi tạo
      • Sự chuẩn bị
        • Phiên mã
      • Đào tạo và suy luận
    • vits-đơn giản-api
      • Tinh chỉnh
      • Chia sẻ mô hình


bài viết trước mình đã thử qua một chút về TTS Generation WebUI và thấy nó rất thú vị. Vì vậy, tôi quyết định đào tạo một mô hình có thể sử dụng được bằng chính giọng nói của mình.


Dự án nhân bản giọng nói này khám phá cả SVC để thay đổi giọng nói và VITS để chuyển văn bản thành giọng nói. Không có một công cụ nào có thể thực hiện được mọi công việc.


Tôi đã thử nghiệm một số công cụ cho dự án này. Nhiều hướng dẫn hay như thế này , thế nàythế này đều bằng tiếng Trung Quốc. Vì vậy, tôi nghĩ sẽ rất hữu ích nếu đăng những ghi chú của mình bằng tiếng Anh.


Mặc dù so-vits-svc đã được lưu trữ vài tháng nhưng có lẽ do bị áp bức nên nó vẫn là công cụ cho kết quả tốt nhất.


Các công cụ liên quan khác như so-vits-svc-fork , so-vits-svc-5.0 , DDSP-SVCRVC cung cấp khả năng tối ưu hóa nhanh hơn/lít, nhiều tính năng hơn hoặc giao diện tốt hơn.


Nhưng với đủ thời gian và nguồn lực, không lựa chọn thay thế nào trong số này có thể cạnh tranh với kết quả vượt trội do so-vits-svc ban đầu tạo ra.


Đối với TTS, một công cụ mới có tên Bert-VITS2 hoạt động rất tuyệt vời và đã hoàn thiện với bản phát hành cuối cùng vào tháng trước. Nó có một số trường hợp sử dụng rất khác nhau, chẳng hạn như tạo nội dung âm thanh.

Chuẩn bị tập dữ liệu

Các tệp âm thanh của tập dữ liệu phải ở định dạng WAV, lý tưởng nhất là 44100 Hz, 16bit, mono, 1-2 giờ.

Trích xuất từ một bài hát

Ultimate Vocal Remover là công cụ dễ dàng nhất cho công việc này. Có một chủ đề giải thích mọi thứ một cách chi tiết.

Quy trình làm việc UVR

  • Loại bỏ và trích xuất nhạc cụ
    • Model: VR - UVR(4_HP-Vocal-UVR)

    • Cài đặt: 512 - 10 - GPU

    • Đầu ra Nhạc cụ và giọng hát ô uế


  • Loại bỏ và trích xuất giọng hát nền.
    • Model: VR - UVR(5_HP-Karaoke-UVR)

    • Cài đặt: 512 - 10 - GPU

    • Giọng hát nền đầu ra và giọng hát chính không sạch sẽ


  • Loại bỏ hồi âm và tiếng ồn.
    • Model: VR - UVR-DeEcho-DeReverb & UVR-DeNoise

    • Cài đặt: 512 - 10 - GPU - Không có chỉ khác

    • Đầu ra giọng hát chính sạch sẽ


  • (Tùy chọn) Sử dụng RipX (không miễn phí) để thực hiện làm sạch thủ công.

Chuẩn bị thu âm giọng hát

Tốt hơn hết bạn nên ghi âm trong phòng được điều trị bằng micrô điện dung, nếu không, hãy sử dụng micrô định hướng hoặc micrô động để giảm tiếng ồn.

Thiết bị âm thanh của Cheapskate

Lần đầu tiên tôi đến với âm nhạc là hồi cấp 3 với chiếc Sennheiser MX500 màu xanh và Koss Porta Pro. Tôi vẫn nhớ lần đầu tiên tôi thu âm một bài hát trên Sony VAIO với Cool Edit Pro.


Ngày nay, tôi vẫn phản đối việc chi nhiều tiền cho phần cứng âm thanh với tư cách là một người nghiệp dư vì nó thực sự là một lỗ đen hút tiền.


Tuy nhiên, tôi thực sự đánh giá cao độ tin cậy của những thiết bị sản xuất giá rẻ đó.


Phần cốt lõi trong quá trình thiết lập của tôi là Behringer UCA202 và nó hoàn hảo cho các trường hợp sử dụng của tôi. Tôi đã mua nó với giá 10 đô la trong thời gian giảm giá.


Nó được gọi là “Giao diện âm thanh” nhưng về cơ bản chỉ là một card âm thanh có nhiều cổng. Tôi đã sử dụng cáp TRS từ RCA đến 3,5mm cho tai nghe của mình, K240 bán mở cho đầu ra thông thường và HD669/MDR7506 đóng kín cho đầu ra màn hình.


Cả ba tai nghe được đề cập đều có giá dưới 100 USD so với mức giá thông thường. Và có những bản sao từ Samson, Tascam, Knox Gear, v.v. với giá dưới 50 đô la.


Đối với thiết bị đầu vào, tôi đang sử dụng micrô động để giảm tiếng ồn từ môi trường. Đó là bản sao SM58 (Pyle) + đầu ghi Tascam DR-05 (làm bộ khuếch đại). Các bản sao khác như SL84c hoặc wm58 cũng có thể làm được điều đó.


Tôi sử dụng cáp TRS XLR đến 3,5 mm để kết nối micrô với MIC/Đầu vào bên ngoài của đầu ghi, sau đó sử dụng cáp Aux để kết nối giữa đầu ra của đầu ghi và đầu vào của UCA202.


Bạn không nên mua “giao diện âm thanh” và bộ khuếch đại chuyên dụng để sao chép thiết lập của mình. Một card âm thanh USB c-media trị giá 10 USD là đủ tốt. Mẫu Syba mà tôi sở hữu có khả năng “pre-amping” trực tiếp các micrô động và thậm chí cả một số micrô hỗ trợ ảo cấp thấp hơn.


Thiết lập có thể cực kỳ rẻ ($40~60), nhưng với UCA202 và DR-05, âm thanh sẽ sạch hơn nhiều. Và tôi thực sự thích các điều khiển vật lý, tính linh hoạt và tính di động của máy ghi âm kỹ thuật số cũ tốt của tôi.

Quy trình làm việc táo bạo

Mặc dù khi được trả lương với tư cách là nhà thiết kế, tôi vẫn khá hài lòng với Audition. Nhưng để sử dụng cho mục đích cá nhân trong một dự án thú vị, Audacity là cách để tránh cái ác hỗn loạn của Adobe.

máy cắt âm thanh

Sử dụng bộ cắt âm thanh hoặc bộ cắt âm thanh (gui) để cắt tệp âm thanh thành nhiều phần nhỏ để sử dụng sau này.

Cài đặt mặc định hoạt động tuyệt vời.

Làm sạch bộ dữ liệu

Loại bỏ những cái rất ngắn và cắt lại những cái vẫn còn trên 10 giây.


Trong trường hợp tập dữ liệu lớn, hãy xóa tất cả những tập dữ liệu nhỏ hơn 4 giây. Trong trường hợp tập dữ liệu nhỏ, hãy xóa những tập dữ liệu đó chỉ dưới 2 giây.


Nếu cần, hãy thực hiện kiểm tra thủ công cho từng tệp.

Độ ồn của trận đấu

Sử dụng lại Audacity với Chuẩn hóa âm lượng ; 0db nên làm điều đó.

so-vits-svc

Thiết lập môi trường

Môi trường ảo là điều cần thiết để chạy nhiều công cụ Python trong một hệ thống. Tôi đã từng sử dụng VM và Docker, nhưng bây giờ, tôi thấy rằng Anaconda nhanh hơn và tiện dụng hơn những cái khác.


Tạo môi trường mới cho so-vits-svc và kích hoạt nó.

 conda create -n so-vits-svc python=3.8 conda activate so-vits-svc


Sau đó, cài đặt các yêu cầu.

 git clone https://github.com/svc-develop-team/so-vits-svc cd so-vits-svc pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 #for linux pip install -r requirements.txt #for windows pip install -r requirements_win.txt pip install --upgrade fastapi==0.84.0 pip install --upgrade gradio==3.41.2 pip install --upgrade pydantic==1.10.12 pip install fastapi uvicorn

Khởi tạo

Tải xuống các mô hình được đào tạo trước

  • trước chuyến tàu
    • wget https://huggingface.co/WitchHuntTV/checkpoint_best_legacy_500.pt/resolve/main/checkpoint_best_legacy_500.pt

    • wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt


  • nhật ký/44k
    • wget https://huggingface.co/datasets/ms903/sovits4.0-768vec-layer12/resolve/main/sovits_768l12_pre_large_320k/clean_D_320000.pth

    • wget https://huggingface.co/datasets/ms903/sovits4.0-768vec-layer12/resolve/main/sovits_768l12_pre_large_320k/clean_G_320000.pth


  • nhật ký/44k/khuếch tán
    • wget https://huggingface.co/datasets/ms903/Diff-SVC-refactor-pre-trained-model/resolve/main/fix_pitch_add_vctk_600k/model_0.pt

    • (Thay thế) wget https://huggingface.co/datasets/ms903/DDSP-SVC-4.0/resolve/main/pre-trained-model/model_0.pt

    • (Thay thế) wget https://huggingface.co/datasets/ms903/Diff-SVC-refactor-pre-trained-model/blob/main/hubertsoft_fix_pitch_add_vctk_500k/model_0.pt


  • đào tạo trước/nsf_hifigan
    • wget -P pretrain/ https://github.com/openvpi/vocoders/releases/download/nsf-hifigan-v1/nsf_hifigan_20221211.zip
    • unzip -od pretrain/nsf_hifigan pretrain/nsf_hifigan_20221211.zip

Chuẩn bị tập dữ liệu

Đặt tất cả các tệp audio.wav đã chuẩn bị vào dataset_raw/character

 cd so-vits-svc python resample.py --skip_loudnorm python preprocess_flist_config.py --speech_encoder vec768l12 --vol_aug python preprocess_hubert_f0.py --use_diff

Chỉnh sửa cấu hình

Tệp được đặt tại configs/config.json

log interval : tần suất in eval interval nhật ký : tần suất lưu điểm kiểm tra epochs : tổng số bước keep ckpts : số lượng điểm kiểm tra đã lưu, 0 là không giới hạn. half_type : fp32 Trong trường hợp của tôi, batch_size : càng nhỏ thì càng nhanh (càng thô), càng lớn thì càng chậm (tốt hơn).


Kích thước lô được đề xuất cho mỗi VRAM: 4=6G;6=8G;10=12G;14=16G;20=24G


Giữ mặc định cho configs/diffusion.yaml

Đào tạo

 python cluster/train_cluster.py --gpu python train_index.py -c configs/config.json python train.py -c configs/config.json -m 44k python train_diff.py -c configs/diffusion.yaml


Về các bước đào tạo:

Sử dụng train.py để huấn luyện mô hình chính; thông thường, 20k-30k là có thể sử dụng được và 50k trở lên là đủ. Việc này có thể mất vài ngày tùy thuộc vào tốc độ GPU.


Vui lòng dừng nó bằng ctrl+c và nó sẽ được tiếp tục đào tạo bằng cách chạy lại python train.py -c configs/config.json -m 44k bất cứ lúc nào.


Sử dụng train_diff.py để huấn luyện mô hình khuếch tán; các bước đào tạo được khuyến nghị ở 1/3 mô hình chính.


Hãy nhận biết về việc đào tạo quá mức. Sử dụng tensorboard --logdir=./logs/44k để theo dõi các ô để xem nó có bằng phẳng không.


Thay đổi learning rate từ 0,0001 thành 0,00005 nếu cần.


Khi hoàn tất, hãy chia sẻ/chuyển các tệp này để suy luận.


  • cấu hình/
    • config.json

    • khuếch tán.yaml


  • nhật ký/44k
    • feature_and_index.pkl
    • kmeans_10000.pt
    • model_0.pt
    • G_xxxxx.pt

Sự suy luận

Đã đến lúc thử mô hình đã được đào tạo. Tôi thích Webui hơn vì sự thuận tiện trong việc điều chỉnh các thông số.


Nhưng trước khi kích hoạt nó, hãy chỉnh sửa các dòng sau trong webUI.py để truy cập mạng LAN:

 os.system("start http://localhost:7860") app.launch(server_name="0.0.0.0", server_port=7860)


Chạy python webUI.py ; sau đó truy cập ipaddress:7860 từ trình duyệt web.


Webui không có bản địa hóa tiếng Anh, nhưng Immersive Translate sẽ hữu ích.


Hầu hết các tham số sẽ hoạt động tốt với giá trị mặc định. Hãy tham khảo cái nàycái này để thực hiện thay đổi.


Tải lên 5 tập tin này:

main model.ptconfig.json của nó


diffusion model.ptdiffusion.yaml của nó


Mô hình cụm kmeans_10000.pt để nói hoặc truy xuất tính năng feature_and_index.pkl để hát.


F0 predictor chỉ dùng để nói chứ không dùng để hát. Khuyến nghị RMVPE khi sử dụng.


Pitch change rất hữu ích khi hát một bài hát nữ tính sử dụng người mẫu có giọng nam hoặc ngược lại.


Clustering model/feature retrieval mixing ratio là cách kiểm soát âm sắc. Sử dụng 0.1 để có được giọng nói rõ ràng nhất và sử dụng 0.9 để có được âm sắc gần giống nhất với mẫu.


shallow diffusion steps nên được đặt ở khoảng 50 , nó sẽ nâng cao kết quả ở mức 30-100 bước.

Chỉnh sửa âm thanh

Thủ tục này là tùy chọn. Chỉ để sản xuất một bài hát hay hơn.


Tôi sẽ không đi sâu vào chi tiết về vấn đề này vì phần mềm chỉnh sửa âm thanh hay còn gọi là DAW (máy trạm âm thanh kỹ thuật số) mà tôi đang sử dụng không miễn phí. Tôi không có ý định ủng hộ phần mềm độc quyền mặc dù toàn bộ ngành này đều có tường phí và nguồn đóng.


Audacity hỗ trợ nhiều bản nhạc, hiệu ứng và nhiều hơn thế nữa. Nó cũng tải một số plugin VST nâng cao.


Không khó để tìm thấy hướng dẫn làm chủ bài hát bằng Audacity.


Thông thường, quá trình làm chủ phải là trộn/cân bằng, EQ/nén, hồi âm và hình ảnh. Công cụ càng tiên tiến thì quá trình sẽ càng dễ dàng hơn.


Tôi chắc chắn sẽ dành nhiều thời gian hơn để áp dụng Audacity cho quá trình thành thạo của mình trong tương lai và tôi khuyên mọi người nên làm như vậy.

so-vits-svc-fork

Đây là một nhánh rẽ so-vits-svc có hỗ trợ theo thời gian thực và các mô hình đều tương thích. Dễ sử dụng hơn nhưng không hỗ trợ mô hình Khuếch tán. Để thay đổi giọng nói theo thời gian thực chuyên dụng, nên sử dụng bộ thay đổi giọng nói .

Cài đặt

 conda create -n so-vits-svc-fork python=3.10 pip conda activate so-vits-svc-fork git clone https://github.com/voicepaw/so-vits-svc-fork cd so-vits-svc-fork python -m pip install -U pip setuptools wheel pip install -U torch torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install -U so-vits-svc-fork pip install click sudo apt-get install libportaudio2

Sự chuẩn bị

Đặt các tệp .wav của tập dữ liệu vào so-vits-svc-fork/dataset_raw

 svc pre-resample svc pre-config


Chỉnh sửa batch_size trong configs/44k/config.json . Chiếc nĩa này có kích thước lớn hơn so với bản gốc.

Đào tạo

 svc pre-hubert svc train -t svc train-cluster

Sự suy luận

Sử dụng GUI với svcg . Điều này đòi hỏi một môi trường máy tính để bàn cục bộ.


Hoặc sử dụng CLI với svc vc trong thời gian thực và svc infer -m "logs/44k/xxxxx.pth" -c "configs/config.json" raw/xxx.wav để tạo.

DDSP-SVC

DDSP-SVC yêu cầu ít tài nguyên phần cứng hơn và chạy nhanh hơn so-vits-svc. Nó hỗ trợ cả mô hình thời gian thực và mô hình khuếch tán (Diff-SVC).

 conda create -n DDSP-SVC python=3.8 conda activate DDSP-SVC git clone https://github.com/yxlllc/DDSP-SVC cd DDSP-SVC pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt


Tham khảo phần Khởi tạo cho hai tệp:

 pretrain/rmvpe/model.pt pretrain/contentvec/checkpoint_best_legacy_500.pt

Sự chuẩn bị

 python draw.py python preprocess.py -c configs/combsub.yaml python preprocess.py -c configs/diffusion-new.yaml


Chỉnh sửa configs/

 batch_size: 32 (16 for diffusion) cache_all_data: false cache_device: 'cuda' cache_fp16: false

Đào tạo

 conda activate DDSP-SVC python train.py -c configs/combsub.yaml python train_diff.py -c configs/diffusion-new.yaml tensorboard --logdir=exp

Sự suy luận

Bạn nên sử dụng main_diff.py vì nó bao gồm cả DDSP và mô hình khuếch tán.

python main_diff.py -i "input.wav" -diff "model_xxxxxx.pt" -o "output.wav"


GUI thời gian thực để sao chép giọng nói:

 python gui_diff.py

Bert-vits2-V2.3

Đây là một công cụ TTS hoàn toàn khác với mọi thứ ở trên. Bằng cách sử dụng nó, tôi đã tạo một số sách nói bằng giọng nói của mình cho bố mẹ tôi và họ thực sự thích nó.


Thay vì sử dụng bản gốc , tôi đã sử dụng fork của v3u để thiết lập dễ dàng hơn.

Khởi tạo

 conda create -n bert-vits2 python=3.9 conda activate bert-vits2 git clone https://github.com/v3ucn/Bert-vits2-V2.3.git cd Bert-vits2-V2.3 pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2+cu118 --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt


Tải xuống các mô hình được đào tạo trước (bao gồm tiếng Trung, tiếng Nhật và tiếng Anh):

 wget -P slm/wavlm-base-plus/ https://huggingface.co/microsoft/wavlm-base-plus/resolve/main/pytorch_model.bin wget -P emotional/clap-htsat-fused/ https://huggingface.co/laion/clap-htsat-fused/resolve/main/pytorch_model.bin wget -P emotional/wav2vec2-large-robust-12-ft-emotion-msp-dim/ https://huggingface.co/audeering/wav2vec2-large-robust-12-ft-emotion-msp-dim/resolve/main/pytorch_model.bin wget -P bert/chinese-roberta-wwm-ext-large/ https://huggingface.co/hfl/chinese-roberta-wwm-ext-large/resolve/main/pytorch_model.bin wget -P bert/bert-base-japanese-v3/ https://huggingface.co/cl-tohoku/bert-base-japanese-v3/resolve/main/pytorch_model.bin wget -P bert/deberta-v3-large/ https://huggingface.co/microsoft/deberta-v3-large/resolve/main/pytorch_model.bin wget -P bert/deberta-v3-large/ https://huggingface.co/microsoft/deberta-v3-large/resolve/main/pytorch_model.generator.bin wget -P bert/deberta-v2-large-japanese/ https://huggingface.co/ku-nlp/deberta-v2-large-japanese/resolve/main/pytorch_model.bin

Tạo thư mục mô hình nhân vật mkdir -p Data/xxx/models/


Tải xuống các mô hình cơ sở:

 !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/DUR_0.pth !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/D_0.pth !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/G_0.pth !wget -P Data/xxx/models/ https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/resolve/main/WD_0.pth #More options https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/model_filelist_tmpl?name=Bert-VITS2_2.3%E5%BA%95%E6%A8%A1 https://huggingface.co/Erythrocyte/bert-vits2_base_model/tree/main https://huggingface.co/OedoSoldier/Bert-VITS2-2.3/tree/main

Chỉnh sửa train_ms.py bằng cách thay thế tất cả bfloat16 thành float16


Chỉnh sửa webui.py để truy cập mạng LAN:

 webbrowser.open(f"start http://localhost:7860") app.launch(server_name="0.0.0.0", server_port=7860)


Chỉnh sửa Data/xxx/config.json cho batch_sizespk2id

Sự chuẩn bị

Quy trình làm việc tương tự như trong phần trước .


Loại bỏ tiếng ồn và sự im lặng, chuẩn hóa, sau đó đặt tệp WAV chưa cắt vào Data/xxx/raw .


Chỉnh sửa config.yml cho dataset_path , num_workerskeep_ckpts .


Chạy python3 audio_slicer.py để cắt tệp WAV.


Làm sạch tập dữ liệu ( Data/xxx/raw ) bằng cách xóa các tệp nhỏ có thời lượng dưới 2 giây.

Phiên mã

Cài đặt thì thầm pip install git+https://github.com/openai/whisper.git


Để tắt tính năng tự động phát hiện ngôn ngữ, hãy đặt nó thành chỉ tiếng Anh và sử dụng mô hình large ; chỉnh sửa short_audio_transcribe.py như sau:

 # set the spoken language to english print('language: en') lang = 'en' options = whisper.DecodingOptions(language='en') result = whisper.decode(model, mel, options) # set to use large model parser.add_argument("--whisper_size", default="large") #Solve error "Given groups=1, weight of size [1280, 128, 3], expected input[1, 80, 3000] to have 128 channels, but got 80 channels instead" while using large model mel = whisper.log_mel_spectrogram(audio,n_mels = 128).to(model.device)

Chạy python3 short_audio_transcribe.py để bắt đầu phiên âm.


Lấy mẫu lại tập dữ liệu được cắt lát: python3 resample.py --sr 44100 --in_dir ./Data/zizek/raw/ --out_dir ./Data/zizek/wavs/


Phiên mã tiền xử lý: python3 preprocess_text.py --transcription-path ./Data/zizek/esd.list


Tạo cấu hình tính năng BERT: python3 bert_gen.py --config-path ./Data/zizek/configs/config.json

Đào tạo và suy luận

Chạy python3 train_ms.py để bắt đầu đào tạo


Chỉnh sửa config.yml cho đường dẫn mô hình:

 model: "models/G_20900.pth"

Chạy python3 webui.py để khởi động webui để suy luận

vits-đơn giản-api

vits-simple-api là giao diện người dùng web để sử dụng các mô hình đã được đào tạo. Tôi sử dụng điều này chủ yếu để hỗ trợ văn bản dài mà dự án ban đầu không có.

 git clone https://github.com/Artrajz/vits-simple-api git pull https://github.com/Artrajz/vits-simple-api cd vits-simple-api conda create -n vits-simple-api python=3.10 pip conda activate vits-simple-api && pip install -r requirements.txt

(Tùy chọn) Sao chép các tệp mô hình được đào tạo trước từ Bert-vits2-V2.3/ sang vits-simple-api/bert_vits2/


Sao chép Bert-vits2-V2.3/Data/xxx/models/G_xxxxx.pthBert-vits2-V2.3/Data/xxx/config.json vào vits-simple-api/Model/xxx/


Chỉnh sửa config.py cho MODEL_LISTDefault parameter theo ý muốn


Chỉnh sửa Model/xxx/config.json như sau:

 "data": { "training_files": "Data/train.list", "validation_files": "Data/val.list", "version": "2.3"

Kiểm tra/Chỉnh sửa model_list trong config.yml dưới dạng [xxx/G_xxxxx.pth, xxx/config.json]


Chạy python app.py

Tinh chỉnh

SDP Ratio cho âm sắc, Noise cho tính ngẫu nhiên, Noise_W cho cách phát âm và Length cho tốc độ. emotionstyle là tự giải thích

Chia sẻ mô hình

Trong repo Ôm Mặt của mình, có rất nhiều mẫu VITS được người khác chia sẻ. Bạn có thể dùng thử trước, sau đó tải xuống các mẫu mong muốn từ Tệp .


Mô hình Genshin được sử dụng rộng rãi trong một số cộng đồng sáng tạo nội dung vì chất lượng cao. Nó chứa hàng trăm ký tự, mặc dù chỉ hỗ trợ tiếng Trung và tiếng Nhật.

Trong một repo khác , có rất nhiều mẫu Bert-vits2 được làm từ các bộ truyền phát và VTuber nổi tiếng của Trung Quốc.


Đã có những dự án tạo ra các Vtuber AI như thế nàythế này . Tôi đang mong chờ công nghệ này có thể thay đổi ngành công nghiệp này như thế nào trong tương lai gần.


https://techshinobi.org/posts/voice-vits/https://techshinobi.org/posts/voice-vits/