ขอบคุณกอดหน้า!
สมุดบันทึก colab
โปรดทราบว่ารหัสที่แตกต่างกันอาจรองรับภาษาที่แตกต่างกัน Speakers
https://artrajz-vits-simple-api.hf.space/voice/vits?text=你好,こんにちは&id=164https://artrajz-vits-simple-api.hf.space/voice/vits?text=Difficult the first time, easy the second.&id=4https://artrajz-vits-simple-api.hf.space/voice/w2v2-vits?text=こんにちは&id=3&emotion=111https://artrajz-vits-simple-api.hf.space/w2v2-vits?text=こんにちは&id=3&emotion=2077มีตัวเลือกการปรับใช้สองตัวเลือกให้เลือก โดยไม่คำนึงถึงตัวเลือกที่คุณเลือกคุณจะต้องนำเข้าโมเดลหลังจากการปรับใช้เพื่อใช้แอปพลิเคชัน
เรียกใช้คำสั่งต่อไปนี้เพื่อดึงอิมเมจนักเทียบท่า ทำตามพรอมต์ในสคริปต์เพื่อเลือกไฟล์ที่จำเป็นในการดาวน์โหลดและดึงภาพ:
bash -c " $( wget -O- https://raw.githubusercontent.com/Artrajz/vits-simple-api/main/vits-simple-api-installer-latest.sh ) " พา ธ เริ่มต้นสำหรับไฟล์การกำหนดค่าโครงการและโฟลเดอร์รุ่นคือ /usr/local/vits-simple-api/
เรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มคอนเทนเนอร์:
docker-compose up -dหากต้องการอัปเดตรูปภาพให้เรียกใช้คำสั่งต่อไปนี้:
docker-compose pullจากนั้นรีสตาร์ทคอนเทนเนอร์:
docker-compose up -dโคลนพื้นที่เก็บข้อมูลโครงการโดยใช้คำสั่งต่อไปนี้:
git clone https://github.com/Artrajz/vits-simple-api.gitขอแนะนำให้ใช้สภาพแวดล้อมเสมือนจริงกับ Python เวอร์ชัน 3.10 สำหรับโครงการนี้ เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งการพึ่งพา Python ที่จำเป็นสำหรับโครงการ:
หากคุณพบปัญหาในการติดตั้งการพึ่งพาบางอย่างโปรดดูปัญหาทั่วไปที่ระบุไว้ด้านล่าง
pip install -r requirements.txtเรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มโปรแกรม:
python app.pyไปที่หน้ารีลีสและดาวน์โหลดแพ็คเกจการปรับใช้ล่าสุด แยกไฟล์ที่ดาวน์โหลดมา
Run start.bat เพื่อเปิดโปรแกรม
ดาวน์โหลดไฟล์รุ่น VITS และวางไว้ในโฟลเดอร์ data/models
เริ่มต้นจากเวอร์ชัน 0.6.6 มันเป็นพฤติกรรมเริ่มต้นในการโหลดทุกรุ่นโดยอัตโนมัติในโฟลเดอร์ data/models ทำให้การเริ่มต้นใช้งานง่ายขึ้น
หลังจากการเริ่มต้นเริ่มต้นไฟล์การกำหนดค่า config.yaml จะถูกสร้างขึ้น คุณต้องเปลี่ยน tts_config.auto_load เป็น false เพื่อเปิดใช้งานโหมดการโหลดด้วยตนเอง
คุณสามารถแก้ไข tts_config.models ใน config.yaml หรือทำการแก้ไขในแผงผู้ดูแลระบบในเบราว์เซอร์
หมายเหตุ: หลังจากเวอร์ชัน 0.6.6 เส้นทางการโหลดรุ่นได้รับการแก้ไขแล้ว โปรดทำตามขั้นตอนด้านล่างเพื่อกำหนดค่าเส้นทางโมเดลอีกครั้ง!
เส้นทางสามารถเป็นเส้นทางที่แน่นอนหรือเส้นทางสัมพัทธ์ หากเป็นเส้นทางที่สัมพันธ์กันมันจะเริ่มต้นจากโฟลเดอร์ data/models ในไดเรกทอรีรากของโครงการ
ตัวอย่างเช่นหากโฟลเดอร์ data/models มีไฟล์ต่อไปนี้:
├─model1
│ │─G_1000.pth
│ └─config.json
└─model2
│─G_1000.pth
└─config.json
กรอกการกำหนดค่าเช่นนี้ในไฟล์ YAML:
tts_config :
auto_load : false
models :
- config_path : model1/config.json
model_path : model1/G_1000.pth
- config_path : model2/config.json
model_path : model2/G_1000.pth
# GPT-SoVITS
- sovits_path : gpt_sovits1/model1_e8_s11536.pth
gpt_path : gpt_sovits1/model1-e15.ckpt
- sovits_path : gpt_sovits2/model2_e8_s11536.pth
gpt_path : gpt_sovits2/model2-e15.ckpt การโหลดโมเดลผ่านแผงผู้ดูแลระบบนั้นสะดวก แต่ถ้าคุณต้องการโหลดโมเดลนอกโฟลเดอร์ data/models คุณสามารถทำได้โดยการแก้ไขไฟล์การกำหนดค่า config.yaml วิธีการคือการให้เส้นทางที่สมบูรณ์โดยตรง
ตัวอย่างเส้นทางสัมบูรณ์:
tts_config :
auto_load : false
models :
- config_path : D://model3/config.json
model_path : D://model3/G_1000.pth หลังจากดาวน์โหลดโมเดลเบิร์ตและโมเดลอารมณ์ให้วางไว้ใน data/bert และโฟลเดอร์ data/emotional ตามลำดับ ค้นหาชื่อที่เกี่ยวข้องและแทรกตามนั้น
ตรวจสอบ CUDA เวอร์ชันสูงสุดที่รองรับโดยกราฟิกการ์ดของคุณ:
nvidia-smi
รับ Cuda 11.7 เป็นตัวอย่างดาวน์โหลดจากเว็บไซต์ทางการ
https://pytorch.org/
pip install torch --index-url https://download.pytorch.org/whl/cu118
กระบวนการติดตั้งคล้ายกัน แต่ฉันไม่มีสภาพแวดล้อมที่จะทดสอบ
http://127.0.0.1:23456
*พอร์ตสามารถแก้ไขได้ภายใต้การตั้งค่าเริ่มต้นของพอร์ต 23456
ที่อยู่เริ่มต้นคือ http://127.0.0.1:23456/admin
ชื่อผู้ใช้และรหัสผ่านเริ่มต้นสามารถพบได้โดยการค้นหา 'ผู้ดูแลระบบ' ในไฟล์ config.yaml หลังจากเริ่มต้นครั้งแรก
แบ็กเอนด์ผู้ดูแลระบบอนุญาตให้โหลดและขนถ่ายโมเดลและในขณะที่มีการตรวจสอบสิทธิ์เข้าสู่ระบบเพื่อความปลอดภัยที่เพิ่มขึ้นคุณสามารถปิดการใช้งานแบ็กเอนด์ผู้ดูแลระบบใน config.yaml :
' IS_ADMIN_ENABLED ' : !!bool 'false'การวัดพิเศษนี้ช่วยให้มั่นใจในความปลอดภัยอย่างแน่นอนเมื่อทำให้แบ็กเอนด์ผู้ดูแลระบบไม่สามารถเข้าถึงเครือข่ายสาธารณะได้
เริ่มต้นจาก BERT-VITS2 V2.0 รุ่นต้องใช้การโหลดแบบจำลอง Bert สามภาษาที่แตกต่างกัน หากคุณต้องการใช้หนึ่งหรือสองภาษาคุณสามารถเพิ่มพารามิเตอร์ lang ในไฟล์ config.json ของส่วนข้อมูลของรุ่น ค่า ["zh"] บ่งชี้ว่าแบบจำลองใช้เฉพาะภาษาจีนและจะโหลดรุ่นเบิร์ตจีน ค่า ["zh", "ja"] บ่งบอกถึงการใช้งานของทั้งสองภาษาจีนและญี่ปุ่นและรุ่นเบิร์ตจีนและญี่ปุ่นเท่านั้นที่จะโหลด ในทำนองเดียวกันรูปแบบนี้ยังคงดำเนินต่อไปสำหรับการผสมผสานภาษาอื่น ๆ
ตัวอย่าง:
"data" : {
"lang" : [ " zh " , " ja " ],
"training_files" : " filelists/train.list " ,
"validation_files" : " filelists/val.list " ,
"max_wav_value" : 32768.0 ,
... หากคุณพบปัญหาเกี่ยวกับการออกเสียงที่ไม่ถูกต้องของอักขระโพลีโฟนิกคุณสามารถลองแก้ไขปัญหาโดยใช้วิธีการต่อไปนี้
สร้างและเปิดวลี _dict.txt ในไดเรกทอรี data เพื่อเพิ่มคำโพลีโฟนิก
{
"一骑当千" : [[ "yí" ], [ "jì" ], [ "dāng" ], [ "qiān" ]],
}ค้นหาการกำหนดค่าสำหรับ gpt-sovits ในไฟล์ config.yaml เพิ่มที่ตั้งไว้ล่วงหน้าภายใต้ส่วนที่ตั้งไว้ล่วงหน้า สามารถเพิ่มจำนวนที่ตั้งไว้ล่วงหน้าหลายรายการโดยมีคีย์ทำหน้าที่เป็นชื่อที่ตั้งไว้ล่วงหน้า ด้านล่างเป็นสองที่ตั้งค่าล่วงหน้าสองค่าเริ่มต้นและค่าเริ่มต้น 2:
gpt_sovits_config:
hz: 50
is_half: false
id: 0
lang: auto
format: wav
segment_size: 50
presets:
default:
refer_wav_path: null
prompt_text: null
prompt_lang: auto
default2:
refer_wav_path: null
prompt_text: null
prompt_lang: auto
ทดสอบใน Legado
หลายรุ่นสามารถใช้สำหรับการอ่านรวมถึง vits, bert-vits2, gpt-sovits พารามิเตอร์เริ่มต้น in การกำหนดค่าลำโพงของข้อความในเครื่องหมายคำพูดในขณะที่พารามิเตอร์เริ่มต้นด้วย nr กำหนดค่าผู้บรรยาย
ในการใช้ GPT-sovits จำเป็นต้องกำหนดค่าเสียงอ้างอิงในส่วน presets ของไฟล์ config.yaml ล่วงหน้าและแก้ไขที่ตั้งไว้ล่วงหน้าใน URL ด้านล่าง
IP ใน URL สามารถพบได้หลังจาก API เริ่มต้นโดยทั่วไปโดยใช้เครือข่ายท้องถิ่น IP เริ่มต้นด้วย 192.168
หลังจากการดัดแปลงให้เลือกเอ็นจิ้นการอ่านเพิ่มเอ็นจิ้นการอ่านวางแหล่งที่มาและเปิดใช้งานเอ็นจิ้นการอ่าน
{
"concurrentRate" : "1" ,
"contentType" : "audio/wav" ,
"enabledCookieJar" : false ,
"header" : "" ,
"id" : 1709643305070 ,
"lastUpdateTime" : 1709821070082 ,
"loginCheckJs" : "" ,
"loginUi" : "" ,
"loginUrl" : "" ,
"name" : "vits-simple-api" ,
"url" : "http://192.168.xxx.xxx:23456/voice/reading?text={{java.encodeURI(speakText)}}&in_model_type=GPT-SOVITS&in_id=0&in_preset=default&nr_model_type=BERT-VITS2&nr_id=0&nr_preset=default&format=wav&lang=zh"
}เพื่อให้แน่ใจว่าเข้ากันได้กับรุ่น BERT-VITS2 ให้แก้ไขไฟล์ config.json โดยการเพิ่มพารามิเตอร์เวอร์ชัน "เวอร์ชัน": "xxx" ตัวอย่างเช่นหากรุ่นรุ่นคือ 1.0.1 ไฟล์การกำหนดค่าควรเขียนเป็น:
{
"version" : " 1.0.1 " ,
"train" : {
"log_interval" : 10 ,
"eval_interval" : 100 ,
"seed" : 52 ,
... โปรดทราบว่าสำหรับเวอร์ชันพิเศษของจีนควรเปลี่ยนเป็น extra หรือ zh-clap และสำหรับเวอร์ชันการแก้ไขเพิ่มเติมเวอร์ชันควรเป็น 2.4 หรือ extra-fix
รับ http://127.0.0.1:23456/voice/speakers
ส่งคืนตารางการทำแผนที่ของรหัสบทบาทไปยังชื่อผู้พูด
รับ http://127.0.0.1:23456/voice/vits?text=text
ค่าเริ่มต้นจะถูกใช้เมื่อไม่ได้ระบุพารามิเตอร์อื่น ๆ
รับ http://127.0.0.1:23456/voice/vits?text= [[zh likeText [[า
เมื่อ lang = ผสมข้อความจะต้องมีคำอธิบายประกอบ
รับ http://127.0.0.1:23456/voice/vits?text=text&id=142&format=wav&lang=zh&length=1.4
ข้อความคือ "ข้อความ" รหัสบทบาทคือ 142 รูปแบบเสียงคือ Wav ภาษาข้อความคือ zh ความยาวของคำพูดคือ 1.4 และพารามิเตอร์อื่น ๆ เป็นค่าเริ่มต้น
api_test.py SET api_key_enabled: true ใน config.yaml เพื่อเปิดใช้งานการรับรองความถูกต้องคีย์ API คีย์ API คือ api_key: api-key หลังจากเปิดใช้งานแล้วคุณจะต้องเพิ่มพารามิเตอร์ api_key ใน GET Requests และเพิ่มพารามิเตอร์ X-API-KEY ในส่วนหัวสำหรับคำขอโพสต์
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| ข้อความสังเคราะห์ | ข้อความ | จริง | str | ข้อความที่จำเป็นสำหรับการสังเคราะห์เสียง | |
| ID ลำโพง | รหัสประจำตัว | เท็จ | จาก config.yaml | int | รหัสลำโพง |
| รูปแบบเสียง | รูปแบบ | เท็จ | จาก config.yaml | str | รองรับ WAV, OGG, Silk, MP3, FLAC |
| ภาษาข้อความ | หรั่ง | เท็จ | จาก config.yaml | str | ภาษาของข้อความที่จะสังเคราะห์ ตัวเลือกที่มีอยู่ ได้แก่ Auto, ZH, JA และ MIX เมื่อ lang = mix ข้อความควรถูกห่อใน [zh] หรือ [ja] โหมดเริ่มต้นคืออัตโนมัติซึ่งตรวจจับภาษาของข้อความโดยอัตโนมัติโดยอัตโนมัติ |
| ความยาวเสียง | ความยาว | เท็จ | จาก config.yaml | ลอย | ปรับความยาวของคำพูดสังเคราะห์ซึ่งเทียบเท่ากับการปรับความเร็วของคำพูด ค่าที่ใหญ่ขึ้นความเร็วจะช้าลง |
| เสียงรบกวน | เสียงรบกวน | เท็จ | จาก config.yaml | ลอย | ตัวอย่างเสียงรบกวนการควบคุมการสุ่มของการสังเคราะห์ |
| เสียงรบกวน SDP | เสียงดัง | เท็จ | จาก config.yaml | ลอย | เสียงการทำนายระยะเวลาสุ่มควบคุมความยาวของการออกเสียงฟอนิม |
| ขนาดส่วน | segment_size | เท็จ | จาก config.yaml | int | แบ่งข้อความออกเป็นย่อหน้าตามเครื่องหมายวรรคตอนและรวมเข้าด้วยกันเป็นหนึ่งย่อหน้าเมื่อความยาวเกิน segment_size หาก segment_size <= 0 ข้อความจะไม่ถูกแบ่งออกเป็นวรรค |
| การตอบสนองสตรีมมิ่ง | การสตรีม | เท็จ | เท็จ | บูล | คำพูดสังเคราะห์ที่มีสตรีมที่มีการตอบสนองเริ่มต้นเร็วขึ้น |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| อัปโหลดเสียง | อัพโหลด | จริง | ไฟล์ | ไฟล์เสียงที่จะอัปโหลด ควรอยู่ใน WAV หรือ OGG | |
| ID บทบาทแหล่งที่มา | ต้นฉบับ _ID | จริง | int | ID ของบทบาทที่ใช้ในการอัปโหลดไฟล์เสียง | |
| รหัสบทบาทเป้าหมาย | target_id | จริง | int | ID ของบทบาทเป้าหมายในการแปลงเสียงเป็น |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| อัปโหลดเสียง | อัพโหลด | จริง | ไฟล์ | ไฟล์เสียงที่จะอัปโหลด ควรอยู่ในรูปแบบ WAV หรือ OGG | |
| รหัสลำโพงเป้าหมาย | รหัสประจำตัว | จริง | int | รหัสลำโพงเป้าหมาย | |
| รูปแบบเสียง | รูปแบบ | จริง | str | Wav, Ogg, ไหม | |
| ความยาวเสียง | ความยาว | จริง | ลอย | ปรับความยาวของคำพูดสังเคราะห์ซึ่งเทียบเท่ากับการปรับความเร็วของคำพูด ค่าที่ใหญ่ขึ้นความเร็วจะช้าลง | |
| เสียงรบกวน | เสียงรบกวน | จริง | ลอย | ตัวอย่างเสียงรบกวนการควบคุมการสุ่มของการสังเคราะห์ | |
| เสียงรบกวน SDP | เสียงดัง | จริง | ลอย | เสียงการทำนายระยะเวลาสุ่มควบคุมความยาวของการออกเสียงฟอนิม |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| ข้อความสังเคราะห์ | ข้อความ | จริง | str | ข้อความที่จำเป็นสำหรับการสังเคราะห์เสียง | |
| ID ลำโพง | รหัสประจำตัว | เท็จ | จาก config.yaml | int | รหัสลำโพง |
| รูปแบบเสียง | รูปแบบ | เท็จ | จาก config.yaml | str | รองรับ WAV, OGG, Silk, MP3, FLAC |
| ภาษาข้อความ | หรั่ง | เท็จ | จาก config.yaml | str | ภาษาของข้อความที่จะสังเคราะห์ ตัวเลือกที่มีอยู่ ได้แก่ Auto, ZH, JA และ MIX เมื่อ lang = mix ข้อความควรถูกห่อใน [zh] หรือ [ja] โหมดเริ่มต้นคืออัตโนมัติซึ่งตรวจจับภาษาของข้อความโดยอัตโนมัติโดยอัตโนมัติ |
| ความยาวเสียง | ความยาว | เท็จ | จาก config.yaml | ลอย | ปรับความยาวของคำพูดสังเคราะห์ซึ่งเทียบเท่ากับการปรับความเร็วของคำพูด ค่าที่ใหญ่ขึ้นความเร็วจะช้าลง |
| เสียงรบกวน | เสียงรบกวน | เท็จ | จาก config.yaml | ลอย | ตัวอย่างเสียงรบกวนการควบคุมการสุ่มของการสังเคราะห์ |
| เสียงรบกวน SDP | เสียงดัง | เท็จ | จาก config.yaml | ลอย | เสียงการทำนายระยะเวลาสุ่มควบคุมความยาวของการออกเสียงฟอนิม |
| ขนาดส่วน | segment_size | เท็จ | จาก config.yaml | int | แบ่งข้อความออกเป็นย่อหน้าตามเครื่องหมายวรรคตอนและรวมเข้าด้วยกันเป็นหนึ่งย่อหน้าเมื่อความยาวเกิน segment_size หาก segment_size <= 0 ข้อความจะไม่ถูกแบ่งออกเป็นวรรค |
| อารมณ์ความรู้สึก | อารมณ์ | เท็จ | 0 | int | ช่วงขึ้นอยู่กับไฟล์อ้างอิงอารมณ์ในรูปแบบ NPY เช่นช่วงของโมเดลของ Innnky All_emotions.npy ซึ่งเป็น 0-5457 |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| อัปโหลดเสียง | อัพโหลด | จริง | ไฟล์ | ส่งคืนไฟล์ NPY ที่เก็บเวกเตอร์อารมณ์มิติ |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| ข้อความสังเคราะห์ | ข้อความ | จริง | str | ข้อความที่จำเป็นสำหรับการสังเคราะห์เสียง | |
| ID ลำโพง | รหัสประจำตัว | เท็จ | จาก config.yaml | int | รหัสลำโพง |
| รูปแบบเสียง | รูปแบบ | เท็จ | จาก config.yaml | str | รองรับ WAV, OGG, Silk, MP3, FLAC |
| ภาษาข้อความ | หรั่ง | เท็จ | จาก config.yaml | str | "Auto" เป็นโหมดสำหรับการตรวจจับภาษาอัตโนมัติและยังเป็นโหมดเริ่มต้น อย่างไรก็ตามในปัจจุบันรองรับการตรวจจับภาษาของข้อความทั้งหมดและไม่สามารถแยกแยะภาษาได้ตามประโยคต่อประโยค ตัวเลือกภาษาอื่น ๆ ที่มีอยู่คือ "ZH" และ "JA" |
| ความยาวเสียง | ความยาว | เท็จ | จาก config.yaml | ลอย | ปรับความยาวของคำพูดสังเคราะห์ซึ่งเทียบเท่ากับการปรับความเร็วของคำพูด ค่าที่ใหญ่ขึ้นความเร็วจะช้าลง |
| เสียงรบกวน | เสียงรบกวน | เท็จ | จาก config.yaml | ลอย | ตัวอย่างเสียงรบกวนการควบคุมการสุ่มของการสังเคราะห์ |
| เสียงรบกวน SDP | เสียงดัง | เท็จ | จาก config.yaml | ลอย | เสียงการทำนายระยะเวลาสุ่มควบคุมความยาวของการออกเสียงฟอนิม |
| ขนาดส่วน | segment_size | เท็จ | จาก config.yaml | int | แบ่งข้อความออกเป็นย่อหน้าตามเครื่องหมายวรรคตอนและรวมเข้าด้วยกันเป็นหนึ่งย่อหน้าเมื่อความยาวเกิน segment_size หาก segment_size <= 0 ข้อความจะไม่ถูกแบ่งออกเป็นวรรค |
| อัตราส่วน SDP/DP Mix | sdp_ratio | เท็จ | จาก config.yaml | int | สัดส่วนทางทฤษฎีของ SDP ในระหว่างการสังเคราะห์ยิ่งอัตราส่วนที่สูงขึ้นความแปรปรวนที่ใหญ่ขึ้นในเสียงเสียงสังเคราะห์ |
| อารมณ์ | อารมณ์ | เท็จ | จาก config.yaml | int | มีให้สำหรับ bert-vits2 v2.1 ตั้งแต่ 0 ถึง 9 |
| เสียงอ้างอิงอารมณ์ | reference_audio | เท็จ | ไม่มี | bert-vits2 v2.1 ใช้เสียงอ้างอิงเพื่อควบคุมอารมณ์ความรู้สึกของเสียงสังเคราะห์ | |
| ข้อความแจ้ง | text_prompt | เท็จ | จาก config.yaml | str | bert-vits2 v2.2 ข้อความข้อความที่ใช้สำหรับการควบคุมอารมณ์ |
| ข้อความสไตล์ | style_text | เท็จ | จาก config.yaml | str | bert-vits2 v2.3 ข้อความข้อความที่ใช้สำหรับการควบคุมอารมณ์ |
| น้ำหนักข้อความสไตล์ | style_weight | เท็จ | จาก config.yaml | ลอย | bert-vits2 v2.3 น้ำหนักข้อความที่ใช้สำหรับน้ำหนักที่รวดเร็ว |
| การตอบสนองสตรีมมิ่ง | การสตรีม | เท็จ | เท็จ | บูล | คำพูดสังเคราะห์ที่มีสตรีมที่มีการตอบสนองเริ่มต้นเร็วขึ้น |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| ข้อความสังเคราะห์ | ข้อความ | จริง | str | ข้อความที่จำเป็นสำหรับการสังเคราะห์เสียง | |
| ID ลำโพง | รหัสประจำตัว | เท็จ | จาก config.yaml | int | รหัสลำโพง ใน GPT-Sovits แต่ละรุ่นจะทำหน้าที่เป็น ID ลำโพงและเสียงจะถูกสลับโดยการตั้งค่าเสียงอ้างอิง |
| รูปแบบเสียง | รูปแบบ | เท็จ | จาก config.yaml | str | รองรับ WAV, OGG, Silk, MP3, FLAC |
| ภาษาข้อความ | หรั่ง | เท็จ | จาก config.yaml | str | "Auto" เป็นโหมดการตรวจจับภาษาอัตโนมัติซึ่งเป็นโหมดเริ่มต้น อย่างไรก็ตามในปัจจุบันรองรับการจดจำภาษาของข้อความทั้งหมดและไม่สามารถแยกแยะแต่ละประโยคได้ |
| เสียงอ้างอิง | reference_audio | เท็จ | ไม่มี | จำเป็นต้องใช้ reference_audio แต่สามารถแทนที่ได้ด้วยการตั้งค่าล่วงหน้า | |
| ข้อความอ้างอิงเสียงอ้างอิง | พรอมต์ _text | เท็จ | จาก config.yaml | ลอย | ต้องสอดคล้องกับข้อความจริงของเสียงอ้างอิง |
| ภาษาอ้างอิงเสียง | พรอมต์ _lang | เท็จ | จาก config.yaml | str | ค่าเริ่มต้นเป็นอัตโนมัติสำหรับการจดจำภาษาข้อความอัตโนมัติ หากการรับรู้ล้มเหลวให้เติมด้วยตนเอง ZH สำหรับภาษาจีน JA สำหรับภาษาญี่ปุ่น en สำหรับภาษาอังกฤษ |
| การอ้างอิงเสียงอ้างอิงที่ตั้งไว้ล่วงหน้า | ตั้งไว้ล่วงหน้า | เท็จ | ค่าเริ่มต้น | str | แทนที่เสียงอ้างอิงด้วยการตั้งค่าล่วงหน้าที่ตั้งไว้ล่วงหน้าสามารถตั้งค่าที่ตั้งไว้ล่วงหน้าหลายรายการได้ |
องค์ประกอบและคุณลักษณะที่รองรับ
speak องค์ประกอบ
| คุณลักษณะ | คำแนะนำ | ต้อง |
|---|---|---|
| รหัสประจำตัว | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| หรั่ง | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| ความยาว | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| เสียงรบกวน | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| เสียงดัง | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| segment_size | แยกข้อความออกเป็นกลุ่มตามเครื่องหมายวรรคตอน เมื่อผลรวมของความยาวเซ็กเมนต์เกิน segment_size จะได้รับการปฏิบัติเป็นส่วนเดียว segment_size<=0 หมายถึงไม่มีการแบ่งส่วน ค่าเริ่มต้นคือ 0 | เท็จ |
| model_type | ค่าเริ่มต้นคือ VITS ตัวเลือก: w2v2-vits, bert-vits2 | เท็จ |
| อารมณ์ | มีผลเฉพาะเมื่อใช้ w2v2-vits ช่วงขึ้นอยู่กับไฟล์อ้างอิงอารมณ์ NPY | เท็จ |
| sdp_ratio | มีผลเฉพาะเมื่อใช้ bert-vits2 | เท็จ |
องค์ประกอบ voice
ลำดับความสำคัญสูงกว่า speak
| คุณลักษณะ | คำแนะนำ | ต้อง |
|---|---|---|
| รหัสประจำตัว | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| หรั่ง | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| ความยาว | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| เสียงรบกวน | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| เสียงดัง | ค่าเริ่มต้นจะดึงมาจาก config.yaml | เท็จ |
| segment_size | แยกข้อความออกเป็นกลุ่มตามเครื่องหมายวรรคตอน เมื่อผลรวมของความยาวเซ็กเมนต์เกิน segment_size จะได้รับการปฏิบัติเป็นส่วนเดียว segment_size<=0 หมายถึงไม่มีการแบ่งส่วน ค่าเริ่มต้นคือ 0 | เท็จ |
| model_type | ค่าเริ่มต้นคือ VITS ตัวเลือก: w2v2-vits, bert-vits2 | เท็จ |
| อารมณ์ | มีผลเฉพาะเมื่อใช้ w2v2-vits ช่วงขึ้นอยู่กับไฟล์อ้างอิงอารมณ์ NPY | เท็จ |
| sdp_ratio | มีผลเฉพาะเมื่อใช้ bert-vits2 | เท็จ |
break องค์ประกอบ
| คุณลักษณะ | คำแนะนำ | ต้อง |
|---|---|---|
| ความแข็งแกร่ง | X-Weak, อ่อนแอ, ปานกลาง (เริ่มต้น), Strong, X-Strong | เท็จ |
| เวลา | ระยะเวลาสัมบูรณ์ของการหยุดชั่วคราวในวินาที (เช่น 2s ) หรือมิลลิวินาที (เช่น 500ms ) ค่าที่ถูกต้องมีตั้งแต่ 0 ถึง 5,000 มิลลิวินาที หากคุณตั้งค่ามากกว่าค่าสูงสุดที่รองรับบริการจะใช้ 5000ms หากตั้งค่าแอตทริบิวต์ time แอตทริบิวต์ strength จะถูกละเว้น | เท็จ |
| ความแข็งแกร่ง | ระยะเวลาสัมพัทธ์ |
|---|---|
| x-weak | 250 มิลลิวินาที |
| อ่อนแอ | 500 มิลลิวินาที |
| ปานกลาง | 750 มิลลิวินาที |
| แข็งแกร่ง | 1,000 มิลลิวินาที |
| X-Strong | 1250 มิลลิวินาที |
| ชื่อ | พารามิเตอร์ | ต้อง | ค่าเริ่มต้น | พิมพ์ | คำแนะนำ |
|---|---|---|---|---|---|
| ข้อความการสังเคราะห์ | ข้อความ | จริง | str | ข้อความที่จะสังเคราะห์เป็นคำพูด | |
| ประเภทโมเดลคู่สนทนา | in_model_type | เท็จ | ได้รับจาก config.yaml | str | |
| ID คู่สนทนา | in_id | เท็จ | ได้รับจาก config.yaml | int | |
| การตั้งค่าเสียงอ้างอิงคู่สนทนา | ตั้งไว้ล่วงหน้า | เท็จ | ค่าเริ่มต้น | str | แทนที่เสียงอ้างอิงด้วยการตั้งค่าที่ตั้งไว้ล่วงหน้าซึ่งสามารถตั้งค่าเป็นหลายค่าล่วงหน้า |
| ประเภทรุ่นผู้บรรยาย | nr_model_type | เท็จ | ได้รับจาก config.yaml | str | |
| รหัสผู้บรรยาย | NR_ID | เท็จ | ได้รับจาก config.yaml | int | |
| ผู้บรรยายอ้างอิงเสียงล่วงหน้า | ตั้งไว้ล่วงหน้า | เท็จ | ค่าเริ่มต้น | str | แทนที่เสียงอ้างอิงด้วยการตั้งค่าที่ตั้งไว้ล่วงหน้าซึ่งสามารถตั้งค่าเป็นหลายค่าล่วงหน้า |
| รูปแบบเสียง | รูปแบบ | เท็จ | ได้รับจาก config.yaml | str | รองรับ WAV, OGG, Silk, MP3, FLAC |
| ภาษาข้อความ | หรั่ง | เท็จ | ได้รับจาก config.yaml | str | 'อัตโนมัติ' สำหรับโหมดการตรวจจับภาษาอัตโนมัติซึ่งเป็นโหมดเริ่มต้น อย่างไรก็ตามในปัจจุบันรองรับการจดจำภาษาของข้อความทั้งหมดเท่านั้นและไม่สามารถแยกแยะแต่ละประโยคได้ |
| การอ้างอิงเสียงอ้างอิงที่ตั้งไว้ล่วงหน้า | ตั้งไว้ล่วงหน้า | เท็จ | ค่าเริ่มต้น | str | แทนที่เสียงอ้างอิงด้วยการตั้งค่าที่ตั้งไว้ล่วงหน้าซึ่งสามารถตั้งค่าเป็นหลายค่าล่วงหน้า |
พารามิเตอร์อื่น ๆ ของโมเดลจะใช้พารามิเตอร์เริ่มต้นของโมเดลที่เกี่ยวข้องในไฟล์ config.yaml
ดู api_test.py
การเรียนรู้และการสื่อสารตอนนี้มีกลุ่ม QQ จีนเท่านั้น