Bagi para pengembang software, mengintegrasikan fitur text-to-speech (TTS) sering kali menjadi buah simalakama. Pilihan yang ada biasanya jatuh pada menyewa API cloud pihak ketiga yang menguras kantong secara terus-menerus, atau terpaksa melakukan setup model AI raksasa yang membutuhkan GPU kelas berat dengan konsumsi daya luar biasa besar. Untungnya, kini hadir Pocket TTS: TTS Real-Time Open Source dari Kyutai Labs, sebuah solusi alternatif yang sangat pragmatis bagi para developer lokal maupun global yang ingin menjalankan TTS secara lokal tanpa pusing memikirkan tagihan server atau konfigurasi CUDA yang rumit.
Lupakan kerumitan menyewa infrastruktur cloud. Dengan proyek buatan Manu Orsini, Simon Rouard, Gabriel De Marmiesse, Václav Volhejn, Neil Zeghidour, dan Alexandre Défossez ini, membuat audio sintesis berkualitas kini hanya berjarak satu perintah instalasi pip dan satu pemanggilan fungsi sederhana.
Bedah Spesifikasi: Seberapa Ringan Model 100M Parameter Ini?
Mayoritas model TTS modern di pasar saat ini menuntut spesifikasi hardware yang tidak masuk akal untuk penggunaan konsumen biasa. Pocket TTS mendobrak batasan tersebut dengan menawarkan ukuran model yang sangat ringkas, yaitu hanya memiliki 100 juta parameter. Pengurangan ukuran ini tidak berarti performanya murahan. Pada pengujian internal menggunakan hardware modern seperti MacBook Air M4, model ini mampu berlari hingga 6 kali lebih cepat dari real-time (6x real-time) dengan hanya memanfaatkan 2 CPU core saja.
Latensi yang ditawarkan juga sangat menjanjikan untuk kebutuhan interaktif. Anda hanya membutuhkan waktu sekitar 200 milidetik untuk mendapatkan chunk audio pertama (audio streaming). Kecepatan ini dicapai berkat optimalisasi kode yang berfokus penuh pada eksekusi CPU, sehingga Anda tidak membutuhkan PyTorch versi GPU untuk menjalankannya.
| Perangkat / Setup Hardware | Kecepatan (Real-Time Factor / RTF) | Catatan Penggunaan |
|---|---|---|
| MacBook Air M4 (CPU) | ~6.0x real-time | Menggunakan hanya 2 CPU core |
| Cloud x86 VM (4 vCPUs) | ~2.3 - 2.5x real-time | Baseline performa CPU virtual |
| Cloud x86 VM + Tesla T4 (GPU) | ~6.28x real-time | Peningkatan 2.6x dibanding CPU cloud |
Pengukuran di atas menunjukkan bahwa pada hardware dengan performa single-thread CPU yang sangat kuat seperti Apple Silicon, pemindahan model ke GPU tidak memberikan peningkatan kecepatan yang signifikan karena model ini bekerja dengan batch size sebesar 1. Namun, jika Anda menggunakan cloud VM dengan spesifikasi CPU yang thread-limited, memindahkan model ke GPU seperti Tesla T4 menggunakan perintah standar tts_model.to("cuda") akan memberikan peningkatan performa hingga 2.6 kali lipat.
Mengatasi Masalah Bottleneck Instalasi PyTorch di Linux
Satu masalah klasik yang sering membuat developer kesal saat berurusan dengan ekosistem Python di Linux adalah dependensi PyTorch. Secara default, manajer paket seperti pip akan menarik build CUDA dari PyTorch meskipun Anda hanya berniat menjalankan model di CPU. Hal ini membuat ukuran instalasi membengkak hingga sekitar 3 GB karena harus mengunduh berbagai package runtime NVIDIA yang sebenarnya tidak dibutuhkan.
Pocket TTS mengatasi masalah ini dengan mendukung instalasi dari index CPU PyTorch secara eksplisit. Anda bisa memangkas ukuran instalasi dari yang tadinya bergiga-giga menjadi hanya sekitar 200 MB saja. Jika Anda menggunakan manajer paket modern seperti uv, Anda bisa mengonfigurasinya langsung di dalam file project:
toml[[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true [tool.uv.sources] torch = [{ index = "pytorch-cpu" }]
Untuk pengguna macOS dan Windows, Anda tidak perlu pusing memikirkan hal ini karena wheel PyTorch bawaan di kedua sistem operasi tersebut secara default sudah berupa build CPU-only.
Cara Penggunaan: CLI, Server Lokal, dan Kode Python
Aplikasi ini menyediakan fleksibilitas penuh bagi berbagai skenario deployment. Anda bisa menggunakannya langsung dari command line untuk melakukan batch processing, menjalankan server HTTP lokal untuk integrasi aplikasi web, atau menulis script Python kustom.
Berikut adalah contoh melakukan generate audio menggunakan CLI lewat bantuan uvx untuk instalasi on-the-fly:
bashuvx pocket-tts generate --voice alba --text "Hello world, this is a test." --language english
Untuk pengujian cepat yang melibatkan banyak suara, menjalankan server lokal jauh lebih direkomendasikan karena model akan terus disimpan di dalam memori (RAM), sehingga Anda tidak perlu membuang waktu memuat model berulang kali pada setiap request.
bashuvx pocket-tts serve
Setelah server aktif, Anda cukup membuka browser dan mengakses http://localhost:8000 untuk berinteraksi dengan antarmuka web yang disediakan secara bawaan. Bagi para developer Python yang ingin menyisipkan fitur ini ke dalam codebase mereka, API yang disediakan sangat bersih dan mudah dipahami:
pythonfrom pocket_tts import TTSModel import scipy.io.wavfile # Memuat model ke memori tts_model = TTSModel.load_model() # Mengambil state suara bawaan atau file wav lokal untuk voice cloning voice_state = tts_model.get_state_for_audio_prompt("alba") # Melakukan sintesis teks menjadi audio audio = tts_model.generate_audio(voice_state, "Hello world, this is a test.") # Menyimpan output dalam format WAV scipy.io.wavfile.write("output.wav", tts_model.sample_rate, audio.numpy())
Proses membaca file audio mentah untuk kebutuhan kloning suara (voice cloning) memerlukan waktu komputasi yang relatif lambat. Untuk mengakalinya, Kyutai Labs menyediakan perintah export-voice untuk mengubah file audio mentah menjadi file format .safetensors (voice embedding). Proses memuat file safetensors ini sangat cepat karena sistem hanya perlu membaca key-value cache (kvcache) langsung dari disk tanpa melakukan kalkulasi ulang yang berat.
Ekosistem yang Subur dan Dukungan Bahasa Indonesia
Meskipun model bawaan dari Kyutai Labs secara resmi hanya mendukung bahasa Inggris, Prancis, Jerman, Portugis, Italia, dan Spanyol, keterbukaan proyek ini memicu lahirnya berbagai model kustom dari komunitas. Bahkan kode training model juga sudah dirilis secara resmi sejak Agustus 2026 agar siapa saja bisa melatih model mereka sendiri.
Beberapa model komunitas yang sangat menarik perhatian antara lain:
- Pocket TTS Indonesian oleh @anak10thn (6 layers): Model khusus bahasa Indonesia yang sangat dinantikan oleh developer lokal.
- Pocket TTS Korean 300M oleh @seastar105: Varian model dengan kapasitas parameter lebih besar untuk kualitas pelafalan bahasa Korea yang lebih natural.
- Pocket TTS Czech oleh @vvolhejn dan Pocket TTS Polish oleh @shefowl.
Fleksibilitas integrasi proyek ini juga terlihat dari banyaknya proyek pihak ketiga yang bermunculan. Untuk pengembangan game, terdapat proyek pocket-tts-unity yang membawa fungsionalitas ini ke Unity 6. Di sektor gaming naratif, ada proyek bernama Sonorus yang memungkinkan pemain berbicara langsung dengan karakter di game Hogwarts Legacy menggunakan suara asli mereka secara dinamis. Bagi para penggemar otomatisasi rumah, kontainer Docker pocket-tts-wyoming siap diintegrasikan langsung dengan ekosistem Home Assistant Voice. Bahkan, ada juga porting runtime C++ satu file bernama PocketTTS.cpp yang menggunakan ONNX Runtime serta library sherpa-onnx yang memungkinkan Pocket TTS berjalan di 12 bahasa pemrograman dan berbagai embedded board seperti Raspberry Pi.
Sisi Skeptis: Apa Saja Batasan dan Aturan Pakainya?
Sebagai tech-blogger yang pragmatis, kita harus melihat teknologi ini secara objektif. Pocket TTS belum sempurna. Saat ini, model ini belum mendukung fitur penambahan jeda (silence) secara manual melalui input teks. Jadi, Anda tidak bisa menyisipkan tag tertentu di tengah kalimat untuk mengatur tempo pernapasan suara secara presisi.
Selain itu, fitur kuantisasi dinamis int8 (quantize=True) untuk menghemat penggunaan memori hanya berjalan secara eksklusif di CPU. Jika Anda memaksakan opsi kuantisasi ini pada model yang dipindahkan ke CUDA, sistem akan langsung memuntahkan error NotImplementedError. Anda juga harus berhati-hati dengan versi library torchao yang ditarik saat menginstal opsi kuantisasi. Versi torchao yang tidak kompatibel dengan versi PyTorch terinstal berpotensi merusak fungsi kuantisasi tersebut bahkan saat dijalankan di CPU.
Dari sisi legalitas dan etika, Kyutai Labs menerapkan aturan penggunaan yang sangat ketat. Anda dilarang keras menggunakan teknologi kloning suara ini untuk tujuan peniruan identitas tanpa persetujuan sah, menyebarkan misinformasi (fake news), atau membuat konten yang melecehkan dan melanggar privasi orang lain. Segala bentuk penyalahgunaan berada di luar tanggung jawab para kreator model ini.
Pada akhirnya, Pocket TTS membuktikan bahwa inovasi AI tidak selamanya harus haus daya dan bergantung pada server cloud berskala besar. Kehadiran library ini adalah lompatan besar bagi demokratisasi teknologi text-to-speech lokal yang cepat, efisien, dan ramah kantong.
Referensi
https://github.com/kyutai-labs/pocket-tts
