language:
- mg
license: cc-by-nc-sa-4.0
pipeline_tag: text-to-speech
tags:
- text-to-speech
- tts
- voice-cloning
- zero-shot
- malagasy
- plt
- low-resource
- onnx
- bluetts
base_model: notmax123/blue-v2
datasets:
- mimba/multivoice-plt
BlueTTS β Malagasy (plt), clonage zero-shot preserve
Finetune de BlueTTS (base notmax123/blue-v2)
pour parler malgache (Plateau Malagasy, plt) sans perdre la capacite de
clonage vocal zero-shot du modele de base.
Chaque checkpoint est publie avec son bundle ONNX (inference CPU), ses audios d'evaluation et ses metriques β rien n'est efface, tu peux choisir le tien.
Le probleme resolu
Finetuner un TTS de clonage sur peu de locuteurs detruit l'espace locuteur : le modele
oublie le clonage et repete des syllabes. Un run precedent sur 4 voix l'a montre
sans ambiguite : sim_ecapa s'effondrait de 0.45 a 0.22 en 1 000 steps.
La parade retenue : entrainer sur 524 voix distinctes parlant un malgache a accent natif
(mimba/multivoice-plt, 26 200 clips),
pour que le modele apprenne a separer le contenu du locuteur. La diversite remplace le gel.
Evolution
| step | loss | sim moy | min | max | vues | inedites |
|---|---|---|---|---|---|---|
| 0 | β | 0.349 | 0.230 | 0.494 | 0.349 | β |
| 1000 | β | 0.401 | 0.316 | 0.487 | 0.401 | β |
| 2000 | 0.233 | 0.371 | 0.278 | 0.451 | 0.371 | β |
| 3000 | 0.231 | 0.365 | 0.293 | 0.448 | 0.365 | β |
| 4000 | 0.230 | 0.358 | 0.265 | 0.468 | 0.358 | β |
| 5000 | 0.230 | 0.335 | 0.255 | 0.415 | 0.335 | β |
| 6000 | 0.229 | 0.348 | 0.267 | 0.418 | 0.348 | β |
| 7000 | 0.228 | 0.345 | 0.210 | 0.409 | 0.345 | β |
| 8000 | 0.226 | 0.321 | 0.191 | 0.415 | 0.321 | β |
| 9000 | 0.226 | 0.300 | 0.176 | 0.366 | 0.300 | β |
| 10000 | 0.226 | 0.324 | 0.144 | 0.426 | 0.300 | 0.335 |
| 11000 | 0.227 | 0.326 | 0.125 | 0.432 | 0.318 | 0.331 |
| 12000 | 0.225 | 0.324 | 0.138 | 0.448 | 0.305 | 0.333 |
| 13000 | 0.224 | 0.325 | 0.146 | 0.449 | 0.312 | 0.332 |
| 14000 | 0.225 | 0.323 | 0.148 | 0.434 | 0.301 | 0.333 |
- sim moy β similarite locuteur ECAPA-TDNN (
speechbrain/spkrec-ecapa-voxceleb), cosinus entre l'audio genere et l'audio de reference, moyenne sur 4 references x N phrases. - vues / inedites β phrases d'evaluation initiales vs phrases jamais vues a l'entrainement (mesure de generalisation).
Au step 14000, les phrases inedites obtiennent 0.333 contre 0.301 pour les phrases d'evaluation initiales : l'ecart (+0.032) montre que le modele generalise et ne recite pas son corpus.
| Checkpoint | Voix1_p1 | Voix1_p2 | Voix2_p1 | Voix2_p2 | Voix3_p1 | Voix3_p2 | Voix4_p1 | Voix4_p2 |
|---|---|---|---|---|---|---|---|---|
| step_7000 | ||||||||
| step_8000 | ||||||||
| step_10000 | ||||||||
| step_11000 | ||||||||
| step_13000 | ||||||||
| step_14000 |
Recette d'entrainement
| Base | notmax123/blue-v2 (AE blue_codec.safetensors) |
| Dataset | mimba/multivoice-plt β 26 197 clips, 524 locuteurs (50 chacun) |
| Texte | IPA pre-phonemise (text_phonemized), plt |
| Duration Predictor | reentraine de zero sur les 524 voix, 15 000 steps (loss 1.3 -> 0.059) |
| TTL | finetune, batch 7 x accumulation 8 (batch effectif 56) |
| LR | 2.5e-4, reduit a 1.25e-4 apres plateau de loss + baisse de sim_ecapa |
| Checkpoints | tous les 1 000 steps, exportes en ONNX et evalues automatiquement |
Pourquoi le DP est reentraine : c'est lui qui portait le begaiement du run 4-voix (il est conditionne par le locuteur). Sur 524 voix, il apprend un rythme robuste.
Utilisation (ONNX, CPU)
from huggingface_hub import snapshot_download
d = snapshot_download("mimba/bluetts-plt", allow_patterns=["eval/step_14000/onnx/*"])
# -> text_encoder / vector_estimator / vocoder / duration_predictor
# + codec_encoder / style_encoder / duration_style_encoder (clonage zero-shot)
Parametres de production (worker Mimba) : total_step=8..16, speed=0.95,
cfg_scale=4.0, pace_blend=0.30. Normaliser la sortie avant ecriture
(RMS 0.08 / peak 0.95) : le vocodeur sort a un pic ~1.5 et s'ecrete sinon.
Le vocabulaire BlueTTS ne contient pas les marqueurs de prenasalisation malgaches
m en exposant et n en exposant : les remplacer par m / n avant encodage.
Limites
- Fidelite de clonage inferieure a la base :
sim_ecapapasse de ~0.35 (step 0) a ~0.32 apres finetune. La degradation a ete stoppee (LR reduit), pas annulee. - Variable selon la voix : certaines references se clonent nettement moins bien (voir l'ecart min/max du tableau) β tester avec ses propres references.
- Monolingue : entraine pour le malgache uniquement.
- Donnees synthetiques : le corpus multi-voix est genere (OmniVoice + OpenVoice), seul l'accent provient de locuteurs natifs reels.
Licence
cc-by-nc-sa-4.0 β usage non commercial. Verifier independamment les licences de
BlueTTS, OmniVoice et OpenVoice avant tout usage commercial.
