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.
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
Les balises d’émotion et de débit partagent la même syntaxe et les mêmes règles :
| Règle | Détails |
|---|---|
| Format | [emotion=<value>] ou [pace=<value>], avec une valeur issue des tableaux de cette page |
| Emplacement | Dans 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
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
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 |
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 :
| Rythme | Effet |
|---|---|
slow | La voix parle plus lentement qu’à son débit normal. |
fast | La 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
Les balises et une instruction de style agissent à des niveaux différents. Consultez Instructions de style.
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.