Skip to content

Latest commit

 

History

History
190 lines (128 loc) · 8.31 KB

README.md

File metadata and controls

190 lines (128 loc) · 8.31 KB

GPT-SoVITS-WebUI

パワフルな数発音声変換・音声合成 WebUI。

madewithlove


Licence Huggingface

English | 中文简体 | 日本語


デモ動画をチェック!

few.shot.fine.tuning.demo.mp4

機能:

  1. ゼロショット TTS: 5秒間のボーカルサンプルを入力すると、即座にテキストから音声に変換されます。

  2. 数ショット TTS: わずか1分間のトレーニングデータでモデルを微調整し、音声の類似性とリアリズムを向上。

  3. 多言語サポート: 現在、英語、日本語、中国語をサポートしています。

  4. WebUI ツール: 統合されたツールには、音声伴奏の分離、トレーニングセットの自動セグメンテーション、中国語 ASR、テキストラベリングが含まれ、初心者がトレーニングデータセットと GPT/SoVITS モデルを作成するのを支援します。

環境の準備

Windows ユーザーであれば(win>=10 にてテスト済み)、prezip 経由で直接インストールできます。prezip をダウンロードして解凍し、go-webui.bat をダブルクリックするだけで GPT-SoVITS-WebUI が起動します。

Python と PyTorch のバージョン

Python 3.9、PyTorch 2.0.1、CUDA 11でテスト済。

Conda によるクイックインストール

conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh

手動インストール

python3.9 用の distutils がインストールされていることを確認する

sudo apt-get install python3.9-distutils

Pip パッケージ

pip install torch numpy scipy tensorboard librosa==0.9.2 numba==0.56.4 pytorch-lightning gradio==3.14.0 ffmpeg-python onnxruntime tqdm cn2an pypinyin pyopenjtalk g2p_en chardet transformers

追加要件

中国語の ASR(FunASR がサポート)が必要な場合は、以下をインストールしてください:

pip install modelscope torchaudio sentencepiece funasr

FFmpeg

Conda ユーザー
conda install ffmpeg
Ubuntu/Debian ユーザー
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
MacOS ユーザー
brew install ffmpeg
Windows ユーザー

ffmpeg.exeffprobe.exe をダウンロードし、GPT-SoVITS のルートディレクトリに置きます。

Dockerの使用

docker-compose.yamlの設定

  1. 環境変数:

    • is_half:半精度/倍精度の制御。"SSL抽出"ステップ中に4-cnhubert/5-wav32kディレクトリ内の内容が正しく生成されない場合、通常これが原因です。実際の状況に応じてTrueまたはFalseに調整してください。
  2. ボリューム設定:コンテナ内のアプリケーションのルートディレクトリは/workspaceに設定されます。デフォルトのdocker-compose.yamlには、アップロード/ダウンロードの内容の実例がいくつか記載されています。

  3. shm_size:WindowsのDocker Desktopのデフォルトの利用可能メモリが小さすぎるため、異常な動作を引き起こす可能性があります。状況に応じて適宜設定してください。

  4. deployセクションのGPUに関連する内容は、システムと実際の状況に応じて慎重に設定してください。

docker composeで実行する

docker compose -f "docker-compose.yaml" up -d

dockerコマンドで実行する

上記と同様に、実際の状況に基づいて対応するパラメータを変更し、次のコマンドを実行します:

docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-DockerTest\output:/workspace/output --volume=G:\GPT-SoVITS-DockerTest\logs:/workspace/logs --volume=G:\GPT-SoVITS-DockerTest\SoVITS_weights:/workspace/SoVITS_weights --workdir=/workspace -p 9870:9870 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:dev-20240123.03

事前訓練済みモデル

GPT-SoVITS Models から事前訓練済みモデルをダウンロードし、GPT_SoVITSpretrained_models に置きます。

中国語 ASR(追加)については、Damo ASR ModelDamo VAD ModelDamo Punc Model からモデルをダウンロードし、tools/damo_asr/models に置いてください。

UVR5 (Vocals/Accompaniment Separation & Reverberation Removal, additionally) の場合は、UVR5 Weights からモデルをダウンロードして tools/uvr5/uvr5_weights に置きます。

データセット形式

TTS アノテーション .list ファイル形式:

vocal_path|speaker_name|language|text

言語辞書:

  • 'zh': 中国語
  • 'ja': 日本語
  • 'en': 英語

例:

D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.

Todo リスト

  • 優先度 高:

    • 日本語と英語でのローカライズ。
    • ユーザーガイド。
    • 日本語データセットと英語データセットのファインチューニングトレーニング。
  • 機能:

    • ゼロショット音声変換(5秒)/数ショット音声変換(1分)。
    • TTS スピーキングスピードコントロール。
    • TTS の感情コントロールの強化。
    • SoVITS トークン入力を語彙の確率分布に変更する実験。
    • 英語と日本語のテキストフロントエンドを改善。
    • 小型と大型の TTS モデルを開発する。
    • Colab のスクリプト。
    • トレーニングデータセットを拡張する(2k→10k)。
    • より良い sovits ベースモデル(音質向上)
    • モデルミックス

クレジット

以下のプロジェクトとコントリビューターに感謝します:

すべてのコントリビューターに感謝します