- Pocket TTS dengan 100 juta parameter adalah model text-to-speech ringan dengan kemampuan voice cloning, yang dapat berjalan secara real-time bahkan di CPU laptop biasa
- Menjembatani kesenjangan performa antara TTS berbasis LLM besar (lebih dari 1 miliar parameter) dan Kokoro TTS kecil (82 juta parameter), sambil mencapai kualitas tinggi dan efisiensi sekaligus
- Hanya dengan sekitar sampel suara 5 detik, model ini dapat mereplikasi warna suara, emosi, intonasi, dan kondisi akustik pembicara secara akurat
- Menggunakan arsitektur berbasis Continuous Audio Language Model untuk langsung memprediksi vektor laten kontinu alih-alih token diskret, sehingga ukuran model dapat diperkecil tanpa penurunan kualitas
- Dirilis sebagai open source berlisensi MIT, menetapkan standar baru teknologi TTS ringan yang memungkinkan sintesis suara berkualitas tinggi di lingkungan CPU
Gambaran Umum Pocket TTS
- Pocket TTS adalah model text-to-speech dengan 100 juta parameter yang mendukung voice cloning
- Dapat berjalan secara real-time bahkan di CPU laptop
- Bisa dijalankan secara lokal dengan perintah
uvx pocket-tts serve atau uvx pocket-tts generate
- Dikembangkan oleh Kyutai dan dirilis sebagai open source dengan lisensi MIT
- Data pelatihan hanya menggunakan dataset suara bahasa Inggris publik
- Disebutkan juga kemungkinan ekspansi ke data nonpublik tambahan
Perbandingan dengan model TTS yang ada
- Teknologi TTS saat ini terbagi menjadi dua kategori
- Model besar berbasis LLM: misalnya Kyutai TTS 1.6B (sekitar 1,6 miliar parameter)
- Dapat memodelkan beragam suara, emosi, dan kondisi akustik, tetapi memerlukan GPU
- Model kecil yang terspesialisasi: misalnya Kokoro TTS (82 juta parameter)
- Efisien karena menggunakan set suara tetap dan pipeline buatan tangan, tetapi fleksibilitasnya terbatas
- Pocket TTS menempati titik tengah di antara dua pendekatan ini, dan memungkinkan sintesis suara berkualitas tinggi di CPU
Evaluasi performa
- Dievaluasi menggunakan set Librispeech test-clean
- Input audio dibersihkan dengan Adobe Enhance Speech untuk mendapatkan kualitas 24kHz
- Pembanding: F5-TTS, DSM, Chatterbox Turbo, Kokoro TTS
- Metrik evaluasi:
- Word Error Rate (WER)
- Kualitas audio (ELO)
- Kemiripan pembicara (ELO)
- Ringkasan hasil:
- Pocket TTS mencatat WER 1.84, tingkat kesalahan terendah
- Kualitas audio lebih baik daripada F5-TTS dan DSM
- Kemiripan pembicara setara dengan suara referensi
- Satu-satunya model yang dapat berjalan lebih cepat dari real-time di CPU
| Model |
Jumlah parameter |
WER ↓ |
Kualitas audio (ELO) ↑ |
Kemiripan pembicara (ELO) ↑ |
Real-time di CPU |
| F5-TTS |
336M |
2.21 |
1949 ± 27 |
1946 ± 26 |
✗ |
| Kyutai TTS 1.6B |
750M |
1.84 |
1959 ± 25 |
2037 ± 21 |
✗ |
| Chatterbox Turbo |
350M |
3.24 |
2055 ± 23 |
2012 ± 22 |
✗ |
| Kokoro |
82M |
1.93 |
tidak ada voice cloning |
tidak ada voice cloning |
✓ |
| Pocket TTS |
100M |
1.84 |
2016 ± 25 |
1898 ± 26 |
✓ |
- Saat diuji pada CPU Intel Core Ultra 7 165H dan Apple M3, hanya Pocket TTS dan Kokoro yang mampu melakukan sintesis real-time
Arsitektur
- Pocket TTS dirancang berdasarkan riset Continuous Audio Language Model
- Pendekatan lama memprediksi token audio diskret, sedangkan Pocket TTS langsung memprediksi vektor laten kontinu (latent)
- Dengan ini, model menghilangkan bottleneck RQ-transformer dan sekaligus mencapai model yang lebih ringan
Neural Audio Codec
- Dirancang berbasis codec Mimi
- Mimi mengompresi ke token diskret, tetapi Pocket TTS menggunakan representasi laten kontinu
- Menerapkan pelatihan VAE yang dinormalisasi dengan distribusi normal
- Melakukan distillation representasi internal dari WavLM dengan cosine similarity loss
- Menghapus tahap RVQ dan menerapkan distillation loss ke seluruh representasi laten
Generative Model
- Berbasis framework Masked Autoregressive(MAR)
- Terdiri dari backbone Causal Transformer dan MLP sampler
- Menggunakan loss Lagrangian Self-Distillation(LSD) untuk mewujudkan 1-step sampling
- Saat inferensi, vektor laten yang diprediksi diumpankan balik secara autoregresif
Kondisioning suara dan teks
- Input model menggabungkan prompt suara (beberapa detik) dan teks
- Suara di-embed dengan codec encoder, teks di-embed dengan SentencePiece tokenizer
Komposisi ukuran model
- Model generatif (Transformer + MLP) : 90 juta parameter
- Codec decoder: 10 juta parameter
- Codec encoder: 18 juta parameter (hanya digunakan sekali saat mengenkode sampel suara)
Data pelatihan
- Seluruhnya terdiri dari dataset suara bahasa Inggris publik, total 88.000 jam
- AMI, EARNINGS22, GIGASpeech, SPGISpeech, TED-LIUM, VoxPopuli, LibriHeavy, Emilia
Kontribusi teknis utama
Head Batch Multiplier
- Vektor z digunakan ulang beberapa kali untuk mengurangi bottleneck komputasi Transformer
- Untuk setiap urutan input, z dihitung sekali lalu digunakan kembali untuk 8 kali perhitungan loss
- Memberikan efek peningkatan efisiensi dan stabilisasi pelatihan
Gaussian Temperature Sampling
- Menerapkan pengaturan temperature sampling bahkan di ruang kontinu
- Mengurangi varians noise Gaussian untuk meningkatkan kualitas
- Hasil yang baik dikonfirmasi pada temperature 0.7
Latent Classifier-Free Guidance (Latent CFG)
- Menerapkan CFG konvensional pada tingkat variabel laten (z)
- Menggabungkan output kondisional dan tanpa kondisi secara linear untuk meningkatkan kualitas
- Menggunakan α=1.5
- Konsep serupa juga muncul dalam riset SoundReactor
Distillation
- Menggunakan model CFG sebagai teacher model untuk melakukan distillation ke student model ringan
- Head MLP pada teacher model dibekukan, dan student model mempelajari z dengan loss L2
- Memungkinkan penyusutan dari teacher model 24 layer → student model 6 layer
Kesimpulan
- Pocket TTS adalah model TTS ringan yang memungkinkan sintesis suara berkualitas tinggi secara real-time di CPU
- Menggabungkan arsitektur berbasis ruang laten kontinu, teknik pelatihan yang efisien, dan fitur voice cloning
- Dirilis sebagai open source berlisensi MIT, memberikan reproducibility dan extensibility bagi pengembang dan peneliti
4 komentar
Sepertinya model TTS open source yang mendukung bahasa Korea tidak terlalu terlihat.
Saya pernah dengar Kokoro-82M yang dirilis sebelumnya memang disebut mendukung bahasa Korea, tapi kualitasnya katanya tidak terlalu bagus,
dan setelah saya cari sebentar, ada juga yang bilang hasilnya lumayan kalau dibuat dengan GPT-Sovits atau memakai yang seperti Edge-TTS.
Akhir-akhir ini sambil vibe coding, rasanya kalau digabungkan dengan Whisper bisa menghasilkan sesuatu yang menarik, tapi saya belum kepikiran idenya haha
Baru-baru ini Supertonic merilis model yang bahkan mendukung bahasa Korea, coba cari tahu deh.
Saya juga sempat membuat library sekali klik!
https://www.npmjs.com/package/easy-supertonic-tts
Keren, tapi akan lebih bagus kalau saat membuatnya juga disertakan alamat resource targetnya. Soalnya tidak bisa asal instal begitu saja, haha.
Pendapat Hacker News
Saya sangat senang tulisan saya mendapat perhatian sebesar ini
Saya adalah bagian dari tim di Paris yang mengembangkan solusi suara tingkat enterprise berbasis riset Kyutai
Jika ada yang sedang membangun sesuatu di bidang ini, saya ingin berbagi model dan fitur yang akan datang
Silakan hubungi saya lewat email di profil saya
Saat membaca studi kasus yang panjang, saya sadar saya butuh ekstensi browser, jadi saya membuat antarmuka browser sendiri
Hasilnya adalah Pocket Reader
Ini menarik, jadi saya langsung membuatnya menjadi server MCP agar Claude bisa memberi tahu saat tugas selesai
speak_when_done
Saya juga pernah membuat alat serupa dengan menjalankan perintah
saysebagai proses latar belakang, tetapi sulit untuk mengatur suara yang bagus secara konsistenSepertinya suara yang natural itu tersembunyi di suatu tempat
speak-mcp
Sekarang saya juga akan mencoba server Anda
Kali ini kualitas kodenya benar-benar bagus
Biasanya codebase model-model baru penuh dengan tumpukan dependensi yang tidak perlu, tetapi kali ini juga sangat baik dari sisi rekayasa perangkat lunak
Terima kasih sudah berbagi! Saya adalah penggemar Kokoro, jadi saya membangun asisten suara lokal sendiri
proyek ova
Saya pasti akan mencoba Pocket TTS juga
Hanya saja Pocket TTS tertutup, jadi saya tidak bisa memeriksa fitur kloning suara
Saya penasaran apakah ini berbasis mlx atau berbasis Hugging Face transformers
Saya penasaran apakah proyek ini bisa didistribusikan sebagai biner statis kecil
Saat ini dependensinya cukup besar
Saya sangat menyukainya
Hanya saja tertulis lisensi MIT, tetapi ada bagian Penggunaan yang Dilarang (Prohibited Use) terpisah di README, jadi saya bingung apakah ini menjadi perangkat lunak non-bebas
Seperti gambar atau suara, model ML mungkin tidak dianggap sebagai perangkat lunak
Kartu model Hugging Face juga memiliki klausul larangan yang sama
Jadi, butir larangan di README itu kemungkinan bertentangan secara hukum
Saya mencoba menjalankan
uvx pocket-tts servedi M1 MacUntuk pengujian, saya menyuruhnya membaca paragraf pertama A Tale of Two Cities, tetapi suara Javert punya masalah melewatkan kalimat di tengah-tengah
Misalnya, frasa seperti “it was the age of foolishness” dihilangkan
Ini mengurangi kepercayaan
Isu terkait saya laporkan di sini
Saya belum banyak menggunakan model suara selama ini, tetapi lewat Pocket TTS saya jadi tahu tentang unmute.sh
Ini open source dan tampaknya dibuat oleh perusahaan yang sama
Model-model ini terlihat cukup bisa dipakai di lingkungan homelab dengan biaya rendah
Model open source kini sudah naik level secara umum, jadi hampir selalu ada yang cocok untuk setiap kebutuhan
Bidang yang tampaknya masih punya hambatan masuk nyata hanyalah model coding
Menarik juga apakah Deepseek 4 bisa mengalahkan Claude Sonnet
Saya mengintegrasikannya ke plugin Codex saya agar membacakan ringkasan di akhir setiap giliran, dan hasilnya bekerja sangat baik
Di MacBook saya, ini berjalan jauh lebih mulus daripada Samantha
agentify-sh/speak