Au début, la machine parlait. Sur le plan technique, le contrat était rempli : je lui donnais un texte, elle me rendait un fichier audio. Les phrases étaient compréhensibles, les mots correctement prononcés et la voix française immédiatement reconnaissable. Pourtant, après quelques secondes, la mécanique se révélait. Le débit paraissait trop assuré, le volume cognait sur certains mots et chaque pause tombait avec la régularité d'un métronome. La voix ne lisait pas vraiment : elle déroulait.

Pour corriger cette impression, j'ai construit une voix de synthèse française avec des composants open source, puis travaillé sa respiration comme un artisan travaille sa matière. Le projet couvre toute la chaîne, du premier caractère Markdown au dernier échantillon du MP3.

Pourquoi choisir une synthèse vocale locale plutôt qu'une voix cloud ?

Une voix cloud masque presque toute la complexité : on envoie le texte à une API et l'on récupère un flux audio souvent excellent. En contrepartie, le traitement, les modèles, la disponibilité, la tarification, la journalisation et les conditions d'utilisation sont délégués. J'ai préféré transformer le moteur vocal en une brique de mon infrastructure documentaire.

Ce choix est particulièrement concret pour la confidentialité et le RGPD. Un texte à lire peut contenir des noms, des données métier, un projet non publié ou des informations sensibles. Ici, les textes et les modèles restent dans le périmètre d'hébergement choisi. Il faut toujours sécuriser le serveur, les accès, les journaux et les fichiers, mais les flux sont directement maîtrisés.

Cette autonomie a un coût : héberger le moteur, sélectionner les voix, régler la chaîne audio et maintenir le service. La souveraineté n'est pas un argument marketing, mais une responsabilité technique.

Mon TTS open source : Piper, espeak-ng et ffmpeg en circuit court

La chaîne technique tient en trois briques principales. Piper assure la synthèse vocale neuronale à partir de modèles ONNX, notamment des voix françaises distribuées sur Hugging Face. espeak-ng réalise la phonémisation : il transforme les mots en unités sonores que le modèle peut interpréter. Enfin, ffmpeg encode le signal produit en MP3, un format simple à écouter, télécharger et diffuser.

Piper est une base particulièrement intéressante pour un TTS open source. Ses modèles ONNX sont inspectables, déployables et remplaçables. Je peux choisir une voix, ajuster le rythme, modifier le traitement après synthèse et faire évoluer l'interface. Dans ce projet, « local » désigne ce périmètre technique contrôlé ; il ne signifie pas nécessairement l'ordinateur posé sous mon bureau.

Cette liberté ne suffit pas à produire automatiquement une voix naturelle. Un modèle neuronal sait générer un signal convaincant, mais la qualité d'une lecture longue repose aussi sur tout ce qui l'entoure : segmentation du texte, ponctuation, pauses, dynamique, débit, hauteur et continuité entre les fragments. C'est là que le travail le plus intéressant a commencé.

Le grain métallique : comprendre la saturation avant de corriger la voix

La première version produisait des mots métalliques et des pics presque criards. En cherchant à donner du relief, j'amplifiais un signal qui atteignait déjà le plafond numérique : ses sommets étaient coupés, donc saturés.

La règle est devenue simple : ne jamais amplifier la sortie de Piper. Les passages forts restent au niveau normal ; les nuances calmes sont atténuées et les fragments naturellement trop puissants sont ramenés à la cible. Le relief vient ainsi du contraste, sans dégrader l'onde.

La respiration, véritable passage vers une voix naturelle

Une voix humaine n'est pas un ruban continu : l'air s'épuise, l'énergie décroît et les pauses permettent de repartir. Leur absence suffit à rendre une lecture artificielle.

Une inspiration obligatoire quand la phrase dure trop longtemps

Le moteur suit le temps écoulé depuis la dernière pause et impose une inspiration lorsqu'un passage se prolonge trop. Cette coupure reste assez brève pour préserver le sens et sa durée varie légèrement afin de ne pas produire un rythme d'horloge.

Une expiration qui dessine l'énergie de la phrase

Une courbe d'expiration fait ensuite décroître doucement l'énergie au fil du groupe de mots. Elle agit uniquement par atténuation : le début n'est pas amplifié, la fin devient simplement plus douce, tandis que la ponctuation offre des points de recharge.

Des respirations virtuelles aux frontières naturelles du français

Lorsque la ponctuation manque, le moteur cherche une frontière naturelle avant une conjonction, un subordonnant ou une préposition ouvrant un nouveau groupe : « mais », « lorsque », « afin », « pour » ou « avec ». Une limite de sécurité évite les segments interminables. De petites variations de pause, de débit et de nuance empêchent l'effet métronome sans rendre la diction hésitante.

Planifier le souffle avant de prononcer le premier mot

Avant la synthèse, un précalculateur analyse enfin la ligne entière et répartit un budget d'air. Une virgule ne devient audible que si la voix a déjà suffisamment parlé ; une phrase courte peut s'enchaîner, tandis qu'un long passage rembourse sa « dette d'air » par une pause plus longue. Près de la fin, un sprint discret à ×1,05 évite une reprise inutile, puis les silences produits par le modèle sont rognés pour respecter la durée prévue.

Ces gestes restent sous le seuil de l'effet audible : environ un décibel pour les nuances et 5 % pour le tempo. Comme l'ont montré Clark et Fox Tree à propos de uh et um, une hésitation ou une attente peut organiser l'écoute au lieu de constituer un simple bruit.

Écrire la prosodie comme une partition musicale

Pour permettre à l'auteur de diriger la voix sans interface complexe, j'ai ajouté au Markdown des directives entre crochets : [piano]…[/piano] adoucit un passage, [ton+2] monte la voix de deux demi-tons, [lent] ralentit la lecture et [pause] laisse respirer.

[piano]Ce que je vais vous confier reste entre nous.[/piano] [pause] Puis la voix reprend son chemin.

La solution semblait acquise. [ton+2]Pourtant, un détail changeait tout.[/ton]

La hauteur s'exprime en demi-tons et le volume reprend les nuances pp, p, mf, f ou ff, sans jamais dépasser le niveau normal. Cette notation reprend des principes de SSML dans une forme plus légère. Bark et ElevenLabs utilisent également des indications entre crochets : des syntaxes différentes convergent vers la même idée de partition vocale.

Des personnages, des lieux et des silences dans la même page

Le langage SSM gère aussi les personnages et les lieux. [voix=pierre]…[/voix] sélectionne l'une des sept voix logiques ou l'un des 125 locuteurs MLS. [fx=…] place la voix au téléphone, à la radio, dans un tunnel ou une cathédrale ; [sfx=train] déclenche un bruitage et [ambiance=pluie]…[/ambiance] pose un fond sonore. Le ducking réduit automatiquement l'ambiance pendant la parole.

La table de mixage : une sonothèque pilotée par des alias

Une page web centralise l'envoi, la pré-écoute, le test et la suppression des fichiers WAV, MP3, OGG ou FLAC. Un dictionnaire permet d'écrire [sfx=toc] plutôt qu'un nom de fichier : une couche automatique dérive les alias des fichiers et une couche éditoriale relie environ 150 mots courants aux sons les plus représentatifs. Plus de 200 sons couvrent la météo, la nature, la ville, les transports, la maison, les animaux et la foule, avec une attribution traçable grâce à l'identifiant conservé dans chaque nom.

Les enregistrements proviennent de LaSonothèque, créée par Joseph Sardin. Si un alias est absent, le moteur génère un bruitage synthétique de secours au lieu d'interrompre la partition.

Avec [syllabe]Le train a-rrive[/syllabe], les tirets deviennent une lecture scandée. [silence] ou [silence=2s] crée au contraire un silence rhétorique exact, distinct d'une respiration : l'orateur se tait sans recharger son souffle.

Ces outils doivent rester rares et lisibles : une voix par personnage, une ambiance pour installer le lieu, un silence lorsque le sens l'exige. Cicéron distinguait déjà, dans l'Orator, le style simple pour prouver, tempéré pour plaire et véhément pour émouvoir. La technique change ; la manière de dire reste liée à l'intention.

Prononcer juste : de l'orthographe à l'alphabet phonétique international

Une respiration réussie ne sauve pas un mot mal prononcé. La graphie française, les noms propres et les emprunts prennent vite la phonémisation en défaut : « maths » pouvait ainsi faire entendre un th anglais. J'ai donc ajouté un dictionnaire local construit à partir de Lexique 3.83, publié sous licence CC BY-SA. Il rassemble 125 653 formes françaises et leur transcription en alphabet phonétique international.

Après espeak, le moteur repère les phonèmes étrangers au français et cherche une lecture plus juste dans cette base : « maths » devient « mat », tandis que parking, camping ou business retrouvent leur prononciation française. Un point d'accès /phon/{mot} fournit aussi l'IPA prête à être recopiée. Et lorsque l'auteur veut garder la main, [ipa=dəmɛ̃]demain[/ipa] injecte directement les phonèmes dans Piper, sans refaire le détour par la phonémisation. Ce dictionnaire n'est pas spectaculaire, justement : quand il travaille bien, on cesse simplement de buter sur le mot.

Comprendre ce que l'on lit : l'intention avant l'émotion

Au fil du travail, j'ai compris que rendre une voix « expressive » restait une consigne trop vague. Ce qui distingue surtout un lecteur qui comprend, c'est son intention : il sait quelle information est nouvelle, ce qui mérite une attente et à quelle allure la situation doit progresser. Les styles de parole possèdent leur propre organisation, comme l'ont étudié Degand et Simon. Le débit n'est donc pas un potentiomètre universel : l'étude de Colas Rist, « 200 mots à la minute : le débit oral des médias », montre l'écart entre une homélie proche de 85 mots par minute, un journal télévisé autour de 200 et des titres qui approchent 300. Ce travail de recherche — phonostylistique, rhétorique classique, psycholinguistique, avec les valeurs chiffrées pour chaque situation de parole — fait l'objet d'un dossier complet et sourcé : La musique du discours : l'intention avant l'émotion.

J'ai prototypé un focus prosodique dans cet esprit. Le moteur cherche le mot porteur de chaque phrase en s'appuyant sur les fréquences de Lexique : le mot le plus rare, ou un nom propre absent de la base, a de bonnes chances d'apporter l'information nouvelle. À sa première occurrence seulement, et uniquement si sa rareté est nette, il reçoit une mise en relief très légère : une petite montée de ton, un léger allongement, puis un discret effacement de ce qui suit. Jamais plus d'un focus par phrase. Les travaux récents sur le marquage prosodique du focus en français confortent cette direction, et la règle d'atelier reste la parcimonie : accentuer peu, accentuer juste, à la manière de la lecture sobre de Roland Barthes.

L'écoute a pourtant tranché contre cette première version. Les modèles neuronaux n'exposent pas l'alignement entre le texte et l'audio : pour transformer un mot déjà synthétisé, il faut d'abord le localiser à l'estime dans le signal, le découper, le traiter, puis le recoller. Sur certains mots, la découpe mordait une consonne et le changement de hauteur s'entendait comme une couture. La fonction est donc aujourd'hui désactivée par défaut, en attendant un véritable alignement phonétique. C'est une leçon de méthode plus qu'un échec : chaque geste prosodique doit passer l'épreuve de l'oreille, et un raffinement qui dégrade la netteté du mot ne vaut jamais l'intention qu'il voulait servir.

Du Markdown au MP3 dans un pipeline documentaire souverain

Ce moteur n'est pas une démonstration isolée : il alimente markdown.synapx.fr, un éditeur Markdown souverain. L'expérience utilisateur reste volontairement simple : on écrit ou on colle un article, on clique sur « MP3 », puis on obtient un fichier audio neuronal. La démonstration « Le train arrive en gare » permet notamment d'entendre comment voix, silence, ambiance et bruitage peuvent cohabiter dans une même scène.

Sous cette simplicité, le document est structuré, les blocs sont interprétés, la ponctuation guide les silences, Piper produit la voix, le traitement de prosodie façonne la respiration et ffmpeg réalise l'encodage final.

La synthèse vocale s'inscrit dans un pipeline documentaire plus large : OCR pour extraire le contenu, PDF, DOCX et EPUB pour le produire ou le convertir, puis voix pour l'écouter. La voix devient ainsi un format de sortie au même titre que le PDF.

Pour une organisation, cette continuité permet de produire des procédures audio, des formations ou des publications dans le même outil. Elle facilite aussi l'accessibilité. La qualité ne se mesure alors pas seulement sur un échantillon : elle inclut la reproductibilité, la correction des défauts et la capacité à faire évoluer le moteur. Cela demande de surveiller les ressources, d'améliorer les prononciations difficiles et d'écouter réellement les résultats.

Merci à celles et ceux qui enregistrent le monde

Les ambiances et les bruitages réels donnent au moteur une matière que l'on ne fabrique pas avec une sinusoïde. Le sifflet de train à vapeur entendu dans la démonstration « Le train arrive en gare » vient de LaSonothèque, comme les sons qui enrichissent aujourd'hui plusieurs scènes du moteur. Son créateur, Joseph Sardin, nous a accordé leur utilisation libre en échange d'une attribution avec lien.

Je tiens à le remercier sincèrement. La qualité, la variété et le soin de cette bibliothèque sonore nous ont impressionnés : elle permet d'évoquer un lieu en quelques secondes sans voler la place du texte. LaSonothèque, et son pendant anglophone BigSoundBank.com, rappellent aussi qu'un son utile commence souvent par le travail patient de quelqu'un qui est allé l'écouter, l'enregistrer et le partager.

Ce que ce travail a changé

Le passage d'une voix métallique à une lecture qui respire n'a pas reposé sur un unique modèle miraculeux. Il a fallu comprendre le plafond numérique, renoncer à amplifier, organiser les silences, suivre l'expiration, découper la langue à ses frontières naturelles et accepter une part minuscule d'irrégularité. Puis il a fallu redonner la main à l'auteur grâce à une partition simple.

Piper, espeak-ng, ONNX et ffmpeg fournissent la matière technique. La sensation de voix humaine vient ensuite du rythme, du souffle, de la prononciation et de choix prosodiques suffisamment discrets pour ne pas devenir des effets. C'est cette écoute critique, davantage que la taille du modèle, qui a transformé le résultat.

Sources et références

Briques logicielles et données :

  • Piper (synthèse neuronale, modèles ONNX) et les voix françaises sur Hugging Face ; espeak-ng (phonémisation) ; ffmpeg (encodage)
  • Lexique 3.83 (New, Pallier et al.), 125 653 formes françaises avec transcription IPA et fréquences, licence CC BY-SA — base du dictionnaire de prononciation et de la détection des mots rares
  • LaSonothèque de Joseph Sardin — bruitages et ambiances sonores utilisés avec attribution, et son pendant anglophone BigSoundBank.com
  • SSML (W3C), dont la partition SSM reprend les idées et les unités

Travaux de recherche cités :

L'ensemble du dossier de recherche, avec sa méthodologie de vérification et sa table « intention → réglages prosodiques », est publié dans La musique du discours.