Chatterbox TTS - Model text-to-speech open-source
(github.com/resemble-ai)- Chatterbox adalah lini model text-to-speech open-source terbaru yang dirilis oleh Resemble AI, mendukung kloning suara dan pembuatan suara multibahasa
- Chatterbox Multilingual V3 terbaru mempertahankan ukuran model 0.5B sambil menargetkan peningkatan kemiripan pembicara, pengurangan halusinasi, dan suara multibahasa percakapan yang lebih natural
- Chatterbox-Turbo adalah model 350M untuk agen suara berbahasa Inggris berlatensi rendah, mengurangi pembuatan decoder speech-token-to-mel dari 10 langkah menjadi 1 langkah dan mendukung paralinguistic tag seperti
[laugh]dan[cough] - Komposisi model terbagi menjadi Turbo, Multilingual V3, Single Language Pack, dan Chatterbox lama; model multibahasa mendukung 23 bahasa termasuk bahasa Korea, sementara Single Language Pack menyediakan 6 fine-tuning khusus
- Semua audio yang dihasilkan menyertakan watermark PerTh dari Resemble AI, dan disebutkan tetap mempertahankan akurasi deteksi hampir 100% bahkan setelah kompresi MP3, penyuntingan audio, dan manipulasi umum
Ikhtisar Chatterbox TTS
- Chatterbox adalah lini model text-to-speech open-source dari Resemble AI
- Disediakan bersama sampel demo, Hugging Face Space, evaluasi Podonos, dan tautan Discord
Rilis terbaru: Chatterbox Multilingual V3
- Chatterbox Multilingual V3 adalah model TTS multibahasa serbaguna terbaru dalam lini Chatterbox
- V3 mempertahankan ukuran model 0.5B yang sama seperti sebelumnya sambil meningkatkan hal-hal berikut
- Kemiripan pembicara
- Pengurangan halusinasi
- Suara percakapan yang lebih natural di berbagai bahasa
- Seperti V2, model ini menargetkan cakupan bahasa yang luas, tetapi dirancang untuk memberikan generasi yang lebih stabil dan ekspresif
- Ini adalah model multibahasa yang direkomendasikan bagi pengguna yang menginginkan satu model kloning suara yang bekerja di berbagai bahasa
Single Language Pack
- Single Language Pack adalah kumpulan model fine-tuning khusus untuk bahasa prioritas
- Digunakan saat membutuhkan perilaku spesifik bahasa yang lebih kuat, kontrol kualitas yang lebih ketat, dan generasi yang mengenali dialek dibandingkan model multibahasa serbaguna
- Tersedia 6 model khusus
Chatterbox-Turbo
- Chatterbox-Turbo adalah model paling efisien untuk agen suara berbahasa Inggris berlatensi rendah
- Menggunakan arsitektur ringkas dengan 350M parameter, dan dirancang untuk menghasilkan suara berkualitas tinggi dengan komputasi dan VRAM lebih sedikit dibandingkan model sebelumnya
- Dengan melakukan distillation pada decoder speech-token-to-mel yang menjadi bottleneck, model ini mengurangi tahap generasi dari 10 langkah menjadi 1 langkah
- Turbo mendukung paralinguistic tag seperti
[cough],[laugh], dan[chuckle]secara bawaan, sehingga dapat menambahkan ekspresi yang realistis - Kegunaan utamanya adalah agen suara berlatensi rendah, tetapi disebutkan juga cocok untuk narasi dan workflow kreatif
- Layanan TTS komersialnya diperkenalkan sebagai menyediakan performa latensi ultra-rendah di bawah 200 ms dan cocok untuk penggunaan produksi pada agen, aplikasi, dan media interaktif
Komposisi model
| Model | Ukuran | Bahasa | Fitur utama | Cocok untuk |
|---|---|---|---|---|
| Chatterbox-Turbo | 350M | English | paralinguistic tag, komputasi·VRAM rendah | agen suara zero-shot, produksi |
| Chatterbox-Multilingual V3 | 500M | 23+ | peningkatan kemiripan pembicara, pengurangan halusinasi, suara multibahasa natural | aplikasi global, lokalisasi, kloning suara lintas bahasa |
| Single Language Pack | masing-masing 500M | 6 fine-tuning khusus | kontrol kualitas per bahasa·wilayah | aplikasi yang sensitif terhadap bahasa dan dialek prioritas |
| Chatterbox | 500M | English | penyesuaian CFG dan exaggeration | TTS zero-shot umum dengan kontrol kreatif |
Instalasi dan menjalankan
- Paket diinstal dengan
pip install chatterbox-tts - Instalasi dari source juga didukung
git clone https://github.com/resemble-ai/chatterbox.git cd chatterbox pip install -e . - Lingkungan pengembangan dan pengujian adalah Python 3.11 dan Debian 11, dengan versi dependensi dikunci di
pyproject.toml - Dalam mode instalasi dari source, kode atau dependensi dapat dimodifikasi
Cara penggunaan
- Chatterbox-Turbo memuat model dengan
ChatterboxTurboTTS.from_pretrained(device="cuda"), dan meneruskan path klip referensi keaudio_prompt_pathuntuk kloning suara - Contoh Turbo menghasilkan kalimat yang berisi paralinguistic tag seperti
[chuckle] - Model bahasa Inggris umum menggunakan
ChatterboxTTS, sedangkan model multibahasa menggunakanChatterboxMultilingualTTS - V3 multibahasa dimuat dengan
ChatterboxMultilingualTTS.from_pretrained(device=device, t3_model="v3")- Untuk menggunakan checkpoint V2 legacy, hilangkan
t3_modelatau teruskan"v2"
- Untuk menggunakan checkpoint V2 legacy, hilangkan
- Untuk mensintesis dengan suara lain, tentukan file audio referensi pada
audio_prompt_path - Contoh tambahan ada di
example_tts.pydanexample_vc.py
Bahasa yang didukung
- Model Chatterbox Multilingual serbaguna mendukung 23 bahasa berikut
- Arabic
ar - Danish
da - German
de - Greek
el - English
en - Spanish
es - Finnish
fi - French
fr - Hebrew
he - Hindi
hi - Italian
it - Japanese
ja - Korean
ko - Malay
ms - Dutch
nl - Norwegian
no - Polish
pl - Portuguese
pt - Russian
ru - Swedish
sv - Swahili
sw - Turkish
tr - Chinese
zh
- Arabic
Tips penyesuaian Chatterbox lama
- Klip referensi harus sesuai dengan tag bahasa yang ditentukan
- Jika tidak, keluaran transfer bahasa dapat mewarisi aksen dari bahasa klip referensi
- Untuk mengurangi hal ini, atur
cfg_weightke0
- Nilai default adalah
exaggeration=0.5dancfg_weight=0.5, dan bekerja baik untuk sebagian besar prompt dan bahasa - Jika kecepatan bicara pembicara referensi cepat, menurunkan
cfg_weightke sekitar0.3dapat membantu mengatur kecepatan - Untuk suara yang ekspresif atau dramatis, coba
cfg_weightyang rendah danexaggeration0.7atau lebihexaggerationyang tinggi cenderung mempercepat kecepatan bicara- Mengurangi
cfg_weightmembantu mengoreksinya ke tempo yang lebih lambat dan hati-hati
Watermarking PerTh bawaan
- Semua file audio yang dihasilkan dengan Chatterbox menyertakan watermark Perth dari Resemble AI
- Watermark ini adalah watermark neural yang tidak terdeteksi, berbasis Perceptual Threshold
- Disebutkan tetap bertahan setelah kompresi MP3, penyuntingan audio, dan manipulasi umum, serta mempertahankan akurasi deteksi hampir 100%
- Ekstraksi watermark dilakukan dengan
perth.PerthImplicitWatermarker()danget_watermark()- Hasilnya ditampilkan sebagai tanpa watermark
0.0atau ada watermark1.0
- Hasilnya ditampilkan sebagai tanpa watermark
Evaluasi
- Chatterbox Turbo dievaluasi dengan Podonos, platform evaluasi suara subjektif yang dapat direproduksi
- Pembandingnya adalah sistem TTS pesaing, dengan fokus evaluasi pada preferensi keseluruhan, kenaturalan, dan ekspresivitas
- Laporan evaluasi publik tersedia
- Semua evaluasi dilakukan dalam kondisi yang sama dan dapat diakses secara publik melalui Podonos
Pemberitahuan selain lisensi
- README menyatakan “jangan gunakan model ini untuk hal-hal buruk”
- Prompt disebutkan diambil dari data yang dapat diakses bebas di internet
1 komentar
Komentar Hacker News
Demo bisa dilihat di sini: https://resemble-ai.github.io/chatterbox_demopage/
Kalau ini bukan sampel yang terlalu dipilih-pilih, ini rilis yang cukup bagus. Saya selalu mengatakan hal yang sama, tetapi saat dicoba sendiri, bottleneck pada AI suara bukan di sintesis suara melainkan di sisi kualitas transkripsi. Tidak tahu apakah belakangan ini sudah berubah
Saya memang belum mencoba memberi LLM transkrip alternatif atau skor kepercayaan sekaligus, tetapi tampaknya itu juga sangat mungkin bisa dimanfaatkan dengan baik
Fitur untuk membandingkannya dengan daftar frasa umum juga diperlukan. Sulit mencari alasan jika LLM salah melafalkan “live feed” atau “live here”
https://huggingface.co/nvidia/parakeet-tdt-0.6b-v2
Saya memakainya untuk chat real-time dan pembuatan subtitle, dan di 3090 bisa memproses satu episode acara TV dalam waktu kurang dari satu menit. Dalam kasus saya, Whisper terlalu banyak berhalusinasi, dan lebih berguna jika dipakai sebagai pengklasifikasi
Bisa dicoba gratis di sini: https://huggingface.co/spaces/ResembleAI/Chatterbox
Jika menginginkan model yang lebih “open”, untuk standar kloning suara zero-shot MaskGCT dan MegaTTS3 terdengar lebih baik, sedangkan untuk voice conversion Seed-VC dan MegaTTS3 juga lebih bagus. Namun, yang memiliki kode pelatihan/fine-tuning hanya Seed-VC. Kalau pada akhirnya tetap harus memakai model yang tidak bisa di-fine-tune dan membutuhkan kloning zero-shot yang lebih cocok dengan suara sendiri, lebih baik pakai yang itu daripada Chatterbox. Khususnya MegaTTS3 dari ByteDance sangat kuat. Para peneliti ByteDance jauh lebih unggul daripada kebanyakan tim riset TTS selain ElevenLabs, dan mereka juga punya jauh lebih banyak pendanaan, peneliti tingkat PhD, serta data pelatihan
Hanya saja, aksen Australia saya diubah menjadi sangat British, bahkan seperti aksen RP yang berkelas. Terdengar sangat alami, tetapi tidak bisa mereproduksi aksen saya. Meski begitu, selama bukan untuk meniru seseorang secara nyata, ini luar biasa jelas dan cocok untuk sebagian besar penggunaan TTS
Chatterbox itu luar biasa
Saya juga membuat wrapper API yang mempermudah instalasi dan mendukung Docker: https://github.com/travisvn/chatterbox-tts-api/
Dalam pengalaman saya, ini sejauh ini opsi kloning suara terbaik yang bisa dipakai secara lokal
Mohon maklum kalau pertanyaan di bawah ini sangat mendasar. Saya mencari perintah CLI sederhana untuk menunjuk file teks lokal alih-alih objek
inputinline, tetapi tidak menemukannya. Kalau ada petunjuk, saya akan sangat berterima kasihSepertinya dibuat berdasarkan 2.6.
"chatterbox-tts 0.1.2 requires torch==2.6.0, but you have torch 2.7.0+cu128 which is incompatible. chatterbox-tts 0.1.2 requires torchaudio==2.6.0, but you have torchaudio 2.7.0+cu128 which is incompatible."Disebutkan bahwa semua file audio yang dihasilkan Chatterbox menyertakan watermark Perth dari Resemble AI
Katanya ini watermark jaringan saraf yang tak kasatmata, tetap bertahan terhadap kompresi MP3, penyuntingan audio, dan manipulasi umum, serta mempertahankan akurasi deteksi nyaris 100%. Tapi kalau aku tidak salah paham, bukankah watermark ini bisa dimatikan dengan mudah hanya dengan mengomentari pemanggilan
apply_watermarkditts.py? https://github.com/resemble-ai/chatterbox/blob/master/src/ch...Menurutku inti dari watermark semacam ini adalah bahwa ia seharusnya tertanam di dalam bobot model sehingga tidak mudah dipisahkan. Kalau model open source dirilis lalu watermark hanya ditempel sebagai tahap pascapemrosesan terpisah, sejak awal aku jadi tidak paham kenapa watermark itu ditambahkan
Atau mungkin tujuannya dari sudut pandang data pelatihan adalah mencegah data aneh tercampur secara tidak sengaja
--no-watermark. Kukira ini dimasukkan sebagai “fitur” untuk pengguna turunan yang ingin memakainya di produk yang lebih besarPemimpin pasar TTS sudah jelas dan posisinya sangat kuat, jadi tempat seperti Resemble dan Play(HT) harus benar-benar berfokus pada pengembang sambil menyediakan bobot model [1]. Watermarking adalah mekanisme lepas tanggung jawab untuk itu. Tanpa watermark, kekhawatiran tentang penyalahgunaan akan ramai dibahas, terutama oleh media anti-AI seperti 404Media [2].
[1] Ini memang pendekatan yang benar. Sediakan source code dan bobot model, serta tawarkan juga API sendiri dan fine-tuning agar pengembang tidak perlu repot. Dengan begitu mereka bisa merebut kembali sebagian pangsa pasar.
[2] https://www.404media.co/wikipedia-pauses-ai-generated-summar...
Mungkin ini pertanyaan bodoh, tapi kira-kira seperti apa spesifikasi perangkat keras minimum untuk bisa menjalankannya?
Kalau membantu, ini masalah yang kutemui: Python 3.13 tidak bisa, dan itu teratasi setelah membuat virtual environment 3.12 dengan
uv. Muncul pesan bahwa numpy 1.26.4 tidak ada, padahal sebenarnya ada;uv pipternyata hanya mencarinya di repositori PyTorch. Aku harus memberi flag--index-strategyagar ia juga memeriksa repositori lain. Versipip install chatterbox-ttspunya bug untuk mode CPU-only, jadi aku harus meng-clone repositori Git-nya, lalu versi terbaru di main membutuhkanprotobuf-compilerdi Debian. Pada akhirnya muncul error CMake yang sulit dipahami, dan sepertinya itu mengeluhkan header pengembangan Python yang tidak ada. Aku cuma mau melakukan inferensi, bukan mengompilasi Python, jadi aku tidak paham kenapa itu diperlukan.Aku tahu marah-marah tidak produktif, tapi hampir setiap kali mencoba menjalankan proyek Python orang lain, pengalamannya selalu seperti ini. Ketemu satu masalah lalu mundur, ketemu masalah lain lalu mundur, dan setelah satu jam tetap saja belum bisa jalan
Jika modelnya cukup bagus, besar kemungkinan seseorang akan menemukan cara mengoptimalkannya agar bisa berjalan dengan sumber daya yang lebih kecil.
Edit: aku mencobanya di Nvidia 2060 lama, dan penggunaan VRAM maksimum tampaknya sekitar 5GB
Dalam kondisi default, tampaknya butuh perangkat keras konsumen yang cukup kuat agar bisa berjalan dengan kecepatan lumayan. Meski begitu, ruang untuk perbaikan tampak cukup besar, tapi aku bukan ahli.
[1]: https://github.com/resemble-ai/chatterbox/issues/127
Kalau bisa dijalankan gratis tetapi lebih murah menyewa layanan, maka alasan untuk menjalankannya sendiri jadi hilang
Fitur emosi yang dilebih-lebihkan memang menarik, tetapi aku masih belum melihat sesuatu yang setara dengan ElevenLabs dalam hal fleksibilitas dan kemudahan “membentuk” suara hanya dari deskripsi suara yang diinginkan
SparkTTS menyediakan beberapa parameter tambahan, dan dari placeholder di kode proyek GitHub tampak bahwa modelnya bisa saja ditingkatkan untuk kontrol emosi yang lebih rinci. Bahkan sekarang pun aku pernah lumayan berhasil dengan memasukkan petunjuk yang sangat kuat tentang prosodi dan nada ke dalam teks, lalu memasukkan hasilnya kembali ke voice conversion untuk mendekati hasil yang diinginkan. Tapi prosesnya jauh lebih merepotkan dibanding ElevenLabs
Pada aksen yang sangat umum hasilnya luar biasa, tetapi untuk aksen lain yang juga cukup umum, model ini bisa dengan mudah terkunci ke aksen yang berbeda
Misalnya, beberapa rekaman aksen Skotlandia keluar sebagai aksen Australia, dan aksen Yorkshire yang cukup ringan juga begitu
Apakah hal-hal seperti ini sudah cukup bagus untuk membacakan buku dengan meyakinkan? Atau setelah beberapa paragraf, konsistensi suara mulai runtuh?
Untuk tulisan panjang, lebih baik hasilkan per paragraf dalam batch lalu sambung lagi di akhir. Selain itu, kalau sampel WAV one-shot tidak benar-benar bersih, Chatterbox kadang mengeluarkan suara swoosh kasar acak di akhir audio yang dihasilkan. Kalau sedang merekam Inferno karya Dante, itu mungkin malah bonus
Kita perlu rutin mengingatkan teman dan keluarga agar lebih curiga terhadap panggilan telepon.
Kemungkinan bahwa teman yang mendadak butuh kartu hadiah Walmart itu sebenarnya bukan teman kita makin besar
Penyamaran jadi terlalu mudah dan murah, sehingga dalam waktu dekat rasanya mustahil panggilan penipuan seperti ini tidak membanjir
Kalau disela dengan “bisakah kamu membuat puisi tentang x?”, itu bisa menyaringnya dengan andal. Hanya saja latensi respons-nya terlalu kentara
Dalam situasi nyata, lawan bicara tentu tahu kata sandi itu sehingga bisa memverifikasi diri. Di era baru saat suara dan video AI sudah memungkinkan, kita perlu terus menanamkan bahwa kata sandi ini bisa mencegah peniruan
Sejauh mana tingkat tercanggih TTS multibahasa open source saat ini? Kokoro sangat bagus untuk bahasa Inggris, tetapi saya masih mencari solusi yang bagus untuk bahasa Prancis, Jepang, dan Jerman