Sintesis Suara Bahasa Indonesia Alami & Ringan
Demo model Text-to-Speech (TTS) berbasis arsitektur Piper VITS ONNX yang dilatih khusus untuk bahasa Indonesia (id_ID-news_tts). Model ini sangat efisien, dapat dijalankan secara luring di perangkat ponsel (Android) atau komputer tanpa GPU berat.
Contoh Hasil Sintesis Suara Model Asli
Audio di bawah ini disintesis langsung menggunakan model Mr-J-369/TTS-Indonesian dengan engine sherpa-onnx.
"Halo! Selamat datang di demo Text-to-Speech Bahasa Indonesia."
"Presiden Republik Indonesia hari ini meresmikan infrastruktur strategis nasional di Ibu Kota Nusantara."
"Teknologi kecerdasan buatan kini dapat berjalan langsung di perangkat Anda tanpa koneksi internet."
"Apakah Anda tahu bahwa bahasa Indonesia dituturkan oleh lebih dari tiga ratus juta orang di dunia?"
"Kucing kuningku kencing di kunci-kunciku secara teratur setiap pagi."
"Di sebuah desa kecil di tepi danau, hiduplah seorang pemuda yang bermimpi menjelajahi samudra luas."
Uji Coba Teks Kustom Langsung di Browser
Ketik teks bahasa Indonesia apa pun untuk diujicobakan secara langsung di browser Anda.
Cara Pasang di Android (Fancy AI)
- Unduh file paket suara: tts-id-id-news_tts.zip (jangan di-ekstrak).
- Buka aplikasi Fancy AI di HP Android Anda.
- Buka menu Settings → Voice.
- Pilih TTS Provider ke Downloaded voice (offline).
- Tekan baris Selected Voice Model di bawahnya.
- Pilih tombol Import Custom Voice (.zip) dan pilih file zip yang telah diunduh.
- Tekan Test voice untuk memverifikasi suara berfungsi!
Kode Inferensi Python (sherpa-onnx)
CPU / ONNX# pip install sherpa-onnx soundfile huggingface_hub
import sherpa_onnx, soundfile as sf
from huggingface_hub import hf_hub_download
import zipfile
# 1. Unduh & ekstrak
zip_f = hf_hub_download("Mr-J-369/TTS-Indonesian", "tts-id-id-news_tts.zip")
with zipfile.ZipFile(zip_f) as z: z.extractall("./model")
# 2. Inisialisasi engine
tts = sherpa_onnx.OfflineTts(sherpa_onnx.OfflineTtsConfig(
model=sherpa_onnx.OfflineTtsModelConfig(
vits=sherpa_onnx.OfflineTtsVitsModelConfig(
model="./model/model.onnx",
tokens="./model/tokens.txt",
data_dir="./model/espeak-ng-data"
), provider="cpu"
)
))
# 3. Sintesis suara
audio = tts.generate("Halo, selamat datang!", speed=1.0)
sf.write("output.wav", audio.samples, audio.sample_rate)