BlueTTS — cinq langues
Finetune de BlueTTS v2 sur cinq langues : anglais, créole mauricien, français,
malgache et ngiemboon. Entraînement arrêté au pas 7,000, exporté
depuis BlueTTS 0e38dbf08ed5.
Checkpoint recommandé : pas 4,000 — onnx/pas_4000/. Ce n'est pas
toujours le dernier : le clonage se dégrade au fil de l'entraînement, si bien
qu'un checkpoint antérieur lit aussi bien et imite mieux une voix nouvelle. Les
chiffres ci-dessous décrivent celui-là ; la figure montre toute l'évolution, et
tous les checkpoints restent téléchargeables.
Trois de ces langues ne sont servies par presque aucun outil de synthèse. C'est la raison d'être de ce modèle.
Ce qui a été mesuré
Les mêmes six phrases à chaque checkpoint, dans les cinq langues, gelées au début de l'entraînement. Une phrase différente d'un checkpoint à l'autre changerait le résultat autant que le modèle.
| Langue | Sifflement médian | Pointe | Bruit (dB) | Débit (car/s) | Écart au timbre |
|---|---|---|---|---|---|
| Anglais | 0.388 | 0.551 | 26.6 | 13.2 | 0.0149 |
| Francais | 0.271 | 0.427 | 51.1 | 21.8 | 0.0071 |
| Creole mauricien | 0.264 | 0.289 | 57.6 | 18.9 | 0.0301 |
| Ngiemboon | 0.181 | 0.299 | 54.5 | 17.9 | 0.0207 |
| Malgache | 0.433 | 0.633 | 67.1 | 17.2 | 0.0122 |
Sifflement : part d'énergie entre 6,5 et 13 kHz par trame, p90 sur l'extrait. Le seuil de rejet des corpus est 0.50 ; la voix humaine se tient vers 0,36.
Bruit : plancher de bruit de l'extrait, en décibels. Plus il est bas, plus le fond est propre.
Débit : caractères par seconde. Il révèle la diction hachée, dont le spectre est irréprochable.
Écart au timbre : distance cosinus entre l'empreinte MFCC de la voix produite et celle d'un témoin retiré du corpus. Il ne mesure pas une identité, seulement une dérive.
Ce qui ne va pas
Un grésillement métallique en arrière-plan, entendu à l'écoute. Il ne vient pas de l'entraînement : un extrait du corpus passé par le seul auto-encodeur — encodage puis décodage, sans le modèle — le porte déjà.
Il se trouve entièrement au-dessus de 11,5 kHz. Les corpus sont à 24 kHz, donc vides au-delà de 12 kHz ; l'auto-encodeur, entraîné sur du 44,1 kHz réel, remplit ce vide avec ce qu'il sait faire. Un filtre passe-bas à 11,5 kHz le fait disparaître sans rien retirer d'audible — c'est le remède, et il s'applique à la synthèse, pas à l'entraînement.
La mesure du sifflement ne voit pas ce défaut. Le p90 baisse à l'aller-retour alors que l'oreille entend pire : elle mesure les sifflantes, pas les artefacts de codec. Ne pas lui faire dire que le modèle s'améliore.
Les énoncés courts sortent avec une fricative tenue. « let's smile » se
prononce « let'sss smile », et il en va de même dans toutes les langues. Le
prédicteur de durée ne rend qu'un nombre — la durée totale — et sa loi, relevée
sur 150 phrases, est durée = 0,61 s + 0,0575 s × jeton. La pente est juste ;
la constante fait 42 % d'un énoncé de onze jetons, et le modèle meuble ce temps
en tenant la fricative.
Il ne peut pas faire autrement : aucun corpus ne porte d'extrait court — rien sous 1,5 s en anglais, rien sous 11 s en mauricien. Le remède est dans les données, pas dans le modèle. Le carnet le vérifie désormais avant de lancer.
La perte a plafonné vers 0,232 à partir du pas 5 000 et n'a plus bougé.
Le corpus ngiemboon contient un défaut connu : soixante-quatre voix prononcent un mot absent du texte, toujours le même pour une voix donnée. La correction est identifiée mais n'a pas été appliquée à cet entraînement.
Réglages
| architecture | BlueTTS v2.0.0, branche main |
| lot effectif | 14 x 4 |
| prédicteur de durée | 30,000 pas |
| voix par langue | au plus 500 |
| échantillonnage | 24 kHz en entrée, 44,1 kHz en sortie |
Les corpus : mimba/multivoice-en, mimba/multivoice-fr, mimba/multivoice-mfe, mimba/multivoice-nnh, mimba/multivoice-plt.
Les mesures complètes sont dans suivi/suivi.json — un objet par checkpoint,
détaillé par langue et par épreuve.
