Balises d'émotion et de rythme

Les balises d’émotion et de débit 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.

Syntaxe des balises

Syntaxe des balises

Les balises d’émotion et de débit 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 débit l’une à la suite de l’autre, par exemple [emotion=calm][pace=slow]
Portée
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 débit 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
slowLa voix parle plus lentement qu’à son débit normal.
fastLa voix parle plus rapidement qu’à son débit normal.

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

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 ["slow", "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. 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.

Aller plus loin

Aller plus loin