index.md 11 KB

Fish Speech の紹介

!!! warning

私たちは、コードベースの違法な使用について一切の責任を負いません。お住まいの地域の DMCA(デジタルミレニアム著作権法)およびその他の関連法を参照してください。 <br/>
このコードベースとモデルは、CC-BY-NC-SA-4.0 ライセンス下でリリースされています。

要件

  • GPU メモリ: 4GB(推論用)、8GB(ファインチューニング用)
  • システム: Linux、Windows

Windows セットアップ

Window にて開発を行っている方へ: 本コードベースを実行するのに WSL2 または Docker を利用することができます。

あまり詳しくない人は、Linux 環境なしでコードベースを実行するために以下の手順に従ってください。(モデルコンパイル機能torch.compileを利用できます。):

  1. プロジェクトの圧縮ファイルをダウンロードし、展開
  2. install_env.batを開いて実行に必要な環境を整えます。
    • install_env.batUSE_MIRRORミラーサイトを使用する場合、項目を編集してください。
    • USE_MIRROR=falseは、最新の安定版のtorchをオリジナルサイトからダウンロードします。USE_MIRROR=trueは、最新のtorchをミラーサイトからダウンロードします。デフォルトはtrueです。
    • install_env.batINSTALL_TYPEを編集して、コンパイル環境をダウンロードするかを設定できます。
    • INSTALL_TYPE=previewは、コンパイル環境付きのプレビュー版をダウンロードします。INSTALL_TYPE=stableは、コンパイル環境なしの安定版をダウンロードします。
  3. ステップ2でUSE_MIRROR=previewの場合、オプション、コンパイルモデル環境を有効にするたに以下のステップを実行してください。:
    1. 以下のリンクからLLVMコンパイラをダウンロードします:
      • LLVM-17.0.6(オリジナルサイト)
      • LLVM-17.0.6(ミラーサイト)
      • LLVM-17.0.6-win64.exeをダウンロードした後、ダブルクリックしてインストールし、適当な場所にインストールしてください。必ずAdd Path to Current Userをチェックして環境変数に追加することです。
      • インストールが完了したことを確認してください。
    2. Microsoft Visual C++ 再頒布可能パッケージをダウンロードしてインストールし、dllの欠落問題を解決します。
    3. Visual Studio Community Editionをダウンロードしてインストールし、MSVC++ビルドツールを取得し、LLVMのヘッダーファイル依存関係を解決します。
      • Visual Studio ダウンロード
      • Visual Studio Installerをインストールした後、Visual Studio Community 2022をダウンロードします。
      • 以下のスクリーンショットのようにModifyボタンをクリックし、Desktop development with C++オプションにチェックをつけてダウンロードします。
    4. インストール CUDA Toolkit 12
  4. start.batを実行し、Fish-Speechのトレーニング/推論設定WebUIを開いてください。。
    • (オプション)直接推論ページに行きたい場合は、プロジェクトルートディレクトリのAPI_FLAGS.txtの最初の3行を次のように変更してください:
      --infer
      # --api
      # --listen ...
      ...
    • (オプション)APIサーバーを起動したい場合は、プロジェクトルートディレクトリのAPI_FLAGS.txtの最初の3行を次のように変更してください:
      # --infer
      --api
      --listen ...
      ...
  5. (オプション)run_cmd.batをダブルクリックして、このプロジェクトの仮想環境を有効化できます。

Linux セットアップ

# python 3.10の仮想環境を作成します。virtualenvも使用できます。
conda create -n fish-speech python=3.10
conda activate fish-speech

# pytorchをインストールします。
pip3 install torch torchvision torchaudio

# fish-speechをインストールします。
pip3 install -e .[stable]

# (Ubuntu / Debianユーザー) sox + ffmpegをインストールします。
apt install libsox-dev ffmpeg

Docker セットアップ

  1. NVIDIA Container Toolkit のインストール:

    Docker で GPU を使用してモデルのトレーニングと推論を行うには、NVIDIA Container Toolkit をインストールする必要があります:

    Ubuntu ユーザーの場合:

    # リポジトリの追加
    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
        && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    # nvidia-container-toolkit のインストール
    sudo apt-get update
    sudo apt-get install -y nvidia-container-toolkit
    # Docker サービスの再起動
    sudo systemctl restart docker
    

    他の Linux ディストリビューションを使用している場合は、以下のインストールガイドを参照してください:NVIDIA Container Toolkit Install-guide

    1. fish-speech イメージのプルと実行
    # イメージのプル
    docker pull fishaudio/fish-speech:latest-dev
    # イメージの実行
    docker run -it \
        --name fish-speech \
        --gpus all \
        -p 7860:7860 \
        fishaudio/fish-speech:latest-dev \
        zsh
    # 他のポートを使用する場合は、-p パラメータを YourPort:7860 に変更してください
    
  2. モデルの依存関係のダウンロード

    Docker コンテナ内のターミナルにいることを確認し、huggingface リポジトリから必要な vqganllama モデルをダウンロードします。

    huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4
    
    1. 環境変数の設定と WebUI へのアクセス

    Docker コンテナ内のターミナルで、export GRADIO_SERVER_NAME="0.0.0.0" と入力して、外部から Docker 内の gradio サービスにアクセスできるようにします。 次に、Docker コンテナ内のターミナルで python tools/webui.py と入力して WebUI サービスを起動します。

    WSL または MacOS の場合は、http://localhost:7860 にアクセスして WebUI インターフェースを開くことができます。

    サーバーにデプロイしている場合は、localhost をサーバーの IP に置き換えてください。

    変更履歴

    • 2024/09/10: Fish-Speech を Ver.1.4 に更新し、データセットのサイズを増加させ、quantizer n_groups を 4 から 8 に変更しました。
    • 2024/07/02: Fish-Speech を Ver.1.2 に更新し、VITS デコーダーを削除し、ゼロショット能力を大幅に強化しました。
    • 2024/05/10: Fish-Speech を Ver.1.1 に更新し、VITS デコーダーを実装して WER を減少させ、音色の類似性を向上させました。
    • 2024/04/22: Fish-Speech Ver.1.0 を完成させ、VQGAN および LLAMA モデルを大幅に修正しました。
    • 2023/12/28: lora微調整サポートを追加しました。
    • 2023/12/27: gradient checkpointingcausual sampling、およびflash-attnサポートを追加しました。
    • 2023/12/19: webui および HTTP API を更新しました。
    • 2023/12/18: 微調整ドキュメントおよび関連例を更新しました。
    • 2023/12/17: text2semanticモデルを更新し、自由音素モードをサポートしました。
    • 2023/12/13: ベータ版をリリースし、VQGAN モデルおよび LLAMA に基づく言語モデル(音素のみサポート)を含みます。

    謝辞