Prononciation personnalisée

La prononciation personnalisée indique exactement à une voix comment prononcer un mot qu'elle devrait sinon deviner à partir de son orthographe, comme un nom de marque, un nom de famille ou un sigle prononcé comme un mot. Cette page explique comment écrire une prononciation, quels phonèmes l'API accepte et ce qui se produit lorsqu’une indication est incorrecte.

i
Information

Pour comprendre pourquoi les voix prononcent mal les mots rares et comment cela s'articule avec les biais contextuels en transcription, consultez Vocabulaire personnalisé.

Référence API — POST /v1/audio/speech
Définir une prononciation

Définir une prononciation

Dans phoneme_hints, associez un mot de input à la liste des phonèmes à utiliser pour le prononcer. Chaque phonème est une chaîne de caractères de la liste.

import base64
import os
from pathlib import Path

import httpx

response = httpx.post(
    "https://api.mistral.ai/v1/audio/speech",
    headers={"Authorization": f"Bearer {os.environ['MISTRAL_API_KEY']}"},
    json={
        "model": "voxtral-mini-tts-3-0",
        "input": "I like tomato soup.",
        "voice_id": "gb_jane_neutral",
        "phoneme_hints": {"tomato": ["t", "ə", "m", "ɑ", "t", "oʊ"]},
        "response_format": "wav",
    },
    timeout=60,
)
response.raise_for_status()

output = Path("tomato.wav")
output.write_bytes(base64.b64decode(response.json()["audio_data"]))
print(f"Saved {output.resolve()}")

La voix prononce « tomato » avec les six phonèmes de l’indication et lit le reste de la phrase normalement. Quelques règles s'appliquent aux clés et aux valeurs :

  • Une clé par mot à corriger. Ajoutez autant de mots que nécessaire au même objet.
  • Les indications s’appliquent à une seule requête. Envoyez-les avec chaque requête dont le texte contient ces mots.
Écouter la différence

Écouter la différence

Chaque paire prononce deux fois la même phrase : d’abord sans indication, puis avec l’indication pour le mot que la voix devinerait autrement.

PhraseIndicationSans l’indicationAvec l’indication
Let's end the debate here: it's GIF."GIF": ["dʒ", "ɪ", "f"]
Œnologue : c'est mon métier."Œnologue": ["e", "n", "ɔ", "l", "ɔ", "g"]
Phonèmes acceptés

Phonèmes acceptés

L'API valide chaque phonème par rapport à son inventaire IPA pris en charge. Les phonèmes invalides sont rejetés lors de l'envoi de la requête.

GroupePhonèmes
Voyellesa e i o u y æ ɐ ɑ ɔ ə ɚ ɛ ɜ ɪ ʊ ʌ ʏ ø œ
Voyelles nasalesɑ̃ ɔ̃ ɛ̃ œ̃
Diphtonguesaɪ aʊ eɪ oʊ ɔɪ ɔʏ
Consonnesb d dʒ f g h j k l m n p pf q r s t ts tʃ v w x z ð ŋ ɖ ɟʝ ɣ ɥ ɦ ɬ ɱ ɲ ɳ ɹ ɾ ʀ ʁ ʃ ʈ ʋ ʎ ʒ ʔ ʝ β θ
Attention

Quelques symboles diffèrent de ce que vous taperiez par habitude :

  • Tapez g avec la lettre classique du clavier, et non le caractère de l'alphabet phonétique international ɡ.
  • Écrivez une diphtongue, une affriquée ou une voyelle nasale, comme oʊ, tʃ ou ɛ̃, sous forme d'une seule entrée, pas en deux.
  • Les marques d'accent et de longueur, comme ˈ ou ː, ne figurent pas dans la liste.
Limites et erreurs

Limites et erreurs

L’API vérifie chaque phonème de chaque indication et rejette l'intégralité de la requête si l'un d'eux est invalide :

SituationCe que vous obtenezSolution
Un phonème ne figure pas dans la listeUne erreur 422 dont le message liste les phonèmes acceptésRemplacez le symbole par un phonème de la liste
Aller plus loin

Aller plus loin