Tortoise เป็นโปรแกรมแปลงข้อความเป็นคำพูดที่สร้างขึ้นโดยมีความสำคัญดังต่อไปนี้:
repo นี้มีโค้ดทั้งหมดที่จำเป็นในการรัน Tortoise TTS ในโหมดอนุมาน
ต้นฉบับ: https://arxiv.org/abs/2305.07243
การสาธิตสดจัดขึ้นที่ Hugging Face Spaces หากคุณต้องการหลีกเลี่ยงคิว โปรดทำซ้ำ Space และเพิ่ม GPU โปรดทราบว่าพื้นที่เฉพาะ CPU ใช้ไม่ได้กับการสาธิตนี้
https://huggingface.co/spaces/Manmay/tortoise-tts
pip install tortoise-tts
หากคุณต้องการติดตั้งเวอร์ชันการพัฒนาล่าสุด คุณสามารถติดตั้งได้โดยตรงจากที่เก็บ git:
pip install git+https://github.com/neonbjb/tortoise-tts
ฉันกำลังตั้งชื่อ repos ที่เกี่ยวข้องกับคำพูดของฉันตามพืชและสัตว์ในทะเลทรายโมฮาวี เต่าชอบกัดลิ้นนิดหน่อย โมเดลนี้ช้ามาก มันใช้ประโยชน์จากทั้งตัวถอดรหัสอัตโนมัติ และ ตัวถอดรหัสการแพร่กระจาย ทั้งสองรู้จักกันในเรื่องอัตราการสุ่มตัวอย่างต่ำ สำหรับ K80 ควรสร้างประโยคขนาดกลางทุกๆ 2 นาที
เอาล่ะ..... ไม่ช้าอีกต่อไปแล้วตอนนี้เราสามารถรับ 0.25-0.3 RTF บน vram 4GB และด้วยการสตรีมมิ่งเราจะได้รับเวลาแฝง < 500 ms !!!
ดูหน้านี้สำหรับรายการตัวอย่างเอาต์พุตจำนวนมาก
แอปพลิเคชั่นสุดเจ๋งของ Tortoise + GPT-3 (ไม่เกี่ยวข้องกับพื้นที่เก็บข้อมูลนี้): https://twitter.com/lexman_ai ขออภัย ดูเหมือนว่าโครงการนี้จะไม่เปิดใช้งานอีกต่อไป
หากคุณต้องการใช้สิ่งนี้บนคอมพิวเตอร์ของคุณเอง คุณต้องมี NVIDIA GPU
เคล็ดลับ
บน Windows ฉัน ขอ แนะนำให้ใช้วิธีการติดตั้ง Conda ฉันได้รับแจ้งว่าถ้าคุณไม่ทำเช่นนี้ คุณจะใช้เวลานานมากในการไล่ตามปัญหาการพึ่งพา
ขั้นแรก ติดตั้ง miniconda: https://docs.conda.io/en/latest/miniconda.html
จากนั้นรันคำสั่งต่อไปนี้ โดยใช้พรอมต์อนาคอนดาเป็นเทอร์มินัล (หรือเทอร์มินัลอื่นใดที่กำหนดค่าให้ทำงานกับ conda)
สิ่งนี้จะ:
conda create --name tortoise python=3.9 numba inflect
conda activate tortoise
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
conda install transformers=4.29.2
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
python setup.py install
อีกทางหนึ่ง สามารถติดตั้ง pytorch ในสภาพแวดล้อมพื้นฐานได้ เพื่อให้สภาพแวดล้อม conda อื่นๆ สามารถใช้งานได้เช่นกัน ในการดำเนินการนี้ เพียงส่งบรรทัด conda install pytorch...
ก่อนที่จะเปิดใช้งานสภาพแวดล้อมเต่า
บันทึก
เมื่อคุณต้องการใช้ tortoise-tts คุณจะต้องตรวจสอบให้แน่ใจว่าสภาพแวดล้อม conda tortoise
เปิดใช้งานอยู่เสมอ
หากคุณใช้ windows คุณอาจต้องติดตั้ง pysoundfile: conda install -c conda-forge pysoundfile
วิธีง่ายๆ ในการวิ่งลงสู่พื้นและจุดกระโดดที่ดี ขึ้นอยู่กับกรณีการใช้งานของคุณ
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
docker build . -t tts
docker run --gpus all
-e TORTOISE_MODELS_DIR=/models
-v /mnt/user/data/tortoise_tts/models:/models
-v /mnt/user/data/tortoise_tts/results:/results
-v /mnt/user/data/.cache/huggingface:/root/.cache/huggingface
-v /root:/work
-it tts
สิ่งนี้จะทำให้คุณมีเทอร์มินัลแบบโต้ตอบในสภาพแวดล้อมที่พร้อมที่จะทำ tts ตอนนี้คุณสามารถสำรวจอินเทอร์เฟซต่างๆ ที่เต่าใช้สำหรับ tts ได้
ตัวอย่างเช่น:
cd app
conda activate tortoise
time python tortoise/do_tts.py
--output_path /results
--preset ultra_fast
--voice geralt
--text " Time flies like an arrow; fruit flies like a bananna. "
บน macOS 13+ ที่มีชิป M1/M2 คุณต้องติดตั้ง PyTorch เวอร์ชันใกล้เคียงกัน ตามที่ระบุไว้ในหน้าอย่างเป็นทางการ คุณสามารถทำได้:
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
อย่าลืมทำเช่นนั้นหลังจากที่คุณเปิดใช้งานสภาพแวดล้อมแล้ว หากคุณไม่ได้ใช้ conda คำสั่งจะมีลักษณะดังนี้:
python3.10 -m venv .venv
source .venv/bin/activate
pip install numba inflect psutil
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
pip install transformers
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
pip install .
โปรดทราบว่า DeepSpeed ถูกปิดใช้งานบน Apple Silicon เนื่องจากใช้งานไม่ได้ แฟล็ก --use_deepspeed
จะถูกละเว้น คุณอาจต้องเติม PYTORCH_ENABLE_MPS_FALLBACK=1
ไว้ข้างหน้าคำสั่งด้านล่างเพื่อให้ทำงานได้ เนื่องจาก MPS ไม่รองรับการดำเนินการทั้งหมดใน Pytorch
สคริปต์นี้ช่วยให้คุณพูดวลีเดียวด้วยเสียงตั้งแต่หนึ่งเสียงขึ้นไป
python tortoise/do_tts.py --text " I'm going to speak this " --voice random --preset fast
python tortoise/socket_server.py
จะฟังที่พอร์ต 5000
สคริปต์นี้มีเครื่องมือสำหรับการอ่านข้อความจำนวนมาก
python tortoise/read_fast.py --textfile < your text to be read > --voice random
สคริปต์นี้มีเครื่องมือสำหรับการอ่านข้อความจำนวนมาก
python tortoise/read.py --textfile < your text to be read > --voice random
การดำเนินการนี้จะแบ่งไฟล์ข้อความออกเป็นประโยค จากนั้นแปลงเป็นคำพูดทีละประโยค มันจะส่งออกคลิปเสียงพูดเป็นชุดในขณะที่ถูกสร้างขึ้น เมื่อสร้างคลิปทั้งหมดแล้ว มันจะรวมคลิปเหล่านั้นเป็นไฟล์เดียวและส่งออกด้วยเช่นกัน
บางครั้งเต่าก็ขันเอาต์พุตผิดพลาด คุณสามารถสร้างคลิปที่ไม่ดีขึ้นมาใหม่ได้โดยการรัน read.py
อีกครั้งโดยใช้อาร์กิวเมนต์ --regenerate
Tortoise สามารถใช้โดยทางโปรแกรมได้ เช่น:
reference_clips = [ utils . audio . load_audio ( p , 22050 ) for p in clips_paths ]
tts = api . TextToSpeech ()
pcm_audio = tts . tts_with_preset ( "your text here" , voice_samples = reference_clips , preset = 'fast' )
วิธีใช้ดีพสปีด:
reference_clips = [ utils . audio . load_audio ( p , 22050 ) for p in clips_paths ]
tts = api . TextToSpeech ( use_deepspeed = True )
pcm_audio = tts . tts_with_preset ( "your text here" , voice_samples = reference_clips , preset = 'fast' )
วิธีใช้แคช kv:
reference_clips = [ utils . audio . load_audio ( p , 22050 ) for p in clips_paths ]
tts = api . TextToSpeech ( kv_cache = True )
pcm_audio = tts . tts_with_preset ( "your text here" , voice_samples = reference_clips , preset = 'fast' )
วิธีรันโมเดลใน float16:
reference_clips = [ utils . audio . load_audio ( p , 22050 ) for p in clips_paths ]
tts = api . TextToSpeech ( half = True )
pcm_audio = tts . tts_with_preset ( "your text here" , voice_samples = reference_clips , preset = 'fast' )
สำหรับการวิ่งที่เร็วขึ้นให้ใช้ทั้งสามอย่าง:
reference_clips = [ utils . audio . load_audio ( p , 22050 ) for p in clips_paths ]
tts = api . TextToSpeech ( use_deepspeed = True , kv_cache = True , half = True )
pcm_audio = tts . tts_with_preset ( "your text here" , voice_samples = reference_clips , preset = 'fast' )
โครงการนี้ได้รับการยกย่องมากกว่าที่ฉันคาดไว้ ฉันกำลังยืนอยู่บนไหล่ของยักษ์ใหญ่ และฉันต้องการยกย่องคนที่น่าทึ่งบางคนในชุมชนที่ช่วยทำให้สิ่งนี้เกิดขึ้น:
เต่าถูกสร้างขึ้นทั้งหมดโดยผู้เขียน (James Betker) โดยใช้ฮาร์ดแวร์ของตัวเอง นายจ้างของพวกเขาไม่ได้เกี่ยวข้องกับการพัฒนาเต่าแต่อย่างใด
Tortoise TTS ได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0
หากคุณใช้ repo นี้หรือแนวคิดในนั้นเพื่อการวิจัยของคุณ โปรดอ้างอิงด้วย! สามารถพบได้ในบานหน้าต่างด้านขวาบน GitHub