🎙️ Matcha-TTS — Plateau Malagasy (PLT)
Modèle de synthèse vocale pour le malgache du Plateau (dialecte standard), fine-tuné à partir de Matcha-TTS.
Dataset : mimba/plt-tts-dataset
Base model : Matcha-TTS (English)
Speakers : spk_m1, spk_f1, spk_m2, spk_f2
📊 Résultats d'entraînement
Courbe de loss (33 epochs)
| Métrique | Valeur |
|---|---|
| Epochs | 33 |
| Train loss finale | 2.181 |
| Val loss finale | 2.189 |
| Best val loss | 2.187 @ epoch 29 |
| Generalization gap | +0.008 (sur-apprentissage très faible) |
Décomposition de la loss
| Composante | Train (début → fin) | Val (fin) | Part du total |
|---|---|---|---|
| Diffusion | 1.202 → 0.891 | 0.905 | ~41% |
| Prior | 0.997 → 0.962 | 0.962 | ~44% |
| Duration | 0.425 → 0.328 | 0.323 | ~15% |
La composante Diffusion montre la plus forte amélioration (−25.9%), indiquant que le modèle a bien appris la génération des spectrogrammes. La composante Prior reste la plus difficile à optimiser (−3.5% seulement).
🔊 Exemple d'inférence
| Locuteur | Texte | Audio |
|---|---|---|
| spk_f1 (👩) | "Mianatra teny malagasy aho. Tsy misy olana." | |
| spk_f2 (👩) | "Mianatra teny malagasy aho. Tsy misy olana." | |
| spk_m1 (👨) | "Mianatra teny malagasy aho. Tsy misy olana." | |
| spk_m2 (👨) | "Mianatra teny malagasy aho. Tsy misy olana." | |
| spk_f1 (👩) | "Tamin'ny voalohany Andriamanitra nahary ny lanitra sy ny tany." | |
| spk_f2 (👩) | "Tamin'ny voalohany Andriamanitra nahary ny lanitra sy ny tany." | |
| spk_m1 (👨) | "Tamin'ny voalohany Andriamanitra nahary ny lanitra sy ny tany." | |
| spk_m2 (👨) | "Tamin'ny voalohany Andriamanitra nahary ny lanitra sy ny tany." |
🎧 Utilisation
Installation
pip install matcha-tts
Inférence
from matcha_tts import MatchaTTS
model = MatchaTTS.from_pretrained("mimba/matcha-tts-plt")
# Texte brut en malgache du Plateau
text = "Mianatra teny malagasy aho."
wav = model.synthesize(text)
# Avec phonémisation IPA (optionnel, meilleure prononciation)
wav = model.synthesize(text, phonemize=True)
📁 Structure du dataset
Le dataset mimba/plt-tts-dataset contient :
| Split | Durée | Locuteurs |
|---|---|---|
| Train | ~8h | 4 (2M, 2F) |
| Val | ~1h | 4 (2M, 2F) |
| Test | ~1h | 4 (2M, 2F) |
Phonémisation : Optionnelle (mode phrase IPA malgache). Le modèle fonctionne aussi en texte brut grâce au backbone LLM riche.
📈 Analyse post-entraînement
Gradient health
- Gradient norm initiale : 6.00
- Gradient norm finale : 0.30
- Réduction : 95.0% → gradients bien contrôlés, pas d'explosion
Convergence
- Phase rapide : Epochs 1–10 (loss 2.62 → 2.21)
- Phase fine : Epochs 10–29 (loss 2.21 → 2.19)
- Plateau : Epochs 29–33 (amélioration < 0.001/epoch)
- Tendance : La meilleure performance est atteinte à l'epoch 29 ; les epochs 30–33 montrent une légère dégradation de la val loss, suggérant un début de sur-apprentissage.
Recommandations
- Checkpoint optimal : epoch 29 (val_loss = 2.187)
- Arrêt anticipé : recommandé pour éviter le sur-apprentissage
- Prior loss : la composante la moins optimisée ; envisager d'augmenter son poids ou de vérifier l'architecture du prior
🎯 Limites connues
| Problème | Cause | Solution |
|---|---|---|
| Pas de voice cloning | Entraînement sans référence cross-locuteur | Re-train avec prompts de clonage |
| Batch size limité | VRAM 12GB | gradient_checkpointing=True |
| 1.3 epoch seulement | Dataset large, steps limités | Augmenter max_steps ou réduire le dataset |
| Prior sous-optimisé | Faible amélioration (−3.5%) | Augmenter le poids de la loss prior |
🙏 Remerciements
- Shivam Mehta pour Matcha-TTS
- La communauté malgache pour les données vocales
📄 Citation
@article{mehta2023matcha,
title={Matcha-TTS: A fast TTS architecture with conditional flow matching},
author={Mehta, Shivam and Tu, Ruibo and Paananen, Aleksis and others},
journal={arXiv preprint arXiv:2309.03199},
year={2023}
}
@misc{
title={afrilang: Small Out-of-domain resource for various africain languages},
author={Mimba Ngouana Fofou},
year={2026},
}
📬 Contact
Pour questions ou contributions : ouvrez une issue sur ce repo ou contactez @mimba.
Licensing Information
This dataset is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.