Text-to-Speech
Transformers
Safetensors
Igbo
vits
text-to-audio
tts
mms
nigerian-languages
low-resource
waxal
soro-tts
igbo
Eval Results (legacy)
Instructions to use Shinzmann/soro-tts-ibo with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Shinzmann/soro-tts-ibo with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-to-speech", model="Shinzmann/soro-tts-ibo")# Load model directly from transformers import AutoTokenizer, AutoModelForTextToWaveform tokenizer = AutoTokenizer.from_pretrained("Shinzmann/soro-tts-ibo") model = AutoModelForTextToWaveform.from_pretrained("Shinzmann/soro-tts-ibo") - Notebooks
- Google Colab
- Kaggle
File size: 4,634 Bytes
c15ea03 9c3c9fd c15ea03 9c3c9fd c15ea03 9c3c9fd c15ea03 9c3c9fd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | ---
language:
- ibo
license: cc-by-nc-4.0
tags:
- text-to-speech
- tts
- vits
- mms
- nigerian-languages
- low-resource
- waxal
- soro-tts
- igbo
datasets:
- google/WaxalNLP
base_model: facebook/mms-tts-ibo
pipeline_tag: text-to-speech
library_name: transformers
metrics:
- cer
model-index:
- name: soro-tts-ibo
results:
- task:
type: text-to-speech
name: Text-to-Speech
dataset:
name: WAXAL TTS — Igbo
type: google/WaxalNLP
config: ibo_tts
split: test
metrics:
- type: cer
value: 44.84
name: Character Error Rate (ASR-based)
---
# Soro-TTS — Igbo 🇳🇬
Part of **[Soro-TTS](https://huggingface.co/Shinzmann)**, a multilingual text-to-speech system for Nigerian languages.
This checkpoint is a fine-tune of [`facebook/mms-tts-ibo`](https://huggingface.co/facebook/mms-tts-ibo) on the
[`google/WaxalNLP`](https://huggingface.co/datasets/google/WaxalNLP) `ibo_tts` subset.
## Languages in the Soro-TTS suite
| Language | Model |
|---|---|
| Hausa | [`Shinzmann/soro-tts-hau`](https://huggingface.co/Shinzmann/soro-tts-hau) |
| Igbo | [`Shinzmann/soro-tts-ibo`](https://huggingface.co/Shinzmann/soro-tts-ibo) |
| Yoruba | [`Shinzmann/soro-tts-yor`](https://huggingface.co/Shinzmann/soro-tts-yor) |
## Quick start
```python
from transformers import VitsModel, AutoTokenizer
import torch, scipy.io.wavfile
model = VitsModel.from_pretrained("Shinzmann/soro-tts-ibo")
tokenizer = AutoTokenizer.from_pretrained("Shinzmann/soro-tts-ibo")
text = "Nnọọ na Naịjịrịa, obodo anyị nke jupụtara na ngọzi."
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
waveform = model(**inputs).waveform[0].numpy()
scipy.io.wavfile.write("out.wav", rate=model.config.sampling_rate, data=waveform)
```
## Training data
Trained on the `ibo_tts` configuration of WAXAL — studio-quality, phonetically balanced single-speaker recordings collected by Media Trust under Google Research's WAXAL initiative.
| Statistic | Value |
|---|---|
| Total audio | 20.58 hours |
| Training audio | 17.28 hours (1552 clips) |
| Validation audio | 1.32 hours |
| Test audio | 1.98 hours |
| Speakers (train) | 8 |
| % words containing diacritics | 31.6% |
| Sample rate | 16 kHz |
## Architecture
VITS / MMS-TTS — a conditional VAE with adversarial training, a flow-based prior, and a HiFi-GAN-style decoder.
- **Parameters:** ~83M
- **Sample rate:** 16 kHz
- **Base model:** `facebook/mms-tts-ibo` (Pratap et al., 2023)
## Training procedure
| Hyperparameter | Value |
|---|---|
| Epochs | 100 |
| Batch size | 128 |
| Learning rate | 2e-05 |
| Optimizer | AdamW (β₁=0.8, β₂=0.99) |
| Precision | bf16 |
| Loss weights | mel=35, kl=1.5, gen=1, fmaps=1, disc=3, duration=1 |
| Recipe | [`ylacombe/finetune-hf-vits`](https://github.com/ylacombe/finetune-hf-vits) |
## Evaluation
**Character Error Rate (CER)** measured by transcribing synthesised audio with [`facebook/mms-1b-all`](https://huggingface.co/facebook/mms-1b-all) ASR (target_lang=`ibo`):
| Metric | n | Value |
|---|---|---|
| CER (ASR-based) | 20 | **44.84%** |
This proxy metric measures intelligibility, not naturalness. Human MOS evaluation by native speakers is recommended for the latter.
## Limitations and biases
- **Single voice.** WAXAL TTS is recorded by 1–2 professional voice actors per language. The model inherits that voice and accent.
- **Domain.** Training text covers news, narration, and read speech; conversational, code-switched, or highly informal text may be out of distribution.
- **Tonal nuance.** Igbo relies on tone marks for meaning. Inputs without proper diacritics will produce flat or incorrect prosody.
- **Non-commercial.** MMS-TTS base is **CC BY-NC 4.0**; this fine-tune inherits that license.
## License
CC BY-NC 4.0 (inherited from `facebook/mms-tts-ibo`). The WAXAL data itself is CC-BY-4.0.
**This model is for research only and may not be used commercially.**
## Citation
```bibtex
@misc{soro_tts_ibo_2026,
title = {{Soro-TTS: A Multilingual Text-to-Speech System for Nigerian Languages — Igbo}},
author = {{Soro-TTS authors}},
year = {{2026}},
url = {{https://huggingface.co/Shinzmann/soro-tts-ibo}},
}
@article{pratap2023mms,
title = {{Scaling Speech Technology to 1{,}000+ Languages}},
author = {{Pratap, Vineel and Tjandra, Andros and Shi, Bowen and others}},
journal= {{arXiv:2305.13516}},
year = {{2023}}
}
```
## Acknowledgements
- Google Research and Media Trust for releasing WAXAL
- Meta AI for the MMS base models
- Yoach Lacombe for [`finetune-hf-vits`](https://github.com/ylacombe/finetune-hf-vits)
|