Principe
Lector est un lecteur thérapeutique avec surlignage synchronisé. Le praticien prépare un texte découpé en groupes de mots, génère un audio avec voix de synthèse, puis le patient lit le texte pendant que le surlignage suit la lecture mot par mot.
Flux de travail
- Dans l'Éditeur : coller un texte, créer des groupes de mots, choisir une voix
- Cliquer Générer et sauvegarder → audio + timings créés côté serveur
- Dans le Lecteur : charger l'exercice, lancer la lecture avec surlignage synchronisé
Saisir un texte
Dans l'éditeur, section 1. Texte source :
- Donner un titre à l'exercice
- Coller ou taper le texte dans la zone de texte
- Cliquer Charger le texte → les mots apparaissent individuellement
- Ou cliquer Importer un JSON pour recharger un exercice existant
Créer les groupes
Section 2. Sélection des groupes. Les groupes définissent les segments visuels surlignés ensemble pendant la lecture.
- Cliquer sur un premier mot (début du groupe) → il devient bleu
- Cliquer sur un second mot (fin du groupe) → le groupe est créé
- Les mots groupés apparaissent en gris
- Bouton Auto-grouper par phrases : découpe automatiquement selon la ponctuation
- Chaque groupe peut être supprimé individuellement via le bouton ✕
Générer l'audio
Section 3. Générer l'audio :
- Choisir une voix (Denise, Henri, Eloise, Vivienne, Rémy)
- Cliquer Générer et sauvegarder
- Le serveur génère l'audio MP3 + les timings mot par mot via edge-tts
- L'exercice complet (texte + groupes + audio + timings) est sauvegardé dans
textes/
Sans génération audio, on peut quand même utiliser le bouton Exporter JSON (sans audio) → le lecteur utilisera la voix du navigateur en fallback.
Lire un exercice
Dans le Lecteur, trois façons de charger :
- Liste des exercices : cliquer sur un exercice disponible sur le serveur
- Glisser-déposer : déposer un fichier JSON sur la zone
- Cliquer sur la zone pour sélectionner un fichier
Une fois chargé, le texte s'affiche avec tous les mots. Appuyer sur ▶ Lecture pour démarrer.
Audio vs Voix navigateur
| Audio intégré (edge-tts) | Voix navigateur (fallback) | |
|---|---|---|
| Synchro | Précise (timings ms) | Mot par mot séquentiel |
| Qualité | Voix Microsoft Neural | Dépend du navigateur |
| Vitesse | Ajustable en temps réel | Ajustable |
| Serveur | Requis (Python) | Aucun |
Contrôles
| ▶ Lecture / Espace | Lancer ou reprendre la lecture |
| ⏸ Pause / Espace | Mettre en pause |
| ⏹ Stop / Échap | Arrêter et revenir au début |
| Vitesse | Curseur 0.3× à 2.0× — ajustable pendant la lecture |
| Nouveau fichier | Revenir à l'écran de chargement |
Prérequis serveur
Pour la génération audio (optionnelle) :
.venv/bin/pip install edge-tts
chmod 777 textes/
chmod -R o+rX .venv/
Sans Python, tout fonctionne sauf la génération audio — utiliser le mode voix navigateur ou importer des JSON avec audio pré-générés.
Format JSON
"title": "Mon exercice",
"words": ["Chaque", "mot", "est", "séparé"],
"groups": [{"start": 0, "end": 3}],
"voice": "fr-FR-DeniseNeural",
"audio": "data:audio/mp3;base64,…",
"timings": [0, 350.0, 620.5, 980.2]
}
words | Tableau de mots dans l'ordre du texte |
groups | Segments visuels : start et end = indices dans words |
timings | Timestamp en ms du début de chaque mot dans l'audio |
audio | MP3 en base64 (data URL) — fichier autonome |
Les champs audio et timings sont ajoutés par la génération. Sans eux, le lecteur bascule sur la voix navigateur.