Página Inicial>Relacionado com a programação>Código-Fonte de IA

Vits-Server

⚡ A Vits ONNX Server projetado para inferência rápida, suporte a streaming e configurações adicionais de inferência para ativar as configurações de preferência do modelo e otimizar o desempenho.

Vantagens?

Documentação da API

Oferecemos sistemas de chamada prontos para uso.

 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 )

Correndo?

Recomendamos o uso de um ambiente virtual para isolar o ambiente de tempo de execução. Como as dependências deste projeto podem potencialmente interromper sua biblioteca de dependência, recomendamos o uso pipenv para gerenciar o pacote de dependência.

Servidor de configuração?

A configuração está em .env , incluindo os seguintes campos:

 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"

Ou você pode usar o seguinte comando para definir a variável de ambiente:

 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 significa servidor de reinicialização automática quando o arquivo foi alterado.

Fugindo de Pipenv? e 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

E temos um script com um clique para instalar pipenv e npm :

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

Construindo do Docker?

Temos docker pull sudoskys/vits-server:main para o Docker Hub.

Você também pode construir a partir do Dockerfile.

docker build -t < image-name > .

Onde <image-name> é o nome que você deseja dar à imagem. Em seguida, use o seguinte comando para iniciar o contêiner:

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

onde <local-path> é o caminho da pasta local que você deseja mapear para o diretório /aplicativo /modelo no contêiner.

Configuração do modelo?

Na pasta model , model.onnx model.json model.pth . Se for .pth , será automaticamente convertido para .onnx !

Você pode usar .env para definir VITS_SERVER_INIT_CONFIG e VITS_SERVER_INIT_MODEL para baixar arquivos de modelo.

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

Estrutura da pasta model :

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

Model ID é 1000_epochs e 233_epochs .

Quando você coloca arquivos de modelo na pasta model , você deve reiniciar o servidor.

Design de extensão do modelo?

Você pode adicionar campos extras na configuração do modelo para obter informações como o nome do modelo correspondente ao ID do modelo através da 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 é o padrão (preferir) configurações de inferência para o modelo.

info são as informações do modelo.

Como posso recuperar essas informações do modelo?

Você pode acessar {your_base_url}/model/list?show_speaker=True&show_ms_config=True para obter informações detalhadas sobre funções e configurações do modelo.

PENDÊNCIA

Agradecimentos

Gostaríamos de reconhecer as contribuições dos seguintes projetos no desenvolvimento deste projeto:

Expandir
Informações adicionais