홈페이지>프로그래밍 관련>AI 소스 코드

vits-server

⚡ 고속 추론, 스트리밍 지원 및 추가 추론 설정을 위해 설계된 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> 는 컨테이너의 /앱 /모델 디렉토리에 매핑하려는 로컬 폴더 경로입니다.

모델 구성?

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_epochs233_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 액세스 할 수 있습니다. 모델 역할 및 구성에 대한 자세한 정보를 얻을 수 있습니다.

TODO

감사의 말

우리는이 프로젝트의 개발에서 다음 프로젝트의 기여를 인정하고 싶습니다.

확장하다
추가 정보