Benchmark TTSFR
Benchmark · TTS open-source · Français

Quel modèle de synthèse vocale pour le français ?

8 modèles open-source clonent 6 voix de référence sur un corpus français annoté (liaison, nombres, noms propres, homographes, dialogue émotionnel). Score global = WER, SIM et Naturalité (écoute humaine), normalisés puis moyennés — voir méthode ci-dessous.

Score global (0–100) — barre longue = meilleur
020406080100FireRed TTS369.4Eleven v468.3OmniVoice65.7VoxCPM262.4Chatterbox v358.5Audio8-TTS-0.6B54.4Eleven v352.3CosyVoice3-0.5B46.3XTTS-v246.2MOSS-1.544.5

Classement — score global

WER + SIM + Naturalité · toutes voix confondues
meilleurcorrectà surveiller↓ plus bas = mieux↑ plus haut = mieux
ElevenLabs (Eleven v4), ElevenLabs (Eleven v3) : référence commerciale — épinglée en fin de tableau, hors classement (métriques affichées à titre de comparaison, pas de rang).

WER — taux d'erreur de transcription (whisper-large-v3-french + jiwer). Plus le pourcentage est bas, mieux c'est : 0 % voudrait dire que la transcription retrouve exactement le texte demandé. Mesure l'intelligibilité : est-ce que ce qui est dit correspond au texte demandé ? Calculé automatiquement par une machine, sans écoute humaine.

SIM — similarité au locuteur de référence (embeddings ECAPA). Plus la valeur est haute, mieux c'est : 1,00 signifierait un timbre identique à la voix d'origine. Mesure l'identité de timbre : la voix générée ressemble-t-elle à la voix clonée ? Calculé automatiquement, sans écoute humaine. Limite connue : SIM sous-pondère une dérive d'accent que l'oreille sanctionne fort (corrélation avec la similarité perçue à l'écoute : r≈0,16 sur les clips notés) — en cas de désaccord net entre SIM et l'écoute, fie-toi à l'écoute.

Naturalité — moyenne des notes MOS « Naturel / Rythme » et « Expressivité » (de 1 à 5) attribuées par des auditeur·rice·s humain·e·s en aveugle. Plus la note est haute, mieux c'est : 5 = « on dirait une vraie voix humaine ». C'est la seule des trois à ne PAS être automatique — aucune métrique machine (UTMOS, TTSDS2, NISQA) ne s'est révélée fiable en français, voir pourquoi.

Score global — moyenne de ces 3 valeurs, chacune ramenée sur des bornes fixes (WER 0–15 %, SIM 0,60–0,90, MOS 1–5 — jamais le min/max des modèles présents dans le run en cours), puis ×100 : le score d'un modèle ne bouge pas quand un concurrent rejoint ou quitte le comparatif, seul son rang peut changer. Un modèle sans note d'écoute n'a pas de score.

Clic sur un en-tête de colonne pour trier le tableau.

Panel écoute : 15 auditeur·rice·s, en aveugle — 220 comparaisons A/B, 200 notes MOS (1–5), 140 votes émotion. Aucun nom de voix ni de participant n'est publié. Détail : matrice des duels, MOS par axe, émotion →

Les modèles

contexte · vitesse · stabilité
1FireRed TTS3Apache-2.0
dcf1bdcd1b · candidat SOTA n°1 (veille sept. 2026)
0.94× RTF·4% CV·1% anom.·8 Go VRAM~
2OmniVoiceApache-2.0
c5fdb5ccb1 · candidat clonage massivement multilingue (k2-fsa, 600+ langues)
0.26× RTF·1% CV·1% anom.·6 Go VRAM~
3VoxCPM2Apache-2.0
32279effe8 · candidat de référence (veille juin 2026)
0.41× RTF·6% CV·2% anom.·6 Go VRAM~
5bb1f6ee58 · baseline de référence (moteur de prod avisol)
0.54× RTF·5% CV·1% anom.·4 Go VRAM~
5Audio8-TTS-0.6BApache-2.0
f07040f3d1 · candidat léger/rapide, bon WER
1.13× RTF·4% CV·0% anom.·6 Go VRAM~
6CosyVoice3-0.5BApache-2.0
29e01c4e8d · backup stable, FR inclus
0.91× RTF·8% CV·8% anom.·5 Go VRAM~
7XTTS-v2CPML · non comm.
6c2b0d75ea · référence qualité (hors service : licence non commerciale)
0.24× RTF·9% CV·3% anom.·4 Go VRAM~
8MOSS-1.5Apache-2.0
be7766a673 · moteur de prod avisol (5B, piloté par durée cible)
0.65× RTF·11% CV·2% anom.·15 Go VRAM~
réf.ElevenLabs (Eleven v4)CGU ElevenLabs (propriétaire)
— · référence commerciale (API), hors classement
0.31× RTF·1% CV·0% anom.·— VRAM~
réf.ElevenLabs (Eleven v3)CGU ElevenLabs (propriétaire)
— · référence commerciale (API), hors classement
0.56× RTF·5% CV·1% anom.·— VRAM~

Table complète (toutes métriques, toutes voix confondues, détail par phrase) →

Le score global mélange auto et humain — à dessein. WER et SIM sont reproductibles mais ne mesurent pas la naturalité perçue : UTMOS, TTSDS2 et NISQA ont été essayés puis écartés en français (corrélation nulle voire négative avec la note humaine). Le tiers « Naturalité » du score vient donc du test d'écoute en aveugle, pas d'une métrique auto.

Méthode

détail : docs/METHODOLOGIE.md
Corpus

34 phrases annotées, chacune générée 3 fois

Chaque phrase est classée par longueur, par registre (narration, dialogue joie/colère/peur/tristesse, cours magistral) et par « piège » — une difficulté connue de la synthèse vocale en français :

  • liaison : un son de liaison entre deux mots doit être fait ou évité correctement (ex. « rue des Acacias » — liaison sur le « s » de « des »).
  • nombre : nombres écrits en toutes lettres (ex. « mille sept cent quatre-vingt-neuf ») — épelés chiffre par chiffre ou mal lus par certains modèles.
  • nom propre : noms composés ou d'origine étrangère (ex. « Anne-Sophie Legrand-Dubois », « Grzegorz Wozniak »).
  • homographe hétérophone : un même mot écrit pareil se prononce différemment selon le sens (ex. « plus » négatif vs comparatif, « couvent » verbe vs nom) — le modèle doit deviner la bonne lecture au contexte.
  • silence / rythme : une ponctuation (« ... », tiret) qui doit se traduire par une vraie pause plutôt qu'être lue d'un bloc.
  • emprunt anglais : mots anglais intégrés au français courant (ex. « starter pack », « kick-off ») — accent anglais ou francisé ?
  • ponctuation répétée : ponctuation empilée pour marquer l'intensité (ex. « Encore ! Encore lui ! », « ?! ») — le modèle garde-t-il l'intonation ou lit-il platement ?
  • onomatopée : un bruit transcrit en mots (ex. « *Vroum* », « Rrrmmm... ») — vocalisé comme un bruit, ou épelé lettre par lettre (bug fréquent) ?

Chaque phrase est générée 3 fois (seed différente) pour mesurer la stabilité d'un modèle sur un même texte. Plus un volet long-form (podcast, journalisme).

Voix de référence

Clonage zero-shot sur 6 voix

Chaque modèle clone le même jeu de voix de référence, dans plusieurs registres :

  • 1 voix masculine « propre » : enregistrement studio, sans bruit.
  • 1 voix masculine « difficile » : source brute, prise de son bruitée — teste la robustesse du clonage à une référence imparfaite.
  • 1 voix féminine « propre ».
  • 1 voix âgée masculine.
  • 1 voix âgée féminine.
  • 1 voix masculine avec un accent régional.
  • registres émotionnels (joie, colère, peur, tristesse) d'une même voix — teste si le clonage transporte l'émotion, pas juste le timbre.

Aucun nom de personne n'est publié ; les mêmes fichiers de voix servent à tous les modèles, d'une passe à l'autre.

Pré-traitement

Identique pour tous les modèles

  • Apostrophes typographiques (’) normalisées en apostrophe simple (') pour tous les modèles.
  • Structure markdown retirée (titres #, listes, citations >) : seul le texte brut est envoyé.
  • Ponctuation adoucie : « ... » → « . », et les « ! » à l'intérieur d'une onomatopée (ex. « *Vroum!* ») sont neutralisés pour ne pas sonner comme une exclamation criée.
  • Emojis supprimés en amont (aucun modèle testé ne les vocalise correctement).
  • Les nombres ne sont pas développés en amont (« 1789 » reste « 1789 ») : on teste la capacité de chaque modèle à les lire lui-même correctement.
Écoute

3 tests humains en aveugle

  • Test 1 — A/B : la même phrase, la même voix de référence, générée par 2 modèles différents ; l'auditeur·rice choisit celui qu'il/elle préfère, sans savoir lesquels sont comparés.
  • Test 2 — MOS : un clip isolé et anonymisé, noté de 1 à 5 sur 4 axes (naturel / rythme, intelligibilité, similarité, expressivité).
  • Test 3 — Émotion A/B : comme le test 1, mais les deux clips clonent la même voix de référence émotionnelle — lequel des deux modèles rend le mieux l'émotion visée ?

C'est ce test qui fournit la Naturalité du score global : WER et SIM sont automatiques et ne mesurent pas si une voix « sonne bien ». Détail complet : page Écoute.

Reproductibilité

Révisions figées (models.lock)

Pour chaque modèle : identifiant du dépôt + révision exacte (SHA) Hugging Face, et commit GitHub précis pour le code — un re-téléchargement redonne bit-à-bit les mêmes poids ; une révision non épinglée est refusée. Toutes les mesures sont faites sur la même machine (GPU RTX 4090, 24 Go de VRAM), un seul modèle chargé à la fois.

Révisions épinglées

Hugging Face
Audio8-TTS-0.6Bf07040f3d1
Chatterbox v35bb1f6ee58
CosyVoice3-0.5B29e01c4e8d
FireRed TTS3dcf1bdcd1b
MOSS-1.5be7766a673
OmniVoicec5fdb5ccb1
VoxCPM232279effe8
XTTS-v26c2b0d75ea