Sada TTS SA v1.2

Sada TTS SA v1.2 banner

A fine-tuned Arabic Chatterbox checkpoint for Saudi conversational Arabic speech synthesis.

This release moves the Sada voice from the XTTS v1 base (Sada-TTS-SA-v1) to the Chatterbox Multilingual base. The repository contains the fine-tuned T3 weights (model.safetensors), which are loaded on top of ResembleAI/chatterbox at inference time. It is intended for local testing, evaluation, demos, and in-house deployment workflows.

Model summary

  • Language: Arabic (Saudi conversational focus)
  • Base model: ResembleAI Chatterbox Multilingual
  • Fine-tuning type: partial fine-tune of the T3 model (not LoRA)
  • Training data: about 4.6 hours of prepared Arabic speech (4,286 training clips)
  • Epochs: 3
  • Output sample rate: 24 kHz
  • Audio format: mono PCM16
  • Runtime environment used for benchmarking: CUDA on NVIDIA GeForce RTX 3060

Intended use

This model is intended for:

  • Arabic speech synthesis and voice generation
  • local experimentation and prototyping
  • evaluation and demo generation
  • custom voice applications in controlled project environments

This model is not presented as a general-purpose public benchmark model or as a replacement for the upstream Chatterbox base model.

Evaluation results

The model was benchmarked locally on CUDA using the same deterministic internal Arabic benchmark manifest as v1 (32 prompts, 3 repetitions per prompt). This is an internal curated benchmark and not a standardized public leaderboard benchmark.

At a glance

WER 0.399 and CER 0.152 on internal Arabic benchmark Warm latency mean 4.012s, median 3.633s, p90 5.961s RTF 0.799 and RTFx 1.257 on RTX 3060
Intelligibility proxy. Normalized WER/CER macro: 0.399 / 0.152. Latency profile. Warm mean latency: 4.012 s (median 3.633 s, p90 5.961 s). Real-time behavior. Mean RTF 0.799 and mean RTFx 1.257 on RTX 3060.

Benchmark configuration

Field Value
Run timestamp (UTC) 2026-10-29
Prompt set Internal curated benchmark (32 prompts, same as v1)
Repetitions per prompt 3
Warm-up runs 2
ASR model for proxy scoring faster-whisper small
Device NVIDIA GeForce RTX 3060 (12 GB), CUDA 12.4, PyTorch 2.6.0
Successful generations 96/96
Generation settings exaggeration 0.3, cfg_weight 0.35, temperature 0.45, repetition_penalty 2.5, min_p 0.05, top_p 0.9

Latency and throughput

Metric Value
Model initialization time 18.676 s
First-inference latency 4.143 s
Warm inference latency (mean / median / p90 / std) 4.012 / 3.633 / 5.961 / 2.179 s
Total request latency (mean / median / p90 / std) 4.330 / 4.094 / 6.592 / 2.183 s
RTF (mean / median / p90 / std) 0.799 / 0.806 / 0.861 / 0.054
RTFx (mean / median / p90 / std) 1.257 / 1.240 / 1.354 / 0.088
Characters per second (mean / median / p90 / std) 17.632 / 17.977 / 20.566 / 2.864
Words per second (mean / median / p90 / std) 3.093 / 3.103 / 3.784 / 0.604

Intelligibility proxy metrics (ASR-based)

Metric Macro average Corpus aggregate
WER (normalized) 0.398532 0.415833
CER (normalized) 0.151635 0.151186

Comparison with v1 (same benchmark)

Metric v1 (XTTS v2) v1.2 (Chatterbox)
WER macro (lower is better) 0.362 0.399
CER macro (lower is better) 0.147 0.152
Warm mean latency 1.636 s 4.012 s
Mean RTF (lower is better) 0.295 0.799
Successful generations 96/96 96/96

v1.2 runs slower than real time on the RTX 3060 but still stays under RTF 1.0. WER/CER measure combined TTS and ASR behavior, so they do not capture voice naturalness or dialect quality.

Availability of additional metrics

Metric Status Notes
Streaming TTFA / first-chunk latency Not measured Offline full-waveform synthesis path was benchmarked
Speaker similarity Not available in this run speechbrain not installed in benchmark environment
Predicted MOS Not run No validated Arabic MOS predictor configured
Human MOS Not run Human study pending

Full per-utterance results: evaluation/per_utterance_metrics.csv, summary: evaluation/summary.json, distributions: evaluation/plots/.

Audio examples

These are synthesized Arabic samples generated by the fine-tuned model. They are not reference recordings and are included for demonstration purposes only.

Example 1

Text: "ุงุณู…ุนู†ูŠ ุฒูŠู† ูˆู„ุง ุชู‚ุงุทุนู†ูŠุŒ ุงู„ุณุงู„ูุฉ ู‡ุฐูŠ ุงุนุชุจุฑู‡ุง ู…ู†ุชู‡ูŠุฉ ูˆุฎุงู„ุตุฉ ูˆุฌุช ููŠ ู…ุฎุจุงูƒุŒ ุงุฒู‡ู„ู‡ุง ูˆู„ุง ุชุดูŠู„ ู‡ู…ู‡ุง ุฃุจุฏู‹ุง ู…ุง ุฏุงู… ุฑุงุณูŠ ูŠุดู… ุงู„ู‡ูˆู‰ุŒ ุญู†ุง ุฅุฎูˆุงู† ูˆุนุฒูˆุฉ ู„ุจุนุถ ููŠ ุงู„ุถูŠู‚ ู‚ุจู„ ุงู„ูุฑุฌุŒ ูˆุงู„ูŠูˆู… ูŠูˆู…ูƒ ูˆุฃู†ุง ุฃุฎูˆูƒ."

Example 2

Text: "ูŠุง ุทูˆูŠู„ ุงู„ุนู…ุฑุŒ ู…ุง ุนุงุด ู…ู† ูŠุถูŠู‚ ุตุฏุฑูƒ ูˆุฃู†ุง ู…ูˆุฌูˆุฏุŒ ุงู„ุนู„ูˆู… ู‡ุฐูŠ ูƒู„ู‡ุง ุจุชุนุฏูŠ ูˆุชุตูŠุฑ ู…ู† ุงู„ู…ุงุถูŠุŒ ุจุณ ุฃู†ุช ู‡ุฏูŠ ุจุงู„ูƒ ูˆุชุนูˆุฐ ู…ู† ุฅุจู„ูŠุณุŒ ูˆุชุฑู‰ ูƒู„ ู…ุดูƒู„ุฉ ูˆู„ู‡ุง ุญู„ุงู„ุŒ ูˆุงู„ุฑุฌุงู„ ุชุจูŠู† ู…ูˆุงู‚ูู‡ุง ููŠ ู…ุซู„ ู‡ุงู„ุฃูˆู‚ุงุช."

Example 3

Text: "ุงู„ุญูŠู† ุงุจูŠ ุงุทู„ุน ู‚ุฑุถ ุดุฎุตูŠ ูˆุฑุญุช ุงูƒุซุฑ ู…ู† ูุฑุน ูŠุฌูŠู†ูŠ ุฑูุถ ุนู„ู‰ ุงู„ู‚ุฑุถ ูˆุดุฑูƒุชูŠ ู…ุนุชู…ุฏุฉ ุนู†ุฏูƒู… ูˆุณุฌู„ูŠ ููŠ ุณู…ุฉ 602 ูˆู„ุง ุนู†ุฏูŠ ู…ุชุนุซุฑุงุช ูˆุงู„ู…ูˆุธููŠู† ู…ุงูŠุนุฑููˆู† ุณุจุจ ุงู„ุฑูุถุŒ ุงุฐุง ุงู„ู…ูˆุธู ู…ุงูŠุนุฑู ุงู„ุณุจุจ ู…ูŠู† ูŠุนุฑู ุงู„ุณุจุจุŸ"

Example inference

import soundfile as sf
import torch
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
from chatterbox.mtl_tts import ChatterboxMultilingualTTS

model = ChatterboxMultilingualTTS.from_pretrained(device="cuda")
ckpt = hf_hub_download("Messam174/Sada-TTS-SA-v1.2", "model.safetensors")
model.t3.load_state_dict(load_file(ckpt, device="cuda"), strict=False)
model.t3.eval()

with torch.inference_mode():
    wav = model.generate(
        "ูŠุง ุทูˆูŠู„ ุงู„ุนู…ุฑุŒ ู…ุง ุนุงุด ู…ู† ูŠุถูŠู‚ ุตุฏุฑูƒ ูˆุฃู†ุง ู…ูˆุฌูˆุฏ.",
        language_id="ar",
        exaggeration=0.3,
        cfg_weight=0.35,
        temperature=0.45,
        repetition_penalty=2.5,
        min_p=0.05,
        top_p=0.9,
    )

sf.write("out.wav", wav.squeeze().cpu().numpy(), model.sr)

Tested with chatterbox-tts==0.1.7, torch==2.6.0+cu124.

Training details

Field Value
Base model ResembleAI/chatterbox (Multilingual)
Strategy Partial fine-tune of T3 (not LoRA)
Frozen S3Gen codec, voice encoder, text encoder/embeddings, early acoustic layers
Trainable Prosody/duration components, late acoustic layers
Dataset 4,286 train clips (4.57 h), 225 eval clips; 4.81 h kept after QC
Data cleaning UVR DeNoise, QC rejection of non-voice, Latin-script, digit-heavy, and outlier clips
Epochs 3
Batch size / grad accumulation 2 / 8 (effective 16)
Optimizer steps about 800
Learning rate 1e-5, cosine schedule, 300 warm-up steps
Gradient clipping 0.5
Loss speech-token CE + 0.1 ร— text-token CE
Hardware 1ร— NVIDIA GeForce RTX 3060 12 GB

See TRAINING_DETAILS.md and training_config.json.

Notes and limitations

  • This repository ships only fine-tuned T3 weights. The base Chatterbox components are downloaded from ResembleAI/chatterbox.
  • Without audio_prompt_path, generation uses the base model's default conditioning voice. Passing a reference clip changes voice identity.
  • Numbers are best written as Arabic words for reliable pronunciation.
  • Long inputs may trigger the base model's repetition guard and end early. Split long paragraphs into sentences.
  • Audio quality may vary by text length, punctuation, and prompt style.
  • Chatterbox applies the Perth implicit watermark to generated audio.
  • For production or public release decisions, independent rights review is still recommended for any training data and downstream deployment context.

License

The base model ResembleAI/chatterbox is released under the MIT license. This repository contains only fine-tuned weights and metadata. It does not redistribute a training dataset or a YouTube archive. Users must ensure that their own data, deployment context, and downstream distribution comply with all applicable rights and licensing requirements.

Citation

If you use this model in research or demos, please cite the project and the Chatterbox base model, and clearly disclose the model's fine-tuned, project-specific nature.

Downloads last month
-
Safetensors
Model size
0.5B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Messam174/Sada-TTS-SA-v1.2

Finetuned
(84)
this model