
Données d’entraînement pour la synthèse vocale : comparaison entre 10, 5 et 3 heures — presque aucune différence pour un TTS trilingue
Suite du modèle de synthèse vocale croate. Cette fois, j’ai fait parler croate, japonais et anglais à un seul petit modèle. J’ai ensuite comparé les différences selon qu’il disposait de 10, 5 ou 3 heures de données d’apprentissage pour chaque langue.
Voici d’abord la conclusion.
- Qu’il y ait 10, 5 ou 3 heures par langue, le résultat final était presque identique. Le meilleur taux d’erreur sur les caractères était de 0,7 % dans les trois cas (28 phrases parfaitement identiques sur 32)
- La progression de l’apprentissage était elle aussi presque la même. Dans tous les cas, le japonais et l’anglais pouvaient être lus presque exactement comme le script après 3 000 à 5 000 étapes, et le croate après 10 000 étapes
- Seule la version 3 heures a conservé un temps la tendance à lire « Bok! (salut) » comme « Blok ». Il lui a fallu un peu plus de temps pour se stabiliser dans son meilleur état
- Aucune différence n’est apparue non plus sur des phrases remplies de termes techniques. J’ai testé en pensant que la version 10 heures serait plus forte en vocabulaire, mais les trois étaient presque identiques
- Les erreurs de lecture des termes techniques se produisaient sur les mêmes mots, de la même manière dans les trois modèles. En anglais, la cause n’était pas le modèle, mais la partie qui transforme les caractères en symboles phonétiques (le dictionnaire)
Ce qui a été fait
Modèles : le même Matcha-TTS que la fois précédente (environ 18,3 millions de paramètres) et Vocos, qui reconvertit en forme d’onde (environ 13,5 millions de paramètres). Le locuteur est un homme dans la vingtaine.
Astuce pour les 3 langues : l’entrée du modèle a été convertie en symboles phonétiques communs aux trois langues (IPA). Les sons identiques d’une langue à l’autre, comme « ʦ » et « ʨ », partagent le même symbole. La langue à parler est indiquée en utilisant comme « numéro de langue » le numéro normalement destiné à changer de locuteur.
- Croate : comme cette langue se lit presque telle qu’elle s’écrit, il suffit de remplacer les caractères un à un par des symboles phonétiques
- Japonais : OpenJTalk a servi à extraire la lecture et l’accent, puis à marquer les endroits où la hauteur du son monte et descend
- Anglais : les symboles phonétiques ont été obtenus avec g2p_en (le dictionnaire de prononciation CMU et un petit modèle qui estime la prononciation des mots absents du dictionnaire)
Données d’apprentissage : des enregistrements d’un même homme lisant des répliques de conversations dans les trois langues. Après avoir comparé les enregistrements au script par reconnaissance vocale et retiré les erreurs de lecture, il restait 9,4 heures de croate, 9,7 heures de japonais et 8,3 heures d’anglais (environ 27 heures au total). C’est ce que j’appelle la « version 10 heures ».
À partir de là, la « version 5 heures » a été créée en extrayant au hasard exactement 5 heures de chaque langue (15 heures au total), et la « version 3 heures » en prenant 3 heures de chaque langue (9 heures au total, environ 5 800 fichiers). Tous les autres réglages (taille du modèle, taille de lot, 60 000 étapes) étaient identiques. Le nombre d’étapes étant le même, moins il y a de données, plus le même audio est vu de fois (la version 3 heures le voit environ trois fois plus que la version 10 heures).
L’apprentissage a été effectué sur une RTX 4090, à raison de 6 à 8 heures et demie par exécution.
Comparer les voix au cours de l’apprentissage
Les phrases suivantes, qui ne figurent pas dans les données d’apprentissage, ont été synthétisées par les modèles en cours d’apprentissage.
- Anglais : Tomorrow we're going to the seaside, and the day after we'll visit my grandma in Split.
- Japonais : Demain, nous irons à la mer et après-demain, nous prévoyons d’aller rendre visite à ma grand-mère chez elle.
- Croate : Sutra idemo na more, a prekosutra ćemo posjetiti baku u Splitu.
De gauche à droite : version 10 heures, 5 heures, 3 heures.
| Étape | Version 10 heures | Version 5 heures | Version 3 heures |
|---|---|---|---|
| 1 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 2 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 3 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 4 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 5 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 10 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 20 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 30 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 40 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 50 000 | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
À l’écoute, à 1 000 étapes, aucun des modèles n’est encore très clair. Mais en anglais, on comprend déjà globalement ce qui est dit. Le japonais varie selon la version : dès 1 000 étapes, la version 5 heures a transcrit cette phrase parfaitement, mot pour mot. En revanche, la version 10 heures a produit « Osewa ni natte mite kudasai », et la version 3 heures « Ashita made no medikku de… » : des phrases complètement différentes.
Entre 3 000 et 5 000 étapes, tous les modèles parviennent à lire le japonais et l’anglais conformément au script. Le croate arrive un peu plus tard : le premier mot, « Sutra » (« demain »), reste interprété comme « Sve », « Straj », « Satra », etc., jusqu’aux environs de 5 000 à 10 000 étapes. À partir de 20 000 étapes, il était presque impossible de distinguer les trois modèles à l’écoute.
Les chiffres
J’ai transcrit les phrases d’évaluation (14 en croate, 9 en japonais et 9 en anglais, toutes absentes des données d’apprentissage) avec Whisper large-v3, puis mesuré le taux d’erreur de caractères (CER) par rapport au script. Pour le japonais, afin que les variations d’écriture en kanji (« asatte » ou « après-demain », par exemple) ne soient pas comptées comme des erreurs, les phrases ont été converties en lecture katakana avant comparaison.
D’abord, la moyenne des 32 phrases dans les trois langues. Le nombre entre parenthèses indique les correspondances parfaites.
| Étapes | Version 10 heures | Version 5 heures | Version 3 heures |
|---|---|---|---|
| 1 000 | 43,8 %(2) | 41,9 %(2) | 43,8 %(1) |
| 2 000 | 16,6 %(7) | 17,7 %(12) | 17,6 %(9) |
| 3 000 | 7,7 %(16) | 6,2 %(16) | 9,9 %(14) |
| 4 000 | 5,9 %(21) | 3,7 %(19) | 2,7 %(25) |
| 5 000 | 2,1 %(23) | 3,3 %(20) | 4,5 %(23) |
| 10 000 | 1,4 %(24) | 1,1 %(23) | 1,7 %(24) |
| 15 000 | 0,8 %(26) | 0,7 %(26) | 2,0 %(24) |
| 20 000 | 0,7 %(27) | 0,8 %(26) | 0,9 %(25) |
| 30 000 | 0,7 %(28) | 0,8 %(26) | 1,7 %(26) |
| 40 000 | 1,2 %(25) | 1,7 %(26) | 0,7 %(26) |
| 45 000 | 3,9 %(25) | 0,7 %(28) | 0,7 %(27) |
| 50 000 | 0,7 %(28) | 0,7 %(26) | 0,7 %(28) |
| 60 000 | 1,8 %(26) | 0,8 %(27) | 1,9 %(25) |
Par langue, cela donne ceci (croate / japonais / anglais).
| Étapes | Version 10 heures | Version 5 heures | Version 3 heures |
|---|---|---|---|
| 5 000 | 2,8 / 1,2 / 1,8 % | 6,5 / 1,2 / 0,3 % | 2,0 / 1,8 / 11,1 % |
| 10 000 | 2,2 / 1,2 / 0,3 % | 1,7 / 1,2 / 0,3 % | 2,9 / 1,2 / 0,3 % |
| 20 000 | 0,8 / 1,2 / 0,0 % | 0,9 / 1,2 / 0,0 % | 0,8 / 1,8 / 0,3 % |
| 30 000 | 0,7 / 1,2 / 0,0 % | 1,1 / 1,2 / 0,0 % | 3,2 / 1,2 / 0,0 % |
| 50 000 | 0,7 / 1,2 / 0,0 % | 0,9 / 1,2 / 0,0 % | 0,7 / 1,2 / 0,0 % |
- Les meilleurs résultats ont été obtenus par la version 10 heures à 30 000 et 50 000 étapes, la version 5 heures à 45 000 étapes et la version 3 heures à 50 000 étapes. Toutes atteignent 0,7 % au total, avec 28 phrases sur 32 parfaitement identiques : les trois modèles arrivent au même point
- Les pics intermédiaires dans les chiffres correspondent presque toujours à une différence d’un seul mot. Par exemple, « Bok! » (« salut ! ») est transcrit « Bog », ou « Hi! » « Bye. » ; pour des phrases courtes d’un ou deux mots, une seule lettre de différence fait fortement grimper le taux d’erreur
- Dans la version 3 heures, le croate atteint des valeurs autour de 3 % entre 15 000 et 35 000 étapes. En regardant le détail, il s’agit presque toujours d’une seule phrase où « Bok! » est lu « Blok ». Cela était corrigé à 50 000 étapes. Avec moins de données, il semble falloir davantage de temps pour éliminer les particularités des phrases courtes
- Le taux de 1,2 % en japonais provient à chaque fois d’une seule phrase : « shh, silence. », où « shh » est transcrit « shi ». Il s’agit d’une question de longueur de voyelle à transcrire ; à l’écoute, le modèle dit bien « shh »
- Les erreurs restantes en croate relèvent presque toutes des habitudes du système de transcription, par exemple « prekosutra » (« après-demain ») écrit en deux mots, « preko sutra »
La différence entre 10 heures, 5 heures et 3 heures se situait dans la marge d’erreur. Au moins pour la capacité à lire conformément au script, trois heures par langue ont suffi. Toutefois, la version 3 heures a mis plus longtemps à se stabiliser ; mieux vaut donc l’entraîner pendant au moins 40 000 étapes.
Comparaison avec des phrases truffées de termes techniques
Même si peu de données suffisent pour une conversation ordinaire, davantage de données ne seraient-elles pas plus efficaces pour des mots difficiles qui apparaissent très rarement dans les données d’apprentissage ? C’est ce que j’ai voulu vérifier en créant dix phrases remplies de termes techniques médicaux, informatiques, juridiques, chimiques, financiers, etc., et en les faisant lire dans les trois langues. Tous les modèles utilisés étaient à 50 000 étapes.
- Comme nous suspectons un infarctus du myocarde, veuillez préparer d’urgence une coronarographie et un traitement thrombolytique.
- Comme nous suspectons un infarctus du myocarde, veuillez préparer immédiatement une coronarographie et un traitement thrombolytique.
- Nous suspectons un infarctus du myocarde ; préparez donc immédiatement une angiographie coronaire et un traitement thrombolytique.
- Cet algorithme associe un réseau de neurones convolutif à une architecture récurrente.
- Cet algorithme associe un réseau de neurones convolutif à une architecture récurrente.
- Cet algorithme associe un réseau neuronal convolutif à une architecture récurrente.
- L’avocat de l’accusé a plaidé l’acquittement en appel, au motif que les preuves avaient été recueillies illégalement.
- L’avocat de la défense a plaidé l’acquittement en appel, en invoquant l’obtention illégale des preuves.
- L’avocat de l’accusé a demandé un acquittement en appel en raison de preuves obtenues illégalement.
- Lors de la photosynthèse, la chaîne de transport d’électrons agit dans la membrane thylakoïde du chloroplaste et produit de l’adénosine triphosphate.
- Lors de la photosynthèse, la chaîne de transport d’électrons de la membrane thylakoïde du chloroplaste produit de l’adénosine triphosphate.
- Lors de la photosynthèse, la chaîne de transfert d’électrons de la membrane thylakoïde du chloroplaste produit de l’adénosine triphosphate.
- La distribution de clés cryptographiques fondée sur l’intrication quantique permet, en principe, de détecter toute écoute clandestine.
- La distribution quantique de clés fondée sur l’intrication peut, en principe, détecter toute écoute clandestine.
- La distribution quantique de clés fondée sur l’intrication peut, en principe, détecter toute écoute clandestine.
- Face à la hausse de l’inflation, la banque centrale a décidé d’augmenter son taux directeur et d’entamer un resserrement quantitatif.
- En réponse à la hausse de l’inflation, la banque centrale a décidé d’augmenter les taux d’intérêt et de commencer un resserrement quantitatif.
- En raison de la hausse de l’inflation, la banque centrale a décidé de relever les taux d’intérêt et d’entamer un resserrement quantitatif.
- Chez les patients atteints d’arthrose du genou, des injections intra-articulaires d’acide hyaluronique sont associées à de la kinésithérapie.
- Les patients atteints d’arthrose du genou reçoivent des injections intra-articulaires d’acide hyaluronique associées à de la kinésithérapie.
- Les patients atteints d’arthrose du genou reçoivent des injections intra-articulaires d’acide hyaluronique en complément de la kinésithérapie.
- Ce pont soutient un tablier en béton armé sur des poutres en béton précontraint.
- Ce pont soutient un tablier en béton armé sur des poutres en béton précontraint.
- Ce pont porte une dalle en béton armé sur des poutres en béton précontraint.
- La plateforme d’échange de cryptomonnaies vérifie l’intégrité du registre distribué au moyen d’un algorithme de consensus.
- La plateforme d’échange de cryptomonnaies vérifie l’intégrité de son registre distribué à l’aide d’un algorithme de consensus.
- La plateforme d’échange de cryptomonnaies vérifie l’intégrité du grand livre distribué au moyen d’un algorithme de consensus.
- L’usage excessif d’antibiotiques favorise l’apparition de bactéries multirésistantes et accroît le risque d’infections nosocomiales.
- L’usage excessif d’antibiotiques entraîne l’apparition de bactéries multirésistantes et augmente le risque d’infections nosocomiales.
- L’utilisation excessive d’antibiotiques entraîne l’apparition de bactéries multirésistantes et accroît le risque d’infections hospitalières.
| Phrase | Version 10 h | Version 5 h | Version 3 h |
|---|---|---|---|
| 1. Comme on suspecte un infarctus du myocarde, veuillez préparer d’urgence une coronarographie et une thrombolyse. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 2. Cet algorithme associe un réseau de neurones convolutif et un réseau récurrent. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 3. L’avocat de l’accusé a plaidé l’acquittement en appel au motif que les preuves avaient été recueillies illégalement. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 4. Lors de la photosynthèse, la chaîne de transport d’électrons fonctionne dans la membrane des thylakoïdes des chloroplastes, où l’adénosine triphosphate est synthétisée. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 5. La distribution de clés cryptographiques fondée sur l’intrication quantique permet de détecter toute écoute clandestine par principe. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 6. Face à la hausse du taux d’inflation, la banque centrale a décidé de relever son taux directeur et de resserrer sa politique quantitative. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 7. Chez les patients atteints d’arthrose du genou, nous associons des injections intra-articulaires d’acide hyaluronique à la kinésithérapie. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 8. Ce pont supporte une dalle en béton armé par des poutres en béton précontraint. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 9. La plateforme d’échange de cryptomonnaies vérifie l’intégrité du registre distribué à l’aide d’un algorithme de consensus. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
| 10. L’administration excessive d’antibiotiques favorise l’émergence de bactéries multirésistantes et accroît le risque d’infections nosocomiales. | Anglais Japonais Croate | Anglais Japonais Croate | Anglais Japonais Croate |
Résultats.
| Croate | Japonais | Anglais | Correspondances exactes sur 30 phrases | |
|---|---|---|---|---|
| Version 10 heures | 0,6 % | 1,5 % | 4,6 % | 17 |
| Version 5 heures | 0,3 % | 1,0 % | 3,9 % | 20 |
| Version 3 heures | 0,5 % | 1,0 % | 4,1 % | 18 |
Les résultats ne montrent pas que la version 10 heures soit meilleure. Les trois sont à peu près équivalentes, et la version 5 heures est même légèrement meilleure. Par précaution, j’ai aussi mesuré les versions 10 heures et 5 heures avec des modèles à 60 000 étapes : 1,9 % pour la version 10 heures et 2,0 % pour la version 5 heures, ce qui inverse le résultat. Autrement dit, cette différence relève d’une fluctuation fortuite, et on ne peut pas dire laquelle est supérieure. Seule la version 3 heures a été synthétisée et transcrite sur CPU, car le GPU était occupé par un autre travail. Les conditions sont donc légèrement différentes pour celle-ci.
Ce qui était intéressant, c’était la nature des erreurs.
- Pour le mot anglais « cryptocurrency », les trois modèles ont tous été transcrits comme quelque chose ressemblant à « Kripke-Kunershi », « Kripke-Kinoshi » ou « Kripik-Innershi »
- « intra-articular », « multidrug-resistant » et « angiography » ont eux aussi été déformés de la même manière par les trois modèles
- En japonais, « 冠動脈造影 » a été transcrit comme « 〜増え » par les trois modèles, et « 床版 » comme « 障板 »
- En croate, « pooštravanje (resserrement) » a été entendu comme « poštravanje » par tous les modèles
Des modèles entraînés sur des quantités de données différentes font des erreurs similaires sur les mêmes mots. Pour l’anglais, la cause était claire : ce n’était pas le modèle, mais la partie qui convertit le texte en symboles phonétiques.
Le modèle de cette expérience ne lit pas directement les caractères : il lit des symboles phonétiques. En anglais, g2p_en estime la prononciation des mots absents du dictionnaire. En vérifiant, « cryptocurrency » était converti en symboles phonétiques proches de « kuripakyunāshi », et « angiography » en symboles phonétiques avec un n inséré au milieu. Le modèle ne fait que vocaliser les symboles phonétiques qu’on lui fournit ; il commet donc les mêmes erreurs aux mêmes endroits, qu’il ait été entraîné sur 10 heures ou sur 3 heures de données.
Le japonais est un peu différent. Les lectures d’OpenJTalk étaient correctes : « 床版(ショーバン) » et « 冠動脈造影(カンドーミャクゾーエー) ». Si « 床版 » est devenu « 障板 », c’est parce qu’il s’agit d’un autre kanji ayant la même lecture ; la prononciation elle-même est correcte. Quant à « 造影 » devenu « 増え », il est impossible, avec la méthode de mesure employée ici, de déterminer si Whisper a rapproché un mot rare d’un mot plus familier ou si la prononciation du modèle manquait de précision. Mais là encore, les trois modèles se trompaient de la même manière.
Autrement dit, dans ce système, la qualité de la prononciation des termes techniques anglais dépend au moins davantage du dictionnaire de prononciation que de la quantité de données d’entraînement. Pour mieux gérer les termes techniques, il est plus rapide d’ajouter les mots au dictionnaire que d’augmenter les données.
Conclusion
- Il a été possible de faire parler trois langues à un seul petit modèle (environ 32 millions de paramètres au total)
- Avec 10, 5 ou 3 heures de données par langue, la précision de lecture finale était pratiquement la même. La version 3 heures met un peu plus de temps à se stabiliser
- Aucune différence n’est apparue, même pour les termes techniques. Les erreurs se produisent du côté du dictionnaire de prononciation et ne se corrigent pas en augmentant la quantité de données
Produire les données demande du temps et de l’argent ; il semble donc raisonnable de commencer par 3 heures pour chaque langue, puis d’en ajouter si nécessaire. La prochaine fois, je compte m’appuyer sur ces résultats pour porter le nombre de langues à dix. Mais cette fois-ci, j’ai uniquement mesuré « ce qui est dit ». Pour les aspects que le taux d’erreur sur les caractères ne peut pas mesurer, comme le naturel de la voix ou l’étendue des émotions, davantage de données pourraient être avantageuses. Je voudrais le vérifier à l’écoute.



