File size: 4,245 Bytes
8c9756c e143f5d 8c9756c e143f5d 8c9756c e143f5d 8c9756c 6a9a41c 8c9756c | 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 | ---
license: other
license_name: bilibili-model-use-license
license_link: https://huggingface.co/IndexTeam/IndexTTS-2.5/blob/main/LICENSE
language:
- am
- om
- ti
tags:
- text-to-speech
- amharic
- afaan-oromoo
- tigrinya
- ethiopia
- voice-cloning
- emotional-speech
- lab.et
- azemari
- indextts
pipeline_tag: text-to-speech
---
# Azemari — Ethiopian Multilingual Voice (TTS)
**146 language tokens · 4 languages · 8 emotions · voice cloning · built in Addis Ababa**
[lab.et](https://lab.et) · [voice.et](https://voice.et) · [yakal.et](https://yakal.et)
---
## What is Azemari?
Named after the **Azemari** — Ethiopia's traditional improvising singer who can take any voice and any mood — Azemari is a fine-tuned IndexTTS-2.5 model that speaks **Amharic, Afaan Oromoo, and Tigrinya** with controlled emotion and voice cloning.
Built by [**lab.et**](https://lab.et), the AI lab of Ethiopia.
## Capabilities
| Control | Token |
|---|---|
| Amharic | `<\|am\|>` |
| Afaan Oromoo | `<\|om\|>` |
| Tigrinya | `<\|ti\|>` |
| Shewa dialect | `<\|am\|><\|DIALECT_SHEWA\|>` |
| Emotion | 8-dim vector (happy, angry, sad, afraid, disgusted, melancholic, surprised, calm) |
| Voice | CAMPPlus speaker embedding from reference audio |
## Usage
**Everything needed for inference is in this repository** — download it and run; no external model downloads required.
```bash
pip install -U "huggingface_hub[cli]"
hf download Lab-et/azemari --local-dir azemari
```
1. Set up the [IndexTTS-2.5 codebase](https://github.com/index-tts/index-tts)
2. Point it at the downloaded `azemari/` directory as your checkpoint dir (it replaces the official `checkpoints/`)
3. Generate. Control language with `<|am|>`, `<|om|>`, `<|ti|>` prefixes and dialects with `<|DIALECT_SHEWA|>` / `<|DIALECT_GOJJAM|>`
### Repository contents
| File | What it is |
|---|---|
| `gpt.pth` | **Azemari** — the fine-tuned GPT (this is the model) |
| `config.yaml` | adapted config (60,513 text tokens, +2 language rows) |
| `model_v2.py`, `tokenizer_ethiopic.py` | adapted inference code + Ethiopian tokenizer |
| `codec.pth`, `s2mel.pth`, `feat1.pt`, `feat2.pt`, `wav2vec2bert_stats.pt` | official IndexTTS-2.5 inference components |
| `qwen0.6bemo4-merge/` | official emotion model |
| `multilingual_zh_ja_yue_char_del.tiktoken` | base tokenizer (Ethiopic special tokens extend it) |
| `bigvgan_generator.pth` | BigVGAN vocoder (official IndexTTS component) |
The only runtime fetch is the CAMPPlus speaker encoder, which the official code path loads from ModelScope (`iic/speech_campplus_sv_zh-cn_16k-common`).
## Samples
Listen to generated samples at [Lab-et/azemari-samples](https://huggingface.co/datasets/Lab-et/azemari-samples) — emotions, voice cloning, multi-language tests.
## Training
Fine-tuned from the [IndexTTS-2.5](https://huggingface.co/IndexTeam/IndexTTS-2.5) base checkpoint on **41,371 clips of human ground-truth Ethiopian speech** (605 hours — Amharic 61.6k, Afaan Oromoo 40.3k, Tigrinya 40.0k), with language-specific embedding rows added (109 total, +2 for OM/TI) and 5 dialect/emotion tokens extended (60,514 total, +4).
- Training: 58,000 steps, batch duration 1600s/update, learning rate 3.2e-3 → warmup → cosine
- Post-training: language/token embedding-only refinement pass (backbone frozen)
- Validation loss: 5.018 (step 3,000) → ~3.0 (step 58,000)
## License
Inherited from [IndexTeam/IndexTTS-2.5](https://huggingface.co/IndexTeam/IndexTTS-2.5) — [bilibili Model Use License Agreement](https://huggingface.co/IndexTeam/IndexTTS-2.5/blob/main/LICENSE).
## About lab.et
[**lab.et**](https://lab.et) is the AI lab of Ethiopia — building speech AI, models and infrastructure for Ethiopian languages in Addis Ababa. Our products: [voice.et](https://voice.et) (speech APIs) and [yakal.et](https://yakal.et) (the AI console, prepaid in Birr).
Open data: [amharic-corpus](https://huggingface.co/datasets/Lab-et/amharic-corpus) — 408.5 hours of Amharic speech.
## Citation
```bibtex
@model{labet_azemari,
title = {Azemari — Ethiopian Multilingual Voice (TTS)},
author = {lab.et},
year = {2026},
url = {https://huggingface.co/Lab-et/azemari},
note = {Fine-tuned from IndexTTS-2.5}
}
```
|