หน้าแรก>การเขียนโปรแกรมที่เกี่ยวข้อง>โค้ดแหล่งที่มา AI

VITS SERVER

⚡ 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 เพื่อจัดการแพ็คเกจการพึ่งพา

config server?

การกำหนดค่าอยู่ใน .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

และเรามีสคริปต์คลิกเดียวเพื่อติดตั้ง pipenv และ npm :

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_CONFIG และ VITS_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 ID คือ 1000_epochs และ 233_epochs

เมื่อคุณใส่ไฟล์โมเดลในโฟลเดอร์ model คุณควรรีสตาร์ทเซิร์ฟเวอร์

การออกแบบส่วนขยายแบบจำลอง?

คุณสามารถเพิ่มฟิลด์พิเศษในการกำหนดค่าโมเดลเพื่อรับข้อมูลเช่นชื่อรุ่นที่สอดคล้องกับ ID รุ่นผ่าน 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 คือการตั้งค่าการอนุมานเริ่มต้น (ต้องการ) สำหรับโมเดล

info คือข้อมูลรุ่น

ฉันจะดึงข้อมูลโมเดลเหล่านี้ได้อย่างไร

คุณสามารถเข้าถึง {your_base_url}/model/list?show_speaker=True&show_ms_config=True เพื่อรับข้อมูลรายละเอียดเกี่ยวกับบทบาทและการกำหนดค่า

สิ่งที่ต้องทำ

กิตติกรรมประกาศ

เราต้องการรับทราบการมีส่วนร่วมของโครงการต่อไปนี้ในการพัฒนาโครงการนี้:

ขยาย
ข้อมูลเพิ่มเติม