Instructions to use dhyield/chatterbox-luna-id with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Chatterbox
How to use dhyield/chatterbox-luna-id with Chatterbox:
# pip install chatterbox-tts import torchaudio as ta from chatterbox.tts import ChatterboxTTS model = ChatterboxTTS.from_pretrained(device="cuda") text = "Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus in an epic late-game pentakill." wav = model.generate(text) ta.save("test-1.wav", wav, model.sr) # If you want to synthesize with a different voice, specify the audio prompt AUDIO_PROMPT_PATH="YOUR_FILE.wav" wav = model.generate(text, audio_prompt_path=AUDIO_PROMPT_PATH) ta.save("test-2.wav", wav, model.sr) - Notebooks
- Google Colab
- Kaggle
Chatterbox Luna β Suara Indonesia (fine-tune)
Model TTS bahasa Indonesia berbasis Chatterbox, dilatih ulang untuk suara Luna dengan resep yang sudah diuji terhadap ElevenLabs sebagai patokan.
Dibuat oleh dhyield. Semua angka di bawah adalah hasil pengukuran, bukan klaim.
β‘ Ringkas: apa yang ada di sini
| Berkas | Isi |
|---|---|
suara_produksi.py |
Generator siap pakai β resep 7 langkah lengkap |
t3_cfg.safetensors |
T3 fine-tune (suara Luna, 12 epoch) |
ve.safetensors |
Voice encoder (dari Chatterbox dasar) |
s3gen.safetensors |
Pembangkit gelombang (dari Chatterbox dasar) |
conds.pt, tokenizer.json |
Berkas pendukung |
RESEP.md |
Dokumentasi lengkap + semua angka uji |
contoh/ |
Berkas audio contoh |
π― Hasil uji vs ElevenLabs (teks 4 kalimat, 176 huruf)
| Ukuran | ElevenLabs | Model ini | Status |
|---|---|---|---|
| Durasi | 12,56 dtk | 12,54 dtk | β selisih 0,02 dtk |
| Nada (F0) | 244 Hz | 237β253 Hz | β selisih β€ 9 Hz |
| Pita 8β12 kHz | β15,9 dB | β15,1 dB | β malah lebih baik |
| Desis (flatness) | 0,0096 | 0,0069 | β lebih bersih |
| Rentang dinamis | 38,9 dB | 39,3 dB | β setara |
| Jeda | 1,97 dtk | 2,70 dtk | β οΈ masih beda (batas Chatterbox) |
π Cara pakai
Cara 1 β konfigurasi PRODUKSI (disarankan, sudah terbukti)
Cara ini tidak perlu model fine-tune di repo ini β cukup model dasar + T3 Indonesia:
import torchaudio as ta
from chatterbox.tts import ChatterboxTTS
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
# 1. model dasar ResembleAI (ASLI)
model = ChatterboxTTS.from_pretrained(device="cuda")
# 2. tukar HANYA T3 ke bahasa Indonesia
ck = hf_hub_download("grandhigh/Chatterbox-TTS-Indonesian", "t3_cfg.safetensors")
model.t3.load_state_dict(load_file(ck, device="cuda"))
# 3. buat suara β setelan ini hasil uji, bukan bawaan pustaka
wav = model.generate(
"Besok pagi kita berangkat ke Serang Banten.",
audio_prompt_path="klip_referensi.wav", # 3-4 dtk suara acuan
exaggeration=0.50, # bawaan 0.5. LEBIH TINGGI = bicara LEBIH CEPAT
cfg_weight=0.20, # bawaan 0.5. RENDAH = mengalir, TINGGI = seperti baca naskah
temperature=0.90, # bawaan 0.8. naikkan supaya tidak terdengar "mesin"
)
ta.save("hasil.wav", wav, model.sr)
Cara 2 β pakai model fine-tune di repo ini
from chatterbox.tts import ChatterboxTTS
model = ChatterboxTTS.from_local("./chatterbox-luna-id", device="cuda")
wav = model.generate("Teks apa saja.", audio_prompt_path="klip_referensi.wav",
exaggeration=0.50, cfg_weight=0.20, temperature=0.90)
Cara 3 β generator lengkap (paling bagus)
python suara_produksi.py "Teks yang mau diucapkan" -o hasil -n 16 --atempo 0.85
# keluaran: hasil/03_final.wav
π TIGA HAL YANG PALING PENTING
1. Chatterbox itu ACAK β wajib buat banyak percobaan
Dari 24 percobaan dengan setelan SAMA PERSIS:
F0 keluaran: 195 Hz ... 253 Hz (rentang 58 Hz!)
β Satu percobaan tidak cukup. Buat 16-24x, pilih yang nadanya paling dekat target.
β Ini kelemahan dasar Chatterbox, bukan salah setelan.
2. EQ frekuensi tinggi itu WAJIB β bukan pemanis
Masalah: hasil Chatterbox terdengar "seperti telepon / voice note"
Sebab : pita 8-12 kHz kurang 8 dB dibanding ElevenLabs (BUKAN desis!)
pita 8-12 kHz : Chatterbox mentah β23,9 dB | ElevenLabs β15,9 dB
desis : Chatterbox 0,0069 | ElevenLabs 0,0096 (Chatterbox lebih bersih)
Obat (satu baris ffmpeg):
-af "treble=g=6:f=6500:width_type=o:width=1.2,equalizer=f=11000:t=h:width=4000:g=5"
Hasil: pita 8-12 kHz jadi β15,1 dB (ElevenLabs β15,9) β selisih tinggal 0,8 dB
3. Kecepatan diatur dengan atempo, bukan exaggeration
exaggeration TINGGI = bicara LEBIH CEPAT (0.7 β 10,68 dtk)
exaggeration RENDAH = lebih lambat (0.5)
Untuk memperlambat lagi, pakai atempo:
0.85 = laju persis ElevenLabs (14,0 huruf/detik)
0.80 = lebih santai (13,2 huruf/detik)
PENTING: atempo TIDAK merusak nada (F0 tetap 237-253 Hz di tempo 0,80-1,00)
π RESEP 7 LANGKAH (semua terukur)
1. Model : Chatterbox dasar ASLI + HANYA T3 Indonesia
2. Setelan : exaggeration 0.50 | cfg_weight 0.20 | temperature 0.90
3. Referensi: klip 3-4 dtk bernada sesuai target
(F0 referensi MENENTUKAN F0 keluaran: ref 216 Hz β keluar 216 Hz;
ref 280 Hz β keluar 261 Hz)
4. Pilih : buat 16-24 percobaan, ambil F0 terdekat target
5. Perlambat: atempo 0.80-0.85
6. Bersihkan: treble + high-shelf EQ (lihat di atas)
7. Normalisasi: loudnorm I=-18:TP=-1.5:LRA=11
π Lisensi
- Kode (
suara_produksi.py): MIT - Model dasar: ResembleAI/chatterbox β MIT
- T3 Indonesia: grandhigh/Chatterbox-TTS-Indonesian β Apache-2.0
- Model fine-tune ini: MIT (turunan dari keduanya, keduanya bebas dipakai komersial)
Suara acuan (Luna) adalah suara milik pembuat model sendiri.
β οΈ Batasan yang jujur
1. Jeda masih 2,70 dtk vs ElevenLabs 1,97 dtk
β Chatterbox cenderung lebih banyak berhenti. Setelan sudah dicoba sampai batas.
2. Variasi antar percobaan besar (F0 195-253 Hz)
β wajib buat banyak percobaan lalu pilih
3. Output 24 kHz (ElevenLabs 44,1 kHz)
β TAPI ini BUKAN penyebab "serek": ElevenLabs juga 0% energi di atas 12 kHz.
Yang bikin beda adalah pita 8-12 kHz, dan itu sudah diperbaiki dengan EQ.
4. Model ini khusus suara Luna
β untuk suara lain, ganti klip referensi; untuk bahasa lain, latih ulang
- Downloads last month
- 4
Model tree for dhyield/chatterbox-luna-id
Base model
ResembleAI/chatterbox