Synthèse vocale (TTS)

En cours

Le projet

Le projet TTS de Lectura développe un système de synthèse vocale adapté à l’apprentissage de la lecture. L’enjeu n’est pas de produire la voix la plus naturelle possible, mais de prononcer clairement chaque syllabe pour qu’un apprenant puisse associer ce qu’il voit à ce qu’il entend.

Cela implique des contraintes spécifiques : articulation lente et distincte, possibilité de prononcer des syllabes isolées, synchronisation précise entre texte et audio.


Architecture multi-moteurs

Plutôt qu’un moteur unique, le système intègre 7 moteurs TTS derrière une interface commune (TTSEngine), chacun avec ses caractéristiques :

Moteur Type Qualité Vitesse Licence
Kokoro-82M ONNX neural Bonne Rapide Apache 2.0
Piper VITS Neural léger Bonne (vitesse lente) Rapide MIT
MBROLA Diphones Correcte Très rapide AGPL
eSpeak-NG Formants Basique Instantané GPL v3
Qwen3-TTS Transformer Très bonne Lent (GPU) Apache 2.0
Chatterbox Neural 500M Très bonne Lent (GPU) MIT
Zonos Transformer 1.6B Excellente Lent (GPU) Apache 2.0

Cette diversité permet de choisir le moteur adapté au contexte : Kokoro ou Piper pour un usage courant, MBROLA pour le temps réel, Zonos pour la meilleure qualité.


TTS concaténatif

En complément de la synthèse fluide (mot ou phrase entière), un moteur de concaténation syllabique (ConcatRenderer) assemble des syllabes pré-synthétisées pour produire un audio pédagogique où chaque syllabe est distinctement articulée.

5 modes de rendu :

  • word_by_word : chaque mot synthétisé séparément
  • fluid : phrase complète, prosodie naturelle
  • prosodic : phrase avec modulation prosodique (pitch, durée, jitter)
  • sliced : syllabes découpées dans l’audio du mot entier
  • isolated : chaque syllabe synthétisée indépendamment

P2G (Phonème → Graphème)

Pour synthétiser une syllabe isolée (ex : /tʁa/), il faut d’abord la convertir en orthographe (« tra ») car les moteurs TTS attendent du texte écrit. Le module P2G résout ce problème avec une table de 3 493 syllabes (62 % issues de Lexique383, 38 % par règles de correspondance).


Prosodie

Le système intègre un modèle prosodique réaliste :

  • Variation de hauteur (pitch) de ±4 demi-tons
  • Jitter corrélé entre syllabes successives
  • Allongement de la syllabe finale de chaque groupe
  • Couplage optimal entre durée et fréquence fondamentale

L’objectif est de produire un audio qui reste naturel même en lecture lente, sans l’effet robotique de la simple concaténation.


État d’avancement

Les 7 moteurs sont intégrés et fonctionnels. Le moteur concaténatif avec P2G fonctionne avec n’importe quel backend TTS. La prosodie est opérationnelle.

Les travaux en cours portent sur :

  • l’amélioration de la qualité des transitions entre syllabes concaténées,
  • l’ajout de voix supplémentaires,
  • l’optimisation des temps de chargement des modèles GPU.