Contrôle du texte et prononciation
Mis à jour le 29 juillet 2026
Maîtriser ce que Voxtral prononce
Voxtral produit une parole naturelle à partir de texte brut, et pour un récit ou un dialogue ordinaire cela suffit largement. Les difficultés commencent avec ce qui n’est pas de la prose : un numéro de téléphone, un acronyme, une date, un pourcentage. Le texte d’entrée devient alors votre seul instrument de contrôle — il n’y a pas de balisage à ajouter, c’est la manière d’écrire qui dicte le rendu vocal. Cette leçon rassemble les techniques qui font la différence entre un message professionnel et une lecture approximative.
Écrire les chiffres comme on les dit
Le modèle interprète les chiffres de manière variable, et le résultat est difficile à prédire à l’avance. La règle est donc simple : dans un texte destiné à la synthèse, on écrit les nombres en toutes lettres, exactement comme un présentateur radio les lirait.
| Écrivez | Ne pas écrire | Pourquoi |
|---|---|---|
| « deux mille vingt-six » | « 2026 » | Le modèle pourrait dire « vingt-vingt-six » |
| « zéro un, quarante-deux, trente-sept » | « 01 42 37 » | Numéro de téléphone mal prononcé |
| « quinze virgule cinq pour cent » | « 15,5% » | Symbole % non interprété |
| « trois heures quarante-cinq » | « 3h45 » | Format abrégé ambigu |
Remarquez le traitement du numéro de téléphone : les virgules ne sont pas décoratives, elles imposent les groupes de deux chiffres et le rythme haché qu’un humain adopte naturellement pour dicter un numéro.
Sigles et abréviations
Les abréviations posent le même problème, avec une nuance : selon le cas, vous voulez qu’elles soient développées ou épelées. Un sigle laissé brut sera parfois prononcé comme un mot, ce qui donne des résultats gênants dans un message client.
# Mauvais : le modèle pourrait prononcer "sarl" comme un mot
input_mauvais = "Notre SARL est basée à Paris."
# Bon : prononciation explicite
input_bon = "Notre Société à Responsabilité Limitée est basée à Paris."
# Alternative pour les sigles lettre par lettre
input_sigle = "Notre S.A.R.L. est basée à Paris."
La troisième forme est l’astuce à retenir : en insérant un point entre chaque lettre, vous obtenez une lecture lettre par lettre. C’est ce qu’il faut pour un code de réservation, un immatriculation ou un identifiant que l’auditeur doit noter.
Ponctuer pour respirer
Faute de balisage dédié, c’est la ponctuation qui règle le silence. La virgule vaut une pause courte, de l’ordre de 200 ms ; le point une pause moyenne, environ 500 ms ; les points de suspension une respiration longue, proche de 800 ms ; et le tiret long installe une pause dramatique, celle qu’on place avant une révélation.
# Texte avec pauses contrôlées
texte = (
"Mesdames et messieurs... "
"bienvenue à cette conférence. "
"Aujourd'hui, nous allons parler — "
"d'un sujet qui va changer votre façon de travailler."
)
Le débit, lui, vient d’abord de l’échantillon de référence : une voix source qui parle vite donnera une voix synthétique qui parle vite. Vous pouvez néanmoins l’infléchir par le texte. Ajouter de la ponctuation ralentit le débit et aère le propos ; supprimer des virgules et raccourcir les phrases l’accélère. Pour appuyer un mot, écrivez-le en majuscules — « C’est ABSOLUMENT essentiel » — et vous obtiendrez l’insistance sans avoir à retoucher l’audio.
La limite des 300 mots et son contournement
Voxtral travaille de façon optimale sur des textes de 300 mots au maximum par requête. Au-delà, trois dégradations apparaissent, souvent ensemble : la qualité vocale baisse, les intonations s’aplatissent jusqu’à devenir monotones, et le risque d’hallucinations vocales — répétitions, mots inventés — augmente nettement. Sur un audiobook, ce sont précisément les derniers paragraphes de chaque requête qui sonnent faux.
La parade consiste à découper en segments de 200 à 300 mots, mais jamais au milieu d’une phrase : une coupure hors frontière naturelle s’entend immédiatement. La fonction suivante n’accepte de fermer un segment qu’après un mot terminé par un point.
def decouper_texte(texte, max_mots=250):
"""Découpe un texte en segments de max_mots mots."""
mots = texte.split()
segments = []
segment_courant = []
for mot in mots:
segment_courant.append(mot)
# Découper aux phrases (après un point)
if len(segment_courant) >= max_mots and mot.endswith("."):
segments.append(" ".join(segment_courant))
segment_courant = []
if segment_courant:
segments.append(" ".join(segment_courant))
return segments
# Utilisation
texte_long = "..." # Votre texte complet
segments = decouper_texte(texte_long)
for i, segment in enumerate(segments):
print(f"Segment {i + 1} : {len(segment.split())} mots")
response = client.audio.speech.complete(
model="voxtral-mini-tts-2603",
input=segment,
voice_id=voice_id,
response_format="wav",
)
# Sauvegarder chaque segment
Ce qu’il faut retirer du texte
Certains caractères perturbent franchement la génération. Les emojis ne sont pas supportés : le modèle les ignore ou les interprète au hasard. Les balises HTML et le Markdown sont prononcés comme du texte, ce qui transforme un contenu recopié depuis un CMS en charabia. Les URL sont épelées caractère par caractère, slash et point compris. Quant aux symboles de programmation — accolades, crochets, flèches —, ils sont mal interprétés. D’où la reformulation en langage naturel :
# Mauvais
input_mauvais = "Visitez https://mistral.ai pour en savoir plus 🎉"
# Bon
input_bon = "Visitez le site mistral point ai pour en savoir plus."
Prenez l’habitude de faire passer tout contenu issu d’une base ou d’un site par une fonction de nettoyage avant l’appel API. C’est moins coûteux que de réécouter des heures d’audio pour repérer un emoji oublié.
Les textes multilingues
Un cas se règle tout seul : le mélange de langues. Voxtral détecte les changements et adapte la prononciation sans que vous ayez à annoter quoi que ce soit.
texte_mixte = (
"Bienvenue dans notre présentation. "
"As we say in English, the sky is the limit. "
"Willkommen bei unserer Vorstellung."
)
La qualité est optimale tant que les langues employées font partie des 9 langues supportées. Au-delà, la prononciation reste plausible mais l’accent dérive, ce qu’un auditeur natif repère aussitôt.
Points clés à retenir
- Épelez les chiffres et les abréviations en toutes lettres pour une prononciation correcte
- Utilisez la ponctuation pour contrôler les pauses (virgule, point, points de suspension)
- Respectez la limite de 300 mots par requête pour une qualité optimale
- Évitez les emojis, le HTML, les URLs et le code dans le texte d’entrée
- Voxtral gère nativement les textes multilingues dans les 9 langues supportées