Log in to leave a comment
No posts yet
Melihat tagihan ElevenLabs atau OpenAI TTS yang datang setiap bulan seringkali membuat sesak napas. Bagi pengembang game indie, biaya panggilan API adalah pengeluaran tetap yang bisa mencekik kelangsungan proyek. Kokoro 82M adalah model open-source dengan lisensi Apache 2.0 yang mampu menghasilkan suara kelas komersial di lingkungan lokal. Dengan menjalankan model ringan berukuran 82 juta parameter ini di PC sendiri, Anda tidak perlu lagi didikte oleh perubahan kebijakan server eksternal.
Kekhawatiran terbesar saat menjalankan model lokal adalah terjadinya stuttering atau penurunan frame rate pada game. Untuk mencegah beban CPU yang berlebihan saat sintesis suara, kontrol terhadap thread komputasi harus dilakukan secara paksa. Kokoro 82M mengikuti struktur StyleTTS 2, sehingga paling efisien jika dijalankan menggunakan ONNX Runtime.
intra_op_num_threads pada SessionOptions ONNX hingga kurang dari setengah total core yang tersedia. Jika Anda menggunakan CPU 8-core, mengalokasikan 2 hingga 4 core saja sudah cukup.enable_cpu_mem_arena untuk mencegah fragmentasi memori. Hal ini akan meminimalisir lag halus yang muncul saat audio dibuat di latar belakang.asyncio untuk segera mengirimkan potongan data pertama ke perangkat audio begitu tersedia.Dengan pengaturan ini, Anda dapat menekan waktu hingga suara pertama muncul (TTFA) hingga di bawah 0,5 detik.
Sehebat apa pun Kokoro 82M, imersi akan rusak jika ia membaca 'API' sebagai 'api' (dalam bahasa Indonesia) atau gagal memproses '10%'. Karena model ini dilatih berdasarkan International Phonetic Alphabet (IPA), proses normalisasi teks input sangatlah krusial.
Jangan hanya memasukkan teks mentah, buatlah kamus pemetaan menggunakan regular expression. r'\bAPI\b' harus diubah menjadi 'e-pi-ai', dan angka harus diuraikan menjadi teks sesuai konteks, seperti 'satu buah' atau 'satu persen'. Khusus untuk aturan pelafalan bahasa tertentu, penggunaan library pembantu seperti korean-text-normalizer (atau padanannya) sangat disarankan. Ini dapat menghemat waktu hingga 5 jam per minggu yang biasanya habis untuk mengedit file audio secara manual.
Anda tidak perlu membongkar seluruh kode SDK OpenAI yang sudah digunakan. Dengan menjalankan server ringan menggunakan FastAPI di localhost, Anda bisa mengganti API berbayar hanya dengan mengubah satu baris alamat endpoint.
/v1/audio/speech dan desain agar dapat menerima data JSON sesuai spesifikasi OpenAI.INT8 berukuran 92,4MB. Kecepatan inferensinya lebih dari 3 kali lipat lebih cepat dibanding model standar, namun perbedaan kualitas suaranya hampir tidak terdengar oleh telinga manusia.pydub untuk segera dikembalikan dalam format .mp3 atau .wav.Dengan cara ini, Anda tetap bisa menggunakan basis kode yang bergantung pada layanan berbayar sambil menghapus biaya langganan bulanan sepenuhnya.
Model ringan memiliki keterbatasan di mana pengucapan pada bagian akhir seringkali menjadi kacau atau tercampur suara robot saat memproses kalimat panjang di atas 500 karakter. Untuk mengatasinya, kalimat harus dipecah secara cerdas.
Bagi kalimat berdasarkan tanda titik atau koma, lalu gunakan AudioSegment.silent untuk memasukkan jeda hening secara paksa selama 200 hingga 500 ms di antara kalimat. Menyimulasikan siklus napas manusia saja sudah cukup untuk menghilangkan kecanggungan model. Kuncinya bukanlah sekadar membagi teks, melainkan logika pemutaran seamless yang menyambungkan potongan-potongan audio secara alami. Mengotomatiskan proses ini memungkinkan dialog panjang tetap terdengar natural tanpa terputus.