Balises d'émotion et de rythme

Les balises d’émotion et de rythme modifient la façon dont une voix prononce une partie du texte : écrivez-les directement dans input, entre crochets, par exemple [emotion=happy] ou [pace=slow]. Pour définir l’interprétation de l’ensemble de l’entrée, utilisez plutôt les instructions de style.

i
Information

Pour comparer les balises aux autres façons de diriger une voix, et pour comprendre le fonctionnement des émotions dans Voxtral 2 et Voxtral 3, consultez Voix.

Référence API — POST /v1/audio/speech
Syntaxe des balises

Syntaxe des balises

Les balises d’émotion et de rythme partagent la même syntaxe et les mêmes règles :

RègleDétails
Format[emotion=<value>] ou [pace=<value>], avec une valeur issue des tableaux de cette page
EmplacementDans input, avant le texte auquel elle s’applique : au début ou au milieu d’une phrase
PrononcéNon : la balise n’est pas lue à voix haute
CombinaisonÉcrivez une balise d’émotion et une balise de rythme l’une à la suite de l’autre, par exemple [emotion=calm][pace=slow]
LimiteVous ne pouvez pas utiliser plus d’une balise du même type sur la même portion de texte
PortéeUne balise s’applique de sa position jusqu’à la balise suivante ou jusqu’à la fin de l’entrée.
L’émotion déduite du texte

L’émotion déduite du texte

Voxtral TTS 3 déduit l’émotion du texte lui-même : une balise n’est donc pas toujours nécessaire. Aucun des textes suivants ne contient de balise :

TexteRésultat
Wow I can't believe you're pregnant! This is so exciting, congratulations Corina, I'm so happy for you!
What do you mean my passport won't be finished this week -- I've told you several times how I need to go to Paris for work. This is ridiculous. I can't even begin to describe how infuriating this has been.

Utilisez une balise quand le texte seul ne porte pas l’émotion voulue, ou pour la changer au milieu du texte.

Ajouter une balise d’émotion

Ajouter une balise d’émotion

Placez la balise d’émotion dans input, avant le texte à prononcer avec cette émotion :

import base64
import os
from pathlib import Path

from mistralai.client import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

response = client.audio.speech.complete(
    model="voxtral-mini-tts-3-0",
    input="[emotion=happy]We passed the audit!",
    voice_id="voice_478",
    response_format="wav",
)

output = Path("happy.wav")
output.write_bytes(base64.b64decode(response.audio_data))
print(f"Saved {output.resolve()}")
Émotions prises en charge

Émotions prises en charge

La balise d’émotion prend l’une de ces 34 valeurs :

Émotion
amused
angry
anxious
apologetic
appreciative
assertive
bored
calm
confident
confused
critical
curious
determined
disappointed
disgusted
excited
frustrated
grateful
happy
hopeful
playful
proud
reflective
resigned
sad
sarcastic
skeptical
somber
surprised
tense
tired
urgent
warm
wistful
Balises de rythme

Balises de rythme

Les balises de rythme règlent le débit de parole. Utilisez-les pour lire une mention légale plus lentement, ou pour dérouler une liste plus rapidement :

RythmeEffet
very-slowLa voix parle beaucoup plus lentement qu’à son débit normal.
slowLa voix parle plus lentement qu’à son débit normal.
moderateLa voix parle à un débit modéré.
fastLa voix parle plus rapidement qu’à son débit normal.
very-fastLa voix parle beaucoup plus rapidement qu’à son débit normal.

L’exemple suivant génère la même phrase pour chaque rythme :

import base64
import os
from pathlib import Path

from mistralai.client import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

for pace in ["very-slow", "slow", "moderate", "fast", "very-fast"]:
    response = client.audio.speech.complete(
        model="voxtral-mini-tts-3-0",
        input=f"[pace={pace}]Please read the terms carefully before you sign.",
        voice_id="voice_478",
        response_format="wav",
    )
    output = Path(f"pace_{pace}.wav")
    output.write_bytes(base64.b64decode(response.audio_data))
    print(f"Saved {output.resolve()}")
Combiner des balises avec une instruction de style

Combiner des balises avec une instruction de style

Les balises et une instruction de style agissent à des niveaux différents. Les instructions de style ne sont pas disponibles au lancement. Consultez Instructions de style.

Valeurs non prises en charge

Valeurs non prises en charge

L’API ne rejette pas une balise dont la valeur ne figure pas dans les tableaux de cette page. Une requête comme [emotion=ecstatic] renvoie une réponse normale, et la balise n’est pas prononcée.

Disfluences

Disfluences

Les disfluences ajoutent des sons naturels à la parole, comme des pauses, des respirations ou des rires. Écrivez-les directement dans input, entre crochets, comme les balises d’émotion et de rythme :

DisfluenceUtilisation
um[um]
uh[uh]
laugh[laugh]
breath[breath]
sigh[sigh]
gasp[gasp]
sniff[sniff]
cough[cough]
throat clearing[throat clearing]
yawn[yawn]
chuckle[chuckle]
laugh hard[laugh hard]
gasping[gasping]
rire[rire]
i
Information

Cette liste n’est pas exhaustive. Les disfluences utilisent la même syntaxe que les balises d’émotion et de rythme : [disfluency] directement dans input.

Langues prises en charge

Langues prises en charge

Les balises d’émotion, de rythme et de disfluence fonctionnent en anglais. Elles n’ont pas été testées en français, en allemand, en espagnol, en italien, en portugais et en hindi, mais devraient aussi y fonctionner.

Aller plus loin

Aller plus loin