Pipeline TTS

Pipeline TTS

Texte français → audio — pipeline G2P + choix de moteur + conversion vocale optionnelle

Présentation

Le pipeline TTS de Lectura combine le pipeline G2P avec l’un des 3 moteurs acoustiques pour produire de l’audio à partir de texte. Une étape de conversion vocale optionnelle permet de changer le timbre en post-traitement.

Pipeline

Texte français
      │
      ▼
┌───────────────┐
│ Pipeline G2P   │  tokenisation + formules + phonémisation + liaison
└───────┬───────┘
        │  phonèmes IPA + métadonnées prosodiques
        ▼
┌───────────────┐
│ Moteur TTS     │  choix parmi 3 moteurs (voir ci-dessous)
└───────┬───────┘
        │  audio brut
        ▼
┌───────────────┐
│ VC (optionnel) │  retimbre via OpenVoice ou RVC
└───────┬───────┘
        │
        ▼
  Audio final

Essayer en ligne


Comparatif des 3 moteurs

  Monospeaker Multi-Speaker Diphone
Architecture Matcha-Conformer + HiFi-GAN Dual Conformer/FastPitch + HiFi-GAN Concaténation WORLD
Paramètres 17.9M Conformer 384 + FastPitch 256 — (diphones pré-calculés)
Taille ONNX ~29 Mo (INT8) ~80 Mo (INT8 dual) ~15 Mo
Voix natives 1 (SIWIS) 6 (3F + 3M) 1 (SIWIS)
Styles 7 presets (vecteur 5D) 7 presets (vecteur 5D)
Débit CPU ~30x temps-réel ~50x temps-réel Temps-réel
Sortie 22050 Hz 22050 Hz 44100 Hz
Modes lecture FLUIDE, MOT_A_MOT, SYLLABES
Retimbre OpenVoice (optionnel) OpenVoice (optionnel)
Usage principal Voix naturelle haute qualité Multi-voix, narration Pédagogie, lecture assistée

Modes de lecture (Diphone)

Le moteur Diphone supporte 3 modes de lecture adaptés à l’apprentissage :

  • FLUIDE : lecture naturelle, prosodie complète
  • MOT_A_MOT : chaque mot articulé séparément avec pause inter-mots
  • SYLLABES : chaque syllabe distinctement articulée

Installation

# Monospeaker (Matcha-Conformer, haute qualité)
pip install lectura-tts-mono[onnx]

# Multi-Speaker (6 voix, rapide)
pip install lectura-tts-multi[onnx]

# Diphone (pédagogique, modes de lecture)
pip install "lectura-tts-dipho[local]"

# Avec retimbre (Monospeaker + OpenVoice)
pip install lectura-tts-mono[onnx,retimbre]

# Avec retimbre (Diphone + OpenVoice)
pip install "lectura-tts-dipho[local,retimbre]"

# Avec lecture syllabique (aligneur-syllabeur)
pip install lectura-tts-mono[onnx,aligneur]
pip install lectura-tts-multi[onnx,aligneur]
pip install "lectura-tts-dipho[local,aligneur]"

# Via le meta-package lectura
pip install "lectura[tts-mono]"              # Monospeaker + G2P
pip install "lectura[tts-multi]"             # Multi-Speaker + G2P
pip install "lectura[tts-dipho]"             # Diphone + G2P
pip install "lectura[tts]"                   # Les 3 moteurs

Extras disponibles par pipeline

Extra lectura-tts-mono lectura-tts-multi lectura-tts-dipho
Backend local [onnx] [onnx] [local]
[retimbre] oui oui oui
[aligneur] (lecture syllabique) oui oui oui

Chaque pipeline inclut le G2P par défaut. Les moteurs bruts (lectura-monospeaker, lectura-multispeaker, lectura-diphone) fonctionnent aussi en mode API sans backend local.


Exemple de code

# Monospeaker — haute qualité, 7 styles
from lectura_monospeaker import creer_engine
engine = creer_engine()
result = engine.synthesize(text="Bonjour le monde.", style="narratif")

# Multi-Speaker — 6 voix
from lectura_multispeaker import creer_engine
engine = creer_engine()
audio = engine.synthesize(text="Bonjour.", speaker="bernard", style="expressif")

# Diphone — modes pédagogiques
from lectura_diphone import synthetiser
audio = synthetiser("Le chat dort.", voix="siwis")

Briques utilisées

Brique Rôle
Pipeline G2P Texte → phonèmes IPA
TTS Monospeaker Moteur Matcha-Conformer
TTS Multi-Speaker Moteur dual Conformer/FastPitch
TTS Diphone Moteur concaténation WORLD
VC ZeroShot Retimbre OpenVoice (optionnel)
VC Locuteurs Retimbre RVC (optionnel)