Beranda>Terkait pemrograman>Kode Sumber AI

Vits-Server

⚡ Server Vits Onnx yang dirancang untuk inferensi cepat, pendukung streaming dan pengaturan inferensi tambahan untuk memungkinkan pengaturan preferensi model dan mengoptimalkan kinerja.

Keuntungan?

Dokumentasi API

Kami menawarkan sistem panggilan out-of-the-box.

 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 )

Berlari?

Kami merekomendasikan penggunaan lingkungan virtual untuk mengisolasi lingkungan runtime. Karena ketergantungan proyek ini berpotensi mengganggu perpustakaan ketergantungan Anda, kami sarankan menggunakan pipenv untuk mengelola paket ketergantungan.

Server konfigurasi?

Konfigurasi ada di .env , termasuk bidang berikut:

 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"

Atau Anda dapat menggunakan perintah berikut untuk mengatur variabel lingkungan:

 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 berarti server restart otomatis saat file diubah.

Berlari dari Pipenv? dan 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

Dan kami memiliki skrip satu klik untuk menginstal pipenv dan npm :

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

Bangunan dari Docker?

Kami memiliki docker pull sudoskys/vits-server:main to Docker Hub.

Anda juga dapat membangun dari Dockerfile.

docker build -t < image-name > .

Di mana <image-name> adalah nama yang ingin Anda berikan kepada gambar. Kemudian, gunakan perintah berikut untuk memulai wadah:

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

Di mana <local-path> adalah jalur folder lokal yang ingin Anda peta ke direktori /aplikasi /model di wadah.

Konfigurasi model?

Di folder model , tempatkan file model.pth / model.onnx dan model.json yang sesuai. Jika itu .pth , itu akan secara otomatis dikonversi menjadi .onnx !

Anda dapat menggunakan .env untuk mengatur VITS_SERVER_INIT_CONFIG dan VITS_SERVER_INIT_MODEL untuk mengunduh file model.

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

Struktur Folder model :

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

Model ID adalah 1000_epochs dan 233_epochs .

Saat Anda memasukkan file model di folder model , Anda harus memulai kembali server.

Desain Ekstensi Model?

Anda dapat menambahkan bidang tambahan dalam konfigurasi model untuk mendapatkan informasi seperti nama model yang sesuai dengan ID model melalui API.

 {
  //...
  "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 adalah pengaturan inferensi default (lebih disukai) untuk model.

info adalah informasi model.

Bagaimana cara mengambil informasi model ini?

Anda dapat mengakses {your_base_url}/model/list?show_speaker=True&show_ms_config=True untuk mendapatkan informasi terperinci tentang peran dan konfigurasi model.

Todo

Ucapan Terima Kasih

Kami ingin mengakui kontribusi dari proyek -proyek berikut dalam pengembangan proyek ini:

Memperluas
Informasi Tambahan