Cette page décrit les bonnes pratiques pour rédiger des requêtes lorsque vous utilisez Gemini 3.8 Flash TTS et Gemini 3.8 Flash-Lite TTS.
Pour connaître la syntaxe des requêtes et obtenir des exemples de code, consultez la présentation de Gemini TTS.
Les modèles Gemini 3.8 TTS traitent le champ text comme une transcription mot à mot.
Les instructions continues au niveau du tour sont placées dans speech_metadata, et les événements vocaux ponctuels sont placés en ligne dans la transcription. La requête suivante combine un style au niveau du tour avec des balises vocales et des pauses intégrées :
{
"contents": [{
"role": "user",
"parts": [{
"text": "Wait... <short pause> did you hear that? <gasp> Someone's at the door.",
"speechMetadata": {"style": "whispered, nervous"}
}]
}],
"generationConfig": {
"responseModalities": ["AUDIO"],
"speechConfig": {"voiceConfig": {"voice": "Kore"}}
}
}
Champ "Style" et balises intégrées
Répartissez vos instructions de performances par portée :
- Diffusion au niveau du tour (
speech_metadata.style) : placez les attributs de diffusion soutenue, tels que l'émotion, la prosodie, le rythme général ou le style de diffusion (comme"whispering","out of breath","muttering"ou"sarcastic"), dans le champstyledespeech_metadata. Pour créer un personnage et une performance stables au fil des tours, concevez la persona à l'avance dans Conception de la voix et n'utilisezstyleque pour les ajustements facultatifs au niveau du tour. - Événements ponctuels (tags intégrés) : insérez les brèves vocalises, respirations ou pauses non verbales dans la transcription à l'aide de crochets (
<cough>,<breath>,<sigh>,<short pause>). Utilisez des crochets (<...>) pour obtenir la meilleure qualité audio possible et limitez-vous aux vocalises humaines plutôt qu'aux effets sonores non vocaux.
| Champ d'application | Où placer | Exemples |
|---|---|---|
| Au niveau du tour (soutenu tout au long du tour) | speech_metadata.style |
"angry tone", "speaking rapidly", "out of breath", "whispers" et "sarcastic" |
| À un moment précis (se produit à un mot spécifique) | En ligne dans text (<...>) |
"<cough> Thank you all for coming tonight! <throat-clearing> As I was saying..." |
Rythme et pauses
Vous pouvez contrôler le rythme et le silence à trois niveaux :
- Ponctuation et points de suspension : utilisez des virgules, des tirets (
--) et des points de suspension (...) pour simuler une hésitation naturelle. - Balises de pause en ligne : insérez
<short pause>ou<long pause>à l'endroit où l'orateur doit faire une pause. Par exemple :"Hold on, let me think... <short pause> Alright, I've got it." - Rythme au niveau du tour de parole : définissez
"style": "speaking rapidly"ou"style": "speaking slowly"dansspeech_metadatapour contrôler le débit de parole pour l'ensemble du tour de parole.
Prosodie et ton
Utilisez speech_metadata.style pour contrôler la prosodie, la hauteur et l'inflexion d'un tour de parole. Par exemple, "style": "high pitch, cheerful and excited inflection" ou "style": "monotone and flat". Si l'émotion change au milieu du dialogue, divisez le script en tours de parole distincts, chacun avec son propre style.
Mise en avant
Mettez en majuscules les mots de la transcription, ainsi que la ponctuation et les tags intégrés, pour les mettre en avant. Par exemple, "This is a VERY important point!" ou "It was a VERY long day <sigh> ... nobody listens anymore.".
Exclamations et sons autres que la parole
Placez les vocalisations humaines non verbales sur la même ligne, entre crochets (<...>), à l'endroit où le son doit se produire. Utilisez des vocalises humaines plutôt que des effets sonores non vocaux tels que des applaudissements. Voici quelques exemples de tags vocaux recommandés :
| Tag | Tag | Tag | Tag |
|---|---|---|---|
<argh> |
<breath> |
<heavy breath> |
<exhales> |
<cackle> |
<cheer> |
<chuckle>/<chuckles> |
<cough> |
<cry> |
<gasp> |
<giggle> |
<groan> |
<growl> |
<grunt> |
<grr> |
<hiss> |
<laugh>/<laughter> |
<moan> |
<pant> |
<pff>/<phew> |
<scream> |
<shout> |
<shriek> |
<sigh>/<sighs> |
<sneeze> |
<snicker> |
<snort> |
<sob> |
<throat-clearing> |
<tsk> |
<whimper> |
<whispers>/<whispering> |
<yawn> |
<short pause> |
<long pause> |
Canaux secondaires et chevauchement des voix
Dans un dialogue à plusieurs locuteurs, entourez les réactions de l'auditeur de barres verticales (|reaction|) dans le tour de parole du locuteur actif. Cela crée des canaux secondaires naturels ou des chevauchements de paroles sans tour de parole distinct pour chaque réaction.
- Brèves réactions de l'auditeur : insérez de brèves réactions de l'auditeur pendant le tour de parole de l'interlocuteur actif :
- Tour 1 (Locuteur A) :
"So the launch is Thursday |oh hmm| Are we actually ready?" - Tour 2 (Locuteur B) :
"Ready enough |oh really?| The last blocker cleared this morning." - Tour 3 (locuteur A) :
"Then let's ship it |absolutely| and watch the dashboards."
- Tour 1 (Locuteur A) :
- Chevauchement et entrelacement de la parole : utilisez plusieurs segments de barre verticale pour simuler la parole simultanée. Cette fonctionnalité est plus efficace avec
gemini-3.8-flash-tts:- Compte à rebours ou refrain :
"Let's surprise him on three |ok| ready?"suivi de"one. two. three. |happy| happy |birthday| birthday!" - Chevauchement complet :
"Hello |oh| there |my| it |goodness| must |gracious| be |would| almost |you| time |look| for |at that| dinner"
- Compte à rebours ou refrain :
Cohérence entre les générations et ce qu'il faut éviter
Suivez ces consignes pour que l'identité vocale reste stable tout au long de la conversation :
- Concevez des personas en amont dans la conception vocale au lieu de longs blocs de style : les longs paragraphes
"Audio Profile"et les listes à puces multiples"Director's Notes"hérités des modèles précédents sont la cause la plus fréquente de dérive vocale. Utilisez cette même intuition créative dès le début de la conception vocale pour générer une personnalitévoice_...personnalisée persistante, puis transmettez cet ID vocal lors de vos appels TTS. - S'appuyer sur la référence vocale pour la stabilité (omettre les méta-instructions) : les modèles Gemini 3.8 TTS sont entraînés à s'ancrer d'abord sur la référence audio.
N'incluez pas d'instructions demandant au modèle de maintenir la voix stable (comme
"do not switch speaker identity"ou"maintain identical timbre"). Un texte de requête supplémentaire augmente la dérive. Supprimez les instructions de style inutiles et laissez le modèle varier naturellement autour du point stable fourni par la référence vocale. - N'essayez pas de modifier les caractéristiques immuables du locuteur dans
style: évitez d'indiquer l'âge, le genre, les noms ou les changements d'accent permanents dansspeech_metadata.style. Choisissez plutôt une voix régionale dans la bibliothèque vocale étendue ou créez-en une avec Conception de voix.
Workflow recommandé
- Créez le personnage une seule fois : créez votre personnage dans Conception de la voix ou sélectionnez une voix régionale dans la bibliothèque vocale étendue qui correspond à votre langue cible et à votre persona.
- Rédigez des transcriptions naturelles de conversations avec des hésitations : pour un maximum de naturel, rédigez le
textcomme une véritable transcription de conversation, y compris les hésitations et les disfluences naturelles (par exemple,"Oh uh yeah I think... hm, so that's interesting"). - Testez d'abord la synthèse vocale simple : synthétisez votre transcription avec un champ
stylevide. La plupart des demandes n'ont pas besoin d'instructionstyle. - N'ajoutez des requêtes
stylecourtes que pour les ajustements : n'ajoutez une chaînestyleconcise (telle que"casual, friendly"ou"muttering, then reassuring") que pour les tours qui nécessitent un ajustement de diffusion spécifique, et réutilisez cette chaîne courte exacte pour les tours lorsque vous souhaitez une base de référence cohérente.
Agents vocaux et de dialogue multitours
Lorsque vous créez un agent vocal conversationnel ou une autre application multitour :
- Effectuez une requête TTS pour chaque tour de parole à mesure que le texte du LLM arrive.
- Laissez le
voiceconfiguré porter l'identité du locuteur au fil des tours de parole. Ne renvoyez pas une longue description de persona à chaque tour. - Laissez
stylevide ou envoyez une courte chaîne constante pour l'ensemble de la conversation. - Divisez les longues réponses des agents en tours plus courts au lieu de renforcer la requête
style.
Étapes suivantes
- Créez un personnage cohérent grâce à la conception de la voix.
- Mettez à jour les requêtes écrites pour les modèles précédents à l'aide du guide de migration.