Di dunia teknologi suara, ada sebuah proyek yang menarik perhatian, yaitu OmniVoice: High-fidelity Voice Cloning and Generation. Model Text-to-Speech (TTS) ini bukan sekadar alat konversi teks biasa. OmniVoice dirancang untuk mendukung lebih dari 600 bahasa, menjadikannya salah satu model TTS zero-shot multibahasa yang paling luas cakupannya. Dengan arsitektur berbasis diffusion language model yang baru, OmniVoice menjanjikan suara berkualitas tinggi dan kecepatan inferensi yang superior, bahkan mendukung fitur kloning suara dan desain suara yang kuat.
Fitur Unggulan OmniVoice
OmniVoice membawa beberapa kemampuan kunci yang membedakannya dari model TTS lain. Ini mencakup cakupan bahasa yang sangat luas dan kualitas kloning suara yang tinggi. Selain itu, OmniVoice juga menawarkan kecepatan dan kontrol yang baik atas suara yang dihasilkan.
Berikut adalah gambaran fitur utama OmniVoice:
| Fitur Utama | Deskripsi |
|---|---|
| Dukungan Bahasa | Lebih dari 600 bahasa, menjadikannya model TTS zero-shot dengan cakupan terluas. |
| Kloning Suara | Kualitas kloning suara terbaik dengan akurasi tinggi dari audio referensi singkat (3-10 detik). |
| Desain Suara | Kontrol atribut suara seperti gender, usia, nada, kecepatan, volume, dialek, aksen, atau bahkan bisikan. |
| Kontrol Non-Verbal | Mengintegrasikan simbol non-verbal (misalnya [LAUGH]) dan koreksi pengucapan via pinyin atau fonem. |
| Kecepatan Inferensi | Real-Time Factor (RTF) serendah 0.025, artinya 40 kali lebih cepat dari waktu nyata. |
| Arsitektur | Dibangun di atas arsitektur diffusion language model-style yang bersih, ramping, dan skalabel. |
Cara Menginstal OmniVoice
Jika kamu tertarik untuk mencoba OmniVoice, instalasinya cukup sederhana. Disarankan untuk menggunakan virtual environment baru, seperti conda atau venv, untuk menghindari konflik dependensi.
Untuk instalasi dasar, kamu bisa menjalankan perintah ini:
bashpip install omnivoice
OmniVoice juga mendukung GPU Intel Arc (arsitektur Alchemist dan Battlemage) melalui backend XPU PyTorch. Jika kamu menggunakan kartu ini, ikuti petunjuk instalasi PyTorch dengan dukungan XPU dari indeks wheel Intel. Setelah itu, kamu bisa memverifikasi apakah backend XPU berfungsi dengan torch.xpu.is_available().
Untuk instalasi yang lebih lengkap, kamu bisa mengkloning repositori dan menginstal dependensi:
bashgit clone https://github.com/k2-fsa/OmniVoice.git cd OmniVoice pip install -e .[full]
Jika kamu mengalami masalah saat mengunduh model pre-trained dari HuggingFace, coba atur variabel lingkungan HF_ENDPOINT ke mirror seperti ini:
bashexport HF_ENDPOINT=https://hf-mirror.com
Memulai Generasi Suara
OmniVoice menyediakan beberapa cara untuk memulai tanpa perlu banyak coding. Kamu bisa meluncurkan web UI lokal dengan perintah:
bashpython -m omnivoice.webui
Atau, kamu bisa mencobanya langsung di HuggingFace Spaces atau melalui Google Colab yang seringkali lebih praktis.
OmniVoice mendukung tiga mode generasi utama:
1. Kloning Suara (Voice Cloning)
Mode ini memungkinkan kamu menduplikasi suara dari audio referensi singkat. Kamu hanya perlu memberikan jalur audio referensi (ref_audio_path) dan teks yang ingin diucapkan. Gunakan klip audio referensi sekitar 3 hingga 10 detik. Audio yang terlalu panjang dapat memperlambat inferensi dan menurunkan kualitas kloning.
Penting untuk dicatat, jika kamu melakukan kloning suara cross-lingual (audio referensi dan teks target berbeda bahasa), suara yang dihasilkan akan membawa aksen dari bahasa audio referensi. Untuk hasil terbaik dengan angka Arab, normalkan terlebih dahulu ke dalam kata-kata, misalnya "123" menjadi "seratus dua puluh tiga".
2. Desain Suara (Voice Design)
Jika kamu ingin mendesain suara tanpa audio referensi, mode ini cocok. Kamu bisa mendeskripsikan suara yang diinginkan dengan atribut speaker seperti gender (pria, wanita), age (anak-anak, muda, paruh baya, tua), pitch (sangat rendah hingga sangat tinggi), speed (lambat hingga cepat), volume (lembut hingga keras), dialect/accent (Amerika, British, Sichuan, Shaanxi, dll.), dan bahkan whisper. Atribut ini bisa digabungkan dengan dipisahkan koma.
Sebagai catatan, mode kloning suara lebih stabil karena model dilatih secara primer untuk tugas tersebut. Desain suara, meskipun dapat digeneralisasikan ke bahasa lain, terutama dilatih dengan data bahasa Mandarin dan Inggris. Ini bisa menghasilkan hasil yang kurang stabil untuk bahasa dengan sumber daya rendah atau kasus-kasus khusus.
3. Suara Otomatis (Auto Voice)
Mode paling sederhana. Kamu cukup memberikan teks, dan model akan secara otomatis memilih suara untuk mengucapkan teks tersebut.
Kontrol Generasi Lanjut dan Pengucapan
Ketiga mode di atas menggunakan API synthesize yang sama. Kamu bisa mengontrol perilaku generasi lebih lanjut melalui argumen keyword, misalnya output_sample_rate.
OmniVoice juga mendukung kontrol non-verbal dan koreksi pengucapan. Kamu bisa menyertakan simbol non-verbal [LAUGH] langsung dalam teks untuk menambahkan suara ekspresif. Untuk koreksi pengucapan karakter spesifik, gunakan pinyin dengan angka nada. Kamu juga bisa menggunakan fonem (huruf kapital, dalam kurung siku) untuk menimpa pengucapan bahasa Inggris bawaan.
OmniVoice untuk Skala Besar
OmniVoice juga menyediakan command-line interface (CLI) untuk berbagai fiturnya, termasuk kloning, desain, suara otomatis, dan parameter generasi. Ada tiga entry point CLI:
omnivoice.webui: Meluncurkan antarmuka web.omnivoice.cli: Alat CLI serbaguna.omnivoice.batch: Dirancang untuk tugas TTS skala besar, mampu mendistribusikan inferensi batch di beberapa GPU.
Untuk inferensi batch, kamu perlu menyiapkan file JSONL di mana setiap baris adalah objek JSON. Bidang text dan output_path adalah wajib. Kamu bisa menyertakan ref_audio_path untuk kloning suara atau instruct untuk desain suara. Jika keduanya tidak disediakan, model akan menghasilkan teks dengan suara acak. Parameter seperti output_length (dalam detik) dapat memperbaiki panjang output, dan speed_factor mengontrol kecepatan bicara.
Catatan Etis Penggunaan
Para pengembang OmniVoice sangat menganjurkan penggunaan AI yang bertanggung jawab. Pengguna dilarang keras menggunakan model ini untuk kloning suara yang tidak sah, peniruan suara, penipuan, skema, atau aktivitas ilegal atau tidak etis lainnya. Setiap pengguna wajib memastikan kepatuhan penuh terhadap hukum, peraturan, dan standar etika lokal yang berlaku. Pengembang tidak bertanggung jawab atas penyalahgunaan model ini dan mendorong komunitas untuk menjunjung tinggi prinsip keamanan dan etika dalam penelitian serta aplikasi AI.
Referensi
https://github.com/k2-fsa/OmniVoice
