Guia de comandos do Gemini TTS

Nesta página, descrevemos as práticas recomendadas para escrever comandos ao usar o Gemini 3.8 Flash TTS e o Gemini 3.8 Flash-Lite TTS.

Para ver a sintaxe de solicitação e exemplos de código, consulte a visão geral da Gemini TTS.

Os modelos Gemini 3.8 TTS tratam o campo text como uma transcrição literal. A direção sustentada no nível da vez vai em speech_metadata, e os eventos vocais pontuais são inseridos na transcrição. A solicitação a seguir combina um turno style com tags vocais e pausas inline:

{
  "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"}}
  }
}

Campo de estilo x tags inline

Divida as instruções de performance por escopo:

  • Entrega no nível da vez (speech_metadata.style): coloque atributos de entrega sustentada, como emoção, prosódia, ritmo geral ou estilo de entrega (como "whispering", "out of breath", "muttering" ou "sarcastic"), no campo style de speech_metadata. Para criar um personagem e uma performance estáveis em todas as interações, defina a persona antecipadamente em Design de voz e use style apenas para ajustes opcionais no nível da interação.
  • Eventos pontuais (tags inline): coloque pausas, respirações ou explosões vocais momentâneas não relacionadas à fala inline dentro da transcrição usando colchetes angulares (<cough>, <breath>, <sigh>, <short pause>). Use colchetes angulares (<...>) para a mais alta qualidade do áudio e use vocalizações humanas em vez de efeitos sonoros não vocais.
Escopo Onde colocar Exemplos
No nível da conversa (mantido durante toda a conversa) speech_metadata.style "angry tone", "speaking rapidly", "out of breath", "whispers", "sarcastic"
Pontual (ocorre em uma palavra específica) Em linha em text (<...>) "<cough> Thank you all for coming tonight! <throat-clearing> As I was saying..."

Ritmo e pausas

Você pode controlar o ritmo e o silêncio em três níveis:

  • Pontuação e reticências: use vírgulas, travessões (--) e reticências (...) para hesitação natural.
  • Tags de pausa inline: insira <short pause> ou <long pause> onde o locutor deve pausar. Por exemplo: "Hold on, let me think... <short pause> Alright, I've got it."
  • Ritmo no nível da vez: defina "style": "speaking rapidly" ou "style": "speaking slowly" em speech_metadata para controlar a taxa de fala durante toda a vez.

Prosódia e tom

Use speech_metadata.style para controlar a prosódia, a entonação e a inflexão em uma rodada. Por exemplo, "style": "high pitch, cheerful and excited inflection" ou "style": "monotone and flat". Se a emoção mudar no meio do diálogo, divida o script em turnos separados, cada um com seu próprio style.

Ênfase

Coloque em maiúscula palavras na transcrição, junto com pontuação e tags inline, para enfatizá-las. Por exemplo: "This is a VERY important point!" ou "It was a VERY long day <sigh> ... nobody listens anymore."

Explosões vocais e sons não verbais

Coloque vocalizações humanas não verbais entre colchetes angulares (<...>) no ponto em que o som deve ocorrer. Use vocalizações humanas em vez de efeitos sonoros não vocais, como aplausos. As tags vocais recomendadas incluem:

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>

Backchannels e fala sobreposta

Em diálogos com vários participantes, coloque as reações do listener entre barras verticais (|reaction|) durante a vez do participante ativo. Isso cria backchannels naturais ou sobreposição de fala sem uma vez separada para cada reação.

  • Backchannels curtos: inclua reações breves do ouvinte durante a vez do falante ativo:
    • Turno 1 (Participante A): "So the launch is Thursday |oh hmm| Are we actually ready?"
    • Turno 2 (locutor B): "Ready enough |oh really?| The last blocker cleared this morning."
    • Turno 3 (Participante A): "Then let's ship it |absolutely| and watch the dashboards."
  • Fala sobreposta e intercalada: use vários segmentos de barra vertical para simular a fala simultânea. Isso funciona melhor com gemini-3.8-flash-tts:
    • Contagem regressiva ou refrão: "Let's surprise him on three |ok| ready?" seguido de "one. two. three. |happy| happy |birthday| birthday!"
    • Sobreposição total: "Hello |oh| there |my| it |goodness| must |gracious| be |would| almost |you| time |look| for |at that| dinner"

Consistência entre gerações e o que evitar

Siga estas diretrizes para manter a identidade vocal estável em todas as conversas:

  • Crie personas no design de voz em vez de blocos de estilo longos: parágrafos longos "Audio Profile" e listas com vários marcadores "Director's Notes" transferidos de modelos anteriores são a causa mais comum de variação de voz. Use essa mesma intuição criativa no design de voz para gerar uma persona voice_... personalizada persistente e, em seguida, transmita esse ID de voz pelas suas chamadas de TTS.
  • Confie na referência de voz para estabilidade (omita as metainstruções): os modelos de TTS do Gemini 3.8 são treinados para se ancorar primeiro na referência de áudio. Não inclua instruções para o modelo manter a voz constante (como "do not switch speaker identity" ou "maintain identical timbre"). Texto extra no comando aumenta o desvio. Remova instruções de estilo desnecessárias e deixe o modelo variar naturalmente em torno do ponto estável fornecido pela referência de voz.
  • Não tente mudar características imutáveis do falante em style: evite colocar idade, gênero, nomes ou mudanças permanentes de sotaque em speech_metadata.style. Em vez disso, escolha uma voz regional na Biblioteca de vozes avançada ou crie uma com o Design de voz.
  1. Crie o personagem uma vez: crie seu personagem em Design de voz ou selecione uma voz regional na Biblioteca de vozes estendida que corresponda ao idioma e à persona de destino.
  2. Escreva transcrições faladas naturais com disfluências: para ter o máximo de naturalidade, escreva o text como uma transcrição falada real, incluindo disfluências e hesitações naturais da conversa (por exemplo, "Oh uh yeah I think... hm, so that's interesting").
  3. Teste a TTS simples primeiro: sintetize sua transcrição com um campo style vazio primeiro. A maioria das solicitações não precisa de nenhuma instrução style.
  4. Adicione comandos curtos de style apenas para ajustes: adicione uma string concisa de style (como "casual, friendly" ou "muttering, then reassuring") apenas para turnos que precisam de um ajuste específico de entrega e reutilize essa mesma string curta em vários turnos quando quiser uma base consistente.

Diálogo multiturno e agentes de voz

Ao criar um agente de voz de conversação ou outro aplicativo multiturno:

  • Faça uma solicitação de TTS para cada turno à medida que o texto do LLM chega.
  • Deixe o voice configurado transmitir a identidade do falante em todas as interações. Não reenvie uma descrição longa da persona a cada interação.
  • Deixe style vazio ou envie uma string constante curta para toda a conversa.
  • Divida respostas longas do agente em turnos mais curtos em vez de reforçar o comando style.

A seguir