Chatterbox-TTS-Indonesian

Model Chatterbox-TTS-Indonesian adalah model Text-to-Speech (TTS) yang dilatih ulang (fine-tuned) menggunakan arsitektur Chatterbox-TTS. Model ini dirancang khusus untuk menghasilkan suara Bahasa Indonesia yang alami dan berkualitas tinggi dari teks.

Model ini sangat ideal untuk berbagai aplikasi, seperti:

  • Membaca artikel atau berita secara otomatis.
  • Asisten suara atau bot interaktif.
  • Pembuatan konten audio.

Dataset Pelatihan

Model ini dilatih ulang menggunakan dataset SuaraGabungan-ID yang kami kumpulkan. Dataset ini merupakan kompilasi dari beberapa sumber publik yang berbeda, yang dilisensikan secara permisif:

  • Espeak-ID-5K (Lisensi MIT)
  • FLEURS (dibuat oleh Google, Lisensi CC BY 4.0)
  • ind_famal (Lisensi Apache 2.0)

Untuk detail lisensi dan atribusi lengkap dari dataset, silakan kunjungi repositori SuaraGabungan-ID.


Tutorial Penggunaan

Anda memerlukan Python 3.11 atau versi yang lebih baru dan GPU yang mendukung CUDA untuk kinerja optimal.

1. Instalasi

Mulailah dengan menginstal semua pustaka yang diperlukan.

!pip install chatterbox-tts
!pip install -U ml_dtypes

Jika Anda kesulitan menginstal pustaka pada versi yang lebih baru, gunakan kode berikut.

!pip install chatterbox-tts==0.1.1
!pip install -U ml_dtypes
!pip install transformers==4.44.2 peft==0.11.1

2. Inisialisasi Model & Unduh Checkpoint

Selanjutnya, unduh checkpoint model dan muat ke dalam model Chatterbox-TTS.

import torch
from IPython.display import Audio, display
from chatterbox.tts import ChatterboxTTS
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file

# Definisikan repo dan nama file checkpoint
MODEL_REPO = "grandhigh/Chatterbox-TTS-Indonesian"
CHECKPOINT_FILENAME = "t3_cfg.safetensors"

# Inisialisasi model di perangkat CUDA
model = ChatterboxTTS.from_pretrained(device="cuda")

# Unduh checkpoint dari Hugging Face Hub
checkpoint_path = hf_hub_download(repo_id=MODEL_REPO, filename=CHECKPOINT_FILENAME)
t3_state = load_file(checkpoint_path, device="cpu")

# Muat state_dict ke dalam model
model.t3.load_state_dict(t3_state)

# Kosongkan cache GPU
torch.cuda.empty_cache()

3. Sintesis Suara (Teks-ke-Suara)

Gunakan metode model.generate() untuk mengubah teks menjadi audio.

TEXT_TO_SYNTHESIZE = "Bahwa sesungguhnya kemerdekaan itu ialah hak segala bangsa dan oleh sebab itu, maka penjajahan di atas dunia harus dihapuskan, karena tidak sesuai dengan perikemanusiaan dan perikeadilan."

# Hasilkan audio
wav_audio = model.generate(TEXT_TO_SYNTHESIZE)

# Tampilkan audio di notebook
display(Audio(wav_audio.numpy(), rate=model.sr))

4. Sintesis Suara dengan Audio Prompt (Voice Cloning)

Anda juga dapat menggunakan audio prompt untuk mempersonalisasi suara hasil sintesis. Model ini akan mencoba meniru gaya, nada, dan timbre dari suara pada file audio yang Anda berikan.

Catatan: Pastikan Anda memiliki file audio (input.wav) yang tersedia di lokasi yang ditentukan. Anda juga dapat menggunakan file dari URL.

# Ganti dengan path ke file audio prompt Anda
audio_prompt_path = '/content/input.wav'

# Hasilkan audio dengan prompt dan spesifikkan bahasa
wav_audio_clone = model.generate(
    TEXT_TO_SYNTHESIZE,
    audio_prompt_path=audio_prompt_path
)

# Tampilkan audio di notebook
display(Audio(wav_audio_clone.numpy(), rate=model.sr))


Demo Interaktif (Jupyter Notebook)

Anda dapat mencoba model ini secara interaktif menggunakan Jupyter Notebook yang tersedia di repositori ini. Notebook ini akan memandu Anda dari instalasi hingga menghasilkan suara TTS.

Buka di Google Colab


Lisensi

Model ini dilisensikan di bawah Lisensi Apache 2.0. Lisensi ini memungkinkan penggunaan, modifikasi, dan distribusi model secara bebas, baik untuk tujuan non-komersial maupun komersial, dengan kewajiban untuk menyertakan pemberitahuan lisensi dan atribusi yang sesuai.


Sitasi

Jika Anda menggunakan model ini dalam publikasi ilmiah atau proyek riset, harap sitasi model dasar dan dataset yang digunakan untuk pelatihannya.

Model Dasar (Chatterbox-TTS)

@misc{chatterboxtts2025,
  author       = {{Resemble AI}},
  title        = {{Chatterbox-TTS}},
  year         = {2025},
  howpublished = {\url{https://github.com/resemble-ai/chatterbox}},
  note         = {GitHub repository}
}

Dataset (FLEURS)

@article{fleurs2022arxiv,
  title = {FLEURS: Few-shot Learning Evaluation of Universal Representations of Speech},
  author = {Conneau, Alexis and Ma, Min and Khanuja, Simran and Zhang, Yu and Axelrod, Vera and Dalmia, Siddharth and Riesa, Jason and Rivera, Clara and Bapna, Ankur},
  journal={arXiv preprint arXiv:2205.12446},
  url = {https://arxiv.org/abs/2205.12446},
  year = {2022},
}
Downloads last month
23
Safetensors
Model size
532M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for grandhigh/Chatterbox-TTS-Indonesian

Finetuned
(9)
this model

Dataset used to train grandhigh/Chatterbox-TTS-Indonesian