ホーム>プログラミング関連>AI ソースコード

vits-server

a a高速推論のために設計されたVITS ONNXサーバー、ストリーミングと追加の推論設定をサポートして、モデルの設定を有効にし、パフォーマンスを最適化します。

利点?

APIドキュメント

すぐに使用できる通話システムを提供しています。

 client = VITS ( "http://127.0.0.1:9557" )
res = client . generate_voice ( model_id = "model_01" , text = "你好,世界!" , speaker_id = 0 , audio_type = "wav" ,
                            length_scale = 1.0 , noise_scale = 0.5 , noise_scale_w = 0.5 , auto_parse = True )
with open ( "output.wav" , "wb" ) as f :
    for chunk in res . iter_content ( chunk_size = 1024 ):
        if chunk :
            f . write ( chunk )

走っていますか?

ランタイム環境を分離するために仮想環境を使用することをお勧めします。このプロジェクトの依存関係は、依存関係ライブラリを破壊する可能性があるため、 pipenvを使用して依存関係パッケージを管理することをお勧めします。

構成サーバー?

構成は、次のフィールドを含む.envにあります。

 VITS_SERVER_HOST = 0.0.0.0
VITS_SERVER_PORT = 9557
VITS_SERVER_RELOAD = false
# VITS_SERVER_WORKERS=1
# VITS_SERVER_INIT_CONFIG="https://....json"
# VITS_SERVER_INIT_MODEL="https://.....pth or onnx"

または、次のコマンドを使用して、環境変数を設定できます。

 export VITS_SERVER_HOST= " 0.0.0.0 "
export VITS_SERVER_PORT= " 9557 "
export VITS_SERVER_RELOAD= " false "
export VITS_DISABLE_GPU= " false "

VITS_SERVER_RELOAD 、ファイルが変更されたときに自動再起動サーバーを意味します。

Pipenvから走っていますか?およびPM2.json

apt-get update &&
  apt-get install -y build-essential libsndfile1 vim gcc g++ cmake
apt install python3-pip
pip3 install pipenv
pipenv install  # Create and install dependency packages
pipenv shell    # Activate the virtual environment
python3 main.py # Run
# then ctrl+c exit 
apt install npm
npm install pm2 -g
pm2 start pm2.json
# then the server will run in the background

そして、 pipenvnpmをインストールするためのワンクリックスクリプトがあります。

curl -LO https://raw.githubusercontent.com/LlmKira/VitsServer/main/deploy_script.sh && chmod +x deploy_script.sh && ./deploy_script.sh

Dockerからの建物?

docker pull sudoskys/vits-server:main to Docker Hubがあります。

DockerFileからビルドすることもできます。

docker build -t < image-name > .

ここで、 <image-name>は画像に与えたい名前です。次に、次のコマンドを使用してコンテナを起動します。

docker run -d -p 9557:9557 -v < local-path > /vits_model:/app/model < image-name >

ここで、 <local-path>は、コンテナ内の /app /modelディレクトリにマップするローカルフォルダーパスです。

モデル構成?

modelフォルダーに、 model.pth / model.onnxと対応するmodel.jsonファイルを配置します。 .pthの場合、 .onnxに自動的に変換されます!

.envを使用してVITS_SERVER_INIT_CONFIGVITS_SERVER_INIT_MODELを設定してモデルファイルをダウンロードできます。

 VITS_SERVER_INIT_CONFIG = " https://....json "
VITS_SERVER_INIT_MODEL = " https://.....pth?trace=233 or onnx?trace=233 "

modelフォルダー構造:

 .
├── 1000_epochs.json
├── 1000_epochs.onnx
├── 1000_epochs.pth
├── 233_epochs.json
├── 233_epochs.onnx
└── 233_epochs.pth

Model ID1000_epochsおよび233_epochsです。

モデルファイルをmodelフォルダーに配置するときは、サーバーを再起動する必要があります。

モデル拡張設計?

モデル構成に追加のフィールドを追加して、APIを介してモデルIDに対応するモデル名などの情報を取得できます。

 {
  //...
  "info" : {
    "name" : "coco" ,
    "description" : "a vits model" ,
    "author" : "someone" ,
    "cover" : "https://xxx.com/xxx.jpg" ,
    "email" : "[email protected]"
  } ,
  "infer" : {
    "noise_scale" : 0.667 ,
    "length_scale" : 1.0 ,
    "noise_scale_w" : 0.8
  }
  //....
}

inferは、モデルのデフォルトの(優先)推論設定です。

infoはモデル情報です。

これらのモデル情報を取得するにはどうすればよいですか?

{your_base_url}/model/list?show_speaker=True&show_ms_config=Trueアクセスして、モデルの役割と構成に関する詳細情報を取得できます。

トト

謝辞

このプロジェクトの開発における以下のプロジェクトの貢献を認めたいと思います。

拡大する
追加情報