GPT-SoVITS/docs/ja/README.md
ChasonJiang 29f22115fb
[fast_inference] 回退策略,减少padding影响,开放选项,同步代码 (#986)
* Update README

* Optimize-English-G2P

* docs: change akward expression

* docs: update Changelog_KO.md

* Fix CN punc in EN,add 's match

* Adjust normalize and g2p logic

* Update zh_CN.json

* Update README (#827)

Update README.md
Update some outdated file paths and commands

* 修复英文多音字,调整字典热加载,新增姓名匹配 (#869)

* Fix homograph dict

* Add JSON in dict

* Adjust hot dict to hot reload

* Add English name dict

* Adjust get name dict logic

* Make API Great Again (#894)

* Add zh/jp/en mix

* Optimize code readability and formatted output.

* Try OGG streaming

* Add stream mode arg

* Add media type arg

* Add cut punc arg

* Eliminate punc risk

* Update README (#895)

* Update README

* Update README

* update README

* update README

* fix typo s/Licence /License (#904)

* fix reformat cmd (#917)

Co-authored-by: starylan <starylan@outlook.com>

* Update README.md

* Normalize chinese arithmetic operations (#947)

* 改变训练和推理时的mask策略,以修复当batch_size>1时,产生的复读现象

* 同步main分支代码,增加“保持随机”选项

* 在colab中运行colab_webui.ipynb发生的uvr5模型缺失问题 (#968)

在colab中使用git下载uvr5模型时报错:
fatal: destination path 'uvr5_weights' already exists and is not an empty directory.
通过在下载前将原本从本仓库下载的uvr5_weights文件夹删除可以解决问题。

* [ASR] 修复FasterWhisper遍历输入路径失败 (#956)

* remove glob

* rename

* reset mirror pos

* 回退mask策略;
回退pad策略;
在T2SBlock中添加padding_mask,以减少pad的影响;
开放repetition_penalty参数,让用户自行调整重复惩罚的强度;
增加parallel_infer参数,用于开启或关闭并行推理,关闭时与0307版本保持一致;
在webui中增加“保持随机”选项;
同步main分支代码。

* 删除无用注释

---------

Co-authored-by: Lion <drain.daters.0p@icloud.com>
Co-authored-by: RVC-Boss <129054828+RVC-Boss@users.noreply.github.com>
Co-authored-by: KamioRinn <snowsdream@live.com>
Co-authored-by: Pengoose <pengoose_dev@naver.com>
Co-authored-by: Yuan-Man <68322456+Yuan-ManX@users.noreply.github.com>
Co-authored-by: XXXXRT666 <157766680+XXXXRT666@users.noreply.github.com>
Co-authored-by: KamioRinn <63162909+KamioRinn@users.noreply.github.com>
Co-authored-by: Lion-Wu <130235128+Lion-Wu@users.noreply.github.com>
Co-authored-by: digger yu <digger-yu@outlook.com>
Co-authored-by: SapphireLab <36986837+SapphireLab@users.noreply.github.com>
Co-authored-by: starylan <starylan@outlook.com>
Co-authored-by: shadow01a <141255649+shadow01a@users.noreply.github.com>
2024-04-19 14:35:28 +08:00

11 KiB
Raw Blame History

GPT-SoVITS-WebUI

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

madewithlove


Open In Colab License Huggingface

English | 中文简体 | 日本語 | 한국어


機能:

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

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

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

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

デモ動画をチェック!

未見の話者数ショット微調整デモ:

https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb

インストール

テスト済みの環境

  • Python 3.9, PyTorch 2.0.1, CUDA 11
  • Python 3.10.13, PyTorch 2.1.2, CUDA 12.3
  • Python 3.9, PyTorch 2.2.2, macOS 14.4.1 (Apple silicon)
  • Python 3.9, PyTorch 2.2.2, CPUデバイス

注記: numba==0.56.4 は py<3.11 が必要です

Windows

Windows ユーザーの場合win>=10 でテスト済み)、事前にパッケージ化されたディストリビューションを直接ダウンロードし、go-webui.bat をダブルクリックして GPT-SoVITS-WebUI を起動することができます。

Linux

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

macOS

MacでGPUを使用して訓練されたモデルは、他のデバイスで訓練されたモデルと比較して著しく品質が低下するため、当面はCPUを使用して訓練します。

  1. xcode-select --install を実行して、Xcodeコマンドラインツールをインストールします。
  2. brew install ffmpeg または conda install ffmpeg を実行して、FFmpegをインストールします。
  3. 上記の手順を完了した後、以下のコマンドを実行してこのプロジェクトをインストールします。
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits

pip install -r requirements.txt

手動インストール

依存関係をインストールします

pip install -r requirementx.txt

FFmpegをインストールします。

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

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

Docker の使用

docker-compose.yaml の設定

  1. イメージのタグについて:コードベースの更新が速く、イメージのパッケージングとテストが遅いため、Docker Hub で現在パッケージされている最新のイメージをご覧になり、ご自身の状況に応じて選択するか、またはご自身のニーズに応じて Dockerfile を使用してローカルで構築してください。

  2. 環境変数:

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

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

  5. 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 9880:9880 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx

事前訓練済みモデル

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

中国語 ASR追加については、Damo ASR ModelDamo VAD ModelDamo Punc Model からモデルをダウンロードし、tools/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 ベースモデル(音質向上)
    • モデルミックス

(オプション) 必要に応じて、コマンドライン操作モードが提供されます。

コマンド ラインを使用して UVR5 の WebUI を開きます

python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>

ブラウザを開けない場合は、以下の形式に従って UVR 処理を行ってください。これはオーディオ処理に mdxnet を使用しています。

python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --format --device --is_half_precision 

コマンド ラインを使用してデータセットのオーディオ セグメンテーションを行う方法は次のとおりです。

python audio_slicer.py \
    --input_path "<path_to_original_audio_file_or_directory>" \
    --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
    --threshold <volume_threshold> \
    --min_length <minimum_duration_of_each_subclip> \
    --min_interval <shortest_time_gap_between_adjacent_subclips> 
    --hop_size <step_size_for_computing_volume_curve>

コマンドラインを使用してデータセット ASR 処理を行う方法です (中国語のみ)

python tools/asr/funasr_asr.py -i <input> -o <output>

ASR処理はFaster_Whisperを通じて実行されます(中国語を除くASRマーキング)

(進行状況バーは表示されません。GPU のパフォーマンスにより時間遅延が発生する可能性があります)

python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language>

カスタムリストの保存パスが有効になっています

クレジット

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

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