- Library text-to-speech (TTS) ringan berbasis ONNX dengan
State-of-the-art, yang mampu melakukan sintesis suara berkualitas tinggi hanya dengan CPU
- Ukuran model berada di kisaran 15M~80M parameter (25~80MB), sehingga dapat berjalan efisien tanpa GPU
- Menyediakan 8 suara bawaan, pengaturan kecepatan, pipeline prapemrosesan teks, dan output audio 24kHz
- Dapat langsung digunakan di Hugging Face dan mudah diintegrasikan melalui Python API
- Solusi TTS open source yang ditujukan untuk deployment di edge device dan integrasi komersial
Gambaran umum Kitten TTS
- Kitten TTS adalah library TTS open source berbasis ONNX yang melakukan sintesis suara berkualitas tinggi di CPU tanpa GPU
- Ukuran model adalah 15M~80M parameter, atau 25~80MB di disk
- Pada versi 0.8 tersedia model 15M, 40M, dan 80M
- Saat ini masih berada pada tahap developer preview, sehingga API dapat berubah di masa mendatang
- Menyediakan dukungan komersial (dukungan integrasi, suara kustom, lisensi enterprise)
Fitur utama
- Arsitektur ultra-ringan: mulai dari 25MB pada int8, cocok untuk deployment di lingkungan edge
- Optimasi CPU: menjalankan inferensi ONNX secara efisien tanpa GPU
- 8 suara bawaan: Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo
- Fitur pengaturan kecepatan: mengontrol kecepatan bicara dengan parameter
speed
- Pipeline prapemrosesan teks: otomatis menangani angka, mata uang, satuan, dan lainnya
- Output 24kHz: menghasilkan audio berkualitas tinggi pada sample rate standar
Model yang tersedia
- Tersedia empat model
- kitten-tts-mini (80M, 80MB)
- kitten-tts-micro (40M, 41MB)
- kitten-tts-nano (15M, 56MB)
- kitten-tts-nano (int8, 15M, 25MB)
- Sebagian pengguna melaporkan masalah pada model
kitten-tts-nano-0.8-int8, dan disarankan untuk membuat issue
Demo dan cara penggunaan
- Dapat dicoba langsung di browser melalui Hugging Face Spaces
- Dapat diinstal hanya dengan Python 3.8 atau lebih baru dan pip
- Contoh penggunaan dasar:
from kittentts import KittenTTS
model = KittenTTS("KittenML/kitten-tts-mini-0.8")
audio = model.generate("teks", voice="Jasper")
- Fitur lanjutan: pengaturan kecepatan (
speed), penyimpanan file (generate_to_file), dan melihat daftar suara yang tersedia
Struktur API
KittenTTS(model_name, cache_dir=None)
- Memuat model dari Hugging Face Hub
model.generate(text, voice, speed, clean_text)
- Mengubah teks menjadi audio 24kHz
model.generate_to_file(text, output_path, voice, speed, sample_rate, clean_text)
- Menyimpan hasil sintesis suara langsung ke file
model.available_voices
- Mengembalikan daftar suara yang tersedia
Persyaratan sistem
- Sistem operasi: Linux, macOS, Windows
- Python: 3.8 atau lebih baru
- Perangkat keras: hanya membutuhkan CPU, GPU tidak diperlukan
- Ruang disk: 25~80MB tergantung model
- Disarankan menggunakan virtual environment (venv, conda, dll.)
Roadmap
- Direncanakan hadir optimasi mesin inferensi, mobile SDK, model berkualitas tinggi, TTS multibahasa, dan KittenASR
- Apache License 2.0
1 komentar
Komentar Hacker News
Saya membuat pembungkus CLI untuk Kitten TTS bernama purr
paket kitten memiliki rantai dependensi kittentts → misaki[en] → spacy-curated-transformers
jadi jika diinstal langsung dengan
uv, itu akan menarik torch dan paket NVIDIA CUDA (beberapa GB), padahal tidak diperlukan untuk menjalankannyaSaat pertama dijalankan muncul error “OSError: PortAudio library not found”, tetapi teratasi dengan
apt install libportaudio2Namun saya penasaran apakah ada kehilangan fungsi saat dependensi yang tidak perlu dihapus
Proyek yang sangat keren
Saya akan segera mencobanya sendiri
Tapi saya penasaran — kenapa tidak didistribusikan dalam bentuk binary command-line?
API-nya juga hampir seperti gaya manpage, jadi sepertinya bisa dibuat dengan cepat. Hanya penasaran saja
Untuk saat ini kami ingin mendapatkan masukan untuk versi onnx, lalu setelah itu menyederhanakan proses eksekusi termasuk dengan binary command-line
Hal yang saya sukai dari OpenClaw adalah karena hanya dengan mengirim URL GitHub di Discord, ia langsung membuat pesan suara
Dalam beberapa menit saya juga mendapat benchmark dan contoh audio
Kualitasnya mengesankan untuk ukurannya. Suaranya memang belum sempurna, tapi tidak buruk
Di CPU Intel 9700 kecepatannya sekitar 1,5x real-time untuk model 80M, dan di GPU 3080 pun tidak lebih cepat
Saat ini kami memasukkan suara bergaya anime untuk menunjukkan ekspresivitasnya
Akan sangat membantu jika Anda bisa membagikan alasan lambatnya di GPU lewat issue GitHub atau Discord. Kami juga berencana menambahkan contoh kode
Saya bersusah payah menghindari konflik versi Python, dan sempat mencoba dengan Docker tapi akhirnya tetap harus menyiapkannya secara manual
Saya benar-benar tidak suka Python
Sepertinya saat ini hanya mendukung suara aksen Amerika
Secara pribadi saya hanya tertarik pada aksen Irlandia, Inggris, dan Wales. Saya kurang suka aksen Amerika
TTS yang berjalan di perangkat adalah hal yang sangat bagus sebagai alat aksesibilitas
Sebagian besar perangkat bergantung pada layanan online, dan pendekatan lokal seperti ini jauh lebih baik
Terasa ada peningkatan yang jauh lebih jelas dibanding model sebelumnya
Sangat mengesankan. Terima kasih sudah membagikannya
Model 15M saat ini lebih baik daripada model 80M lama, dan kami berencana mempertahankan kecepatan peningkatan seperti ini
Ke depannya saya ingin melihat model khusus bahasa Jepang juga
Qwen3-tts memang mendukung bahasa Jepang, tetapi kadang bahasa Mandarin ikut tercampur jadi sulit dipakai
Namun jika begitu, informasi tinggi nada bisa hilang (misalnya 飴 vs 雨)
Jika Anda memberi tahu use case-nya, kami ingin menggunakannya untuk meningkatkan kualitas
Performanya mengesankan untuk ukuran modelnya
Namun ada masalah pada pengucapan angka
Saya mencoba “Startup finished in 135 ms.” dan angkanya terdengar seperti noise
Setelah diubah menjadi “one hundred and thirty five seconds” hasilnya lumayan lebih baik
Untuk sementara bisa diatasi dengan menambahkan pra-pemrosesan teks
Sebagian besar model TTS menangani angka dan satuan dengan mengubahnya menjadi string
Ini juga akan diperbaiki di level model pada rilis berikutnya
Akan bagus jika ada contoh audio yang membandingkan keempat model
Jika ada contoh kalimat yang sama dibacakan oleh masing-masing model, akan lebih mudah dipahami
Sementara itu, Anda bisa mencoba modelnya langsung di demo Hugging Face
Saya penasaran apakah ini open source, atau model open weights
Sampai akhir pekan ini kami juga akan menambahkan phonemizer berlisensi MIT, jadi akan bisa dipakai dengan bebas