Tortoise adalah program text-to-speech yang dibangun dengan prioritas berikut:
Repo ini berisi semua kode yang diperlukan untuk menjalankan Tortoise TTS dalam mode inferensi.
Naskah: https://arxiv.org/abs/2305.07243
Demo langsung diselenggarakan di Hugging Face Spaces. Jika Anda ingin menghindari antrian, duplikat Space dan tambahkan GPU. Harap perhatikan bahwa ruang khusus CPU tidak berfungsi untuk demo ini.
https://huggingface.co/spaces/Manmay/tortoise-tts
pip install tortoise-tts
Jika Anda ingin menginstal versi pengembangan terbaru, Anda juga dapat menginstalnya langsung dari repositori git:
pip install git+https://github.com/neonbjb/tortoise-tts
Saya menamai repo terkait pidato saya dengan nama flora dan fauna gurun Mojave. Kura-kura agak suka bicara: model ini sangat lambat. Ini memanfaatkan dekoder autoregresif dan dekoder difusi; keduanya dikenal karena tingkat pengambilan sampelnya yang rendah. Di K80, diharapkan menghasilkan kalimat berukuran sedang setiap 2 menit.
baiklah..... tidak terlalu lambat lagi sekarang kita bisa mendapatkan RTF 0,25-0,3 pada vram 4GB dan dengan streaming kita bisa mendapatkan latensi < 500 ms !!!
Lihat halaman ini untuk daftar besar contoh keluaran.
Aplikasi keren Tortoise + GPT-3 (tidak berafiliasi dengan repositori ini): https://twitter.com/lexman_ai. Sayangnya, proyek ini sepertinya sudah tidak aktif lagi.
Jika Anda ingin menggunakannya di komputer Anda sendiri, Anda harus memiliki GPU NVIDIA.
Tip
Di Windows, saya sangat merekomendasikan menggunakan metode instalasi Conda. Saya telah diberitahu bahwa jika Anda tidak melakukan ini, Anda akan menghabiskan banyak waktu untuk mengejar masalah ketergantungan.
Pertama, instal miniconda: https://docs.conda.io/en/latest/miniconda.html
Kemudian jalankan perintah berikut, menggunakan anaconda prompt sebagai terminal (atau terminal lain yang dikonfigurasi untuk bekerja dengan conda)
Ini akan:
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
Secara opsional, pytorch dapat diinstal di lingkungan dasar, sehingga lingkungan conda lainnya juga dapat menggunakannya. Untuk melakukan ini, cukup kirimkan baris conda install pytorch...
sebelum mengaktifkan lingkungan kura-kura.
Catatan
Saat Anda ingin menggunakan tortoise-tts, Anda harus selalu memastikan lingkungan tortoise
conda diaktifkan.
Jika Anda menggunakan Windows, Anda mungkin juga perlu menginstal pysoundfile: conda install -c conda-forge pysoundfile
Cara mudah untuk mulai bekerja dan titik awal yang baik tergantung pada kasus penggunaan Anda.
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
Ini memberi Anda terminal interaktif dalam lingkungan yang siap melakukan beberapa tugas. Sekarang Anda dapat menjelajahi antarmuka berbeda yang diekspos kura-kura untuk tts.
Misalnya:
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. "
Pada macOS 13+ dengan chip M1/M2 Anda perlu menginstal PyTorch versi terbaru, seperti yang dinyatakan di halaman resmi yang dapat Anda lakukan:
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
Pastikan untuk melakukan itu setelah Anda mengaktifkan lingkungan. Jika Anda tidak menggunakan conda, perintahnya akan terlihat seperti ini:
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 .
Ketahuilah bahwa DeepSpeed dinonaktifkan di Apple Silicon karena tidak berfungsi. Bendera --use_deepspeed
diabaikan. Anda mungkin perlu menambahkan PYTORCH_ENABLE_MPS_FALLBACK=1
pada perintah di bawah ini agar dapat berfungsi karena MPS tidak mendukung semua operasi di Pytorch.
Skrip ini memungkinkan Anda mengucapkan satu frasa dengan satu atau lebih suara.
python tortoise/do_tts.py --text " I'm going to speak this " --voice random --preset fast
python tortoise/socket_server.py
akan mendengarkan di port 5000
Skrip ini menyediakan alat untuk membaca teks dalam jumlah besar.
python tortoise/read_fast.py --textfile < your text to be read > --voice random
Skrip ini menyediakan alat untuk membaca teks dalam jumlah besar.
python tortoise/read.py --textfile < your text to be read > --voice random
Ini akan memecah file teks menjadi kalimat, dan kemudian mengubahnya menjadi ucapan satu per satu. Ini akan menampilkan serangkaian klip lisan saat dibuat. Setelah semua klip dibuat, itu akan menggabungkannya menjadi satu file dan menghasilkan output juga.
Terkadang Tortoise mengacaukan output. Anda dapat membuat ulang klip buruk dengan menjalankan kembali read.py
dengan argumen --regenerate.
Tortoise dapat digunakan secara terprogram, seperti:
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' )
Untuk menggunakan kecepatan dalam:
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' )
Untuk menggunakan cache 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' )
Untuk menjalankan model di 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' )
untuk berjalan lebih cepat gunakan ketiganya:
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' )
Proyek ini mendapat lebih banyak pujian daripada yang saya harapkan. Saya berdiri di pundak para raksasa, dan saya ingin berterima kasih kepada beberapa orang luar biasa di komunitas yang telah membantu mewujudkan hal ini:
Tortoise dibangun seluruhnya oleh penulis (James Betker) menggunakan perangkat kerasnya sendiri. Majikan mereka tidak terlibat dalam aspek apa pun dalam perkembangan Tortoise.
Tortoise TTS dilisensikan di bawah lisensi Apache 2.0.
Jika Anda menggunakan repo ini atau ide-ide di dalamnya untuk penelitian Anda, silakan kutip! Hidangan bibtex dapat ditemukan di panel kanan GitHub.