โปรดใช้ช่องทางเฉพาะของเราสำหรับคำถามและการสนทนา ความช่วยเหลือจะมีคุณค่ามากขึ้นหากแบ่งปันแบบสาธารณะ เพื่อให้ผู้คนได้รับประโยชน์จากความช่วยเหลือมากขึ้น
พิมพ์ | แพลตฟอร์ม |
---|---|
รายงานข้อผิดพลาด | ตัวติดตามปัญหา GitHub |
- คำขอคุณลักษณะและแนวคิด | ตัวติดตามปัญหา GitHub |
? คำถามการใช้งาน | การสนทนา GitHub |
- การสนทนาทั่วไป | การสนทนาหรือความไม่ลงรอยกันของ GitHub |
พิมพ์ | ลิงค์ |
---|---|
เอกสารประกอบ | อ่าน TheDocs |
- การติดตั้ง | TTS/README.md |
? มีส่วนร่วม | การมีส่วนร่วม.md |
- แผนที่ถนน | แผนพัฒนาหลัก |
รุ่นที่วางจำหน่าย | การเผยแพร่ TTS และโมเดลการทดลอง |
- เอกสาร | เอกสารทีทีเอส |
ที่ขีดเส้นใต้ "TTS*" และ "Judy*" เป็นโมเดล ภายใน ?TTS ที่ไม่ได้เผยแพร่เป็นโอเพ่นซอร์ส พวกเขามาที่นี่เพื่อแสดงศักยภาพ โมเดลที่ขึ้นต้นด้วยจุด (.Jofish .Abe และ .Janice) คือเสียงของมนุษย์จริงๆ
Trainer API
ที่สมบูรณ์dataset_analysis
คุณยังสามารถช่วยเราปรับใช้โมเดลเพิ่มเติมได้
?TTS ได้รับการทดสอบบน Ubuntu 18.04 ด้วย python >= 3.9, < 3.12 -
หากคุณสนใจเฉพาะการสังเคราะห์เสียงพูดด้วยโมเดล ?TTS ที่วางจำหน่าย การติดตั้งจาก PyPI ถือเป็นตัวเลือกที่ง่ายที่สุด
pip install TTS
หากคุณวางแผนที่จะเขียนโค้ดหรือฝึกโมเดล ให้โคลน ?TTS และติดตั้งในเครื่อง
git clone https://github.com/coqui-ai/TTS
pip install -e .[all,dev,notebooks] # Select the relevant extras
หากคุณใช้ Ubuntu (Debian) คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งได้
$ make system-deps # intended to be used on Ubuntu (Debian). Let us know if you have a different OS.
$ make install
หากคุณใช้ Windows ?@GuyPaddock เขียนคำแนะนำในการติดตั้งไว้ที่นี่
คุณยังสามารถลองใช้ TTS โดยไม่ต้องติดตั้งด้วยอิมเมจนักเทียบท่า เพียงเรียกใช้คำสั่งต่อไปนี้แล้วคุณจะสามารถเรียกใช้ TTS ได้โดยไม่ต้องติดตั้ง
docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu
python3 TTS/server/server.py --list_models # To get the list of available models
python3 TTS/server/server.py --model_name tts_models/en/vctk/vits # To start a server
จากนั้นคุณสามารถเพลิดเพลินกับเซิร์ฟเวอร์ TTS ได้ที่นี่ รายละเอียดเพิ่มเติมเกี่ยวกับอิมเมจนักเทียบท่า (เช่น การรองรับ GPU) มีอยู่ที่นี่
import torch
from TTS . api import TTS
# Get device
device = "cuda" if torch . cuda . is_available () else "cpu"
# List available ?TTS models
print ( TTS (). list_models ())
# Init TTS
tts = TTS ( "tts_models/multilingual/multi-dataset/xtts_v2" ). to ( device )
# Run TTS
# ❗ Since this model is multi-lingual voice cloning model, we must set the target speaker_wav and language
# Text to speech list of amplitude values as output
wav = tts . tts ( text = "Hello world!" , speaker_wav = "my/cloning/audio.wav" , language = "en" )
# Text to speech to a file
tts . tts_to_file ( text = "Hello world!" , speaker_wav = "my/cloning/audio.wav" , language = "en" , file_path = "output.wav" )
# Init TTS with the target model name
tts = TTS ( model_name = "tts_models/de/thorsten/tacotron2-DDC" , progress_bar = False ). to ( device )
# Run TTS
tts . tts_to_file ( text = "Ich bin eine Testnachricht." , file_path = OUTPUT_PATH )
# Example voice cloning with YourTTS in English, French and Portuguese
tts = TTS ( model_name = "tts_models/multilingual/multi-dataset/your_tts" , progress_bar = False ). to ( device )
tts . tts_to_file ( "This is voice cloning." , speaker_wav = "my/cloning/audio.wav" , language = "en" , file_path = "output.wav" )
tts . tts_to_file ( "C'est le clonage de la voix." , speaker_wav = "my/cloning/audio.wav" , language = "fr-fr" , file_path = "output.wav" )
tts . tts_to_file ( "Isso é clonagem de voz." , speaker_wav = "my/cloning/audio.wav" , language = "pt-br" , file_path = "output.wav" )
การแปลงเสียงใน source_wav
เป็นเสียงของ target_wav
tts = TTS ( model_name = "voice_conversion_models/multilingual/vctk/freevc24" , progress_bar = False ). to ( "cuda" )
tts . voice_conversion_to_file ( source_wav = "my/source.wav" , target_wav = "my/target.wav" , file_path = "output.wav" )
ด้วยวิธีนี้ คุณสามารถโคลนเสียงได้โดยใช้โมเดลใดๆ ใน ?TTS
tts = TTS ( "tts_models/de/thorsten/tacotron2-DDC" )
tts . tts_with_vc_to_file (
"Wie sage ich auf Italienisch, dass ich dich liebe?" ,
speaker_wav = "target/speaker.wav" ,
file_path = "output.wav"
)
สำหรับรุ่น Fairseq ให้ใช้รูปแบบชื่อต่อไปนี้: tts_models/<lang-iso_code>/fairseq/vits
คุณสามารถค้นหารหัส ISO ของภาษาได้ที่นี่ และเรียนรู้เกี่ยวกับโมเดล Fairseq ที่นี่
# TTS with on the fly voice conversion
api = TTS ( "tts_models/deu/fairseq/vits" )
api . tts_with_vc_to_file (
"Wie sage ich auf Italienisch, dass ich dich liebe?" ,
speaker_wav = "target/speaker.wav" ,
file_path = "output.wav"
)
tts
บรรทัดคำสั่งสังเคราะห์คำพูดบนบรรทัดคำสั่ง
คุณสามารถใช้โมเดลที่ผ่านการฝึกอบรมของคุณหรือเลือกโมเดลจากรายการที่ให้ไว้
หากคุณไม่ระบุโมเดลใดๆ ระบบจะใช้โมเดลภาษาอังกฤษแบบ LJSpeech
รายการรุ่นที่ให้มา:
$ tts --list_models
รับข้อมูลโมเดล (สำหรับทั้ง tts_models และ vocoder_models):
การค้นหาตามประเภท/ชื่อ: model_info_by_name ใช้ชื่อตามที่มาจาก --list_models
$ tts --model_info_by_name "<model_type>/<language>/<dataset>/<model_name>"
ตัวอย่างเช่น:
$ tts --model_info_by_name tts_models/tr/common-voice/glow-tts
$ tts --model_info_by_name vocoder_models/en/ljspeech/hifigan_v2
การสืบค้นตามประเภท/idx: model_query_idx ใช้ idx ที่สอดคล้องกันจาก --list_models
$ tts --model_info_by_idx "<model_type>/<model_query_idx>"
ตัวอย่างเช่น:
$ tts --model_info_by_idx tts_models/3
ข้อมูลการค้นหาสำหรับข้อมูลรุ่นตามชื่อเต็ม:
$ tts --model_info_by_name "<model_type>/<language>/<dataset>/<model_name>"
เรียกใช้ TTS ด้วยโมเดลเริ่มต้น:
$ tts --text "Text for TTS" --out_path output/path/speech.wav
เรียกใช้ TTS และไพพ์ข้อมูลไฟล์ TTS wav ที่สร้างขึ้น:
$ tts --text "Text for TTS" --pipe_out --out_path output/path/speech.wav | aplay
เรียกใช้โมเดล TTS ด้วยโมเดล vocoder เริ่มต้น:
$ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav
ตัวอย่างเช่น:
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --out_path output/path/speech.wav
รันด้วยรุ่น TTS และ vocoder เฉพาะจากรายการ:
$ tts --text "Text for TTS" --model_name "<model_type>/<language>/<dataset>/<model_name>" --vocoder_name "<model_type>/<language>/<dataset>/<model_name>" --out_path output/path/speech.wav
ตัวอย่างเช่น:
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts" --vocoder_name "vocoder_models/en/ljspeech/univnet" --out_path output/path/speech.wav
เรียกใช้โมเดล TTS ของคุณเอง (โดยใช้ Griffin-Lim Vocoder):
$ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
ใช้งานโมเดล TTS และ Vocoder ของคุณเอง:
$ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
--vocoder_path path/to/vocoder.pth --vocoder_config_path path/to/vocoder_config.json
แสดงรายการวิทยากรที่มีอยู่และเลือก <speaker_id> จากทั้งหมด:
$ tts --model_name "<language>/<dataset>/<model_name>" --list_speaker_idxs
เรียกใช้โมเดล TTS ที่มีลำโพงหลายตัวด้วยรหัสลำโพงเป้าหมาย:
$ tts --text "Text for TTS." --out_path output/path/speech.wav --model_name "<language>/<dataset>/<model_name>" --speaker_idx <speaker_id>
ใช้งานโมเดล TTS ที่มีลำโพงหลายตัวของคุณเอง:
$ tts --text "Text for TTS" --out_path output/path/speech.wav --model_path path/to/model.pth --config_path path/to/config.json --speakers_file_path path/to/speaker.json --speaker_idx <speaker_id>
$ tts --out_path output/path/speech.wav --model_name "<language>/<dataset>/<model_name>" --source_wav <path/to/speaker/wav> --target_wav <path/to/reference/wav>
|- notebooks/ (Jupyter Notebooks for model evaluation, parameter selection and data analysis.)
|- utils/ (common utilities.)
|- TTS
|- bin/ (folder for all the executables.)
|- train*.py (train your target model.)
|- ...
|- tts/ (text to speech models)
|- layers/ (model layer definitions)
|- models/ (model definitions)
|- utils/ (model specific utilities.)
|- speaker_encoder/ (Speaker Encoder models.)
|- (same)
|- vocoder/ (Vocoder models.)
|- (same)