Gemini-TTS

Testar o Gemini-TTS no Vertex AI Studio Testar no Colab Ver o notebook no GitHub

O Gemini-TTS é a mais recente evolução da nossa tecnologia Text-to-Speech, que vai além da fala com som natural e oferece controle granular sobre o áudio gerado usando comandos baseados em texto. Com o Gemini-TTS, você pode sintetizar falas de um ou vários falantes, de pequenos trechos a longas narrativas, ditando com precisão o estilo, o sotaque, o ritmo, o tom e até a expressão emocional com comandos em linguagem natural.

Modelos disponíveis

O Gemini TTS inclui os seguintes modelos disponíveis:

Gemini 2.5 Flash TTS

ID do modelo gemini-2.5-flash-tts
Otimizado para Geração de áudio da Text-to-Speech controlável e de baixa latência com um ou vários falantes para aplicativos econômicos do dia a dia.
Modalidades de entrada e saída
  • Entrada: texto
  • Saída: áudio
Suporte para número de falantes Único, vários falantes
Formatos de áudio de saída compatíveis* LINEAR16 (padrão), ALAW, MULAW, MP3, OGG_OPUS, PCM
Suporte a regiões global
Opções de voz Consulte Opções de voz
Idiomas disponíveis Veja os idiomas disponíveis
Exemplo
model: "gemini-2.5-flash-tts"
prompt: "Say the following"
text: "[extremely fast] Availability and terms may vary.
       Check our website or your local store for complete
       details and restrictions."
speaker: "Kore"
            

Gemini 2.5 Pro TTS

ID do modelo gemini-2.5-pro-tts
Otimizado para Alto controle para fluxos de trabalho estruturados, como geração de podcasts, audiolivros, suporte ao cliente e muito mais.
Modalidades de entrada e saída
  • Entrada: texto
  • Saída: áudio
Suporte para número de falantes Único, vários falantes
Formatos de áudio de saída compatíveis* LINEAR16 (padrão), ALAW, MULAW, MP3, OGG_OPUS, PCM
Suporte a regiões global
Opções de voz Consulte Opções de voz
Idiomas disponíveis Veja os idiomas disponíveis
Exemplo
model: "gemini-2.5-pro-tts"
prompt: "You are having a casual conversation with a friend.
         Say the following in a friendly and amused way."
text: "hahah I did NOT expect that. Can you believe it!."
speaker: "Callirrhoe"
            

* apenas batch. streaming não é compatível.

Controles adicionais

Outros controles e recursos incluem:

  1. Conversa natural: interações por voz de qualidade notável, com expressividade e padrões de ritmo mais adequadas, além de latência muito baixa para conversar com fluidez.

  2. Controle de estilo: com comandos de linguagem natural, você pode adaptar a maneira como a conversa ocorre, direcionando-a para adotar sotaques específicos e produzir diversos tons e expressões, incluindo sussurros.

  3. Desempenho dinâmico: esses modelos dão vida ao texto com leituras expressivas de poesias, noticiários e narrativas envolventes. Eles também podem produzir emoções específicas e sotaques, quando solicitado.

  4. Controle aprimorado de ritmo e pronúncia: controlar a velocidade da fala ajuda a garantir mais precisão na pronúncia, incluindo palavras específicas.

Para saber como usar essas vozes no seu aplicativo, consulte Usar o Gemini-TTS.

Opções de voz

O Gemini-TTS oferece diversas opções de vozes semelhantes ao Chirp 3: vozes em alta definição, cada uma com características distintas:

Nome Gênero Demonstração
Achernar Feminino
Achird Masculino
Algenib Masculino
Algieba Masculino
Alnilam Masculino
Aoede Feminino
Autonoe Feminino
Callirrhoe Feminino
Charon Masculino
Despina Feminino
Enceladus Masculino
Erinome Feminino
Fenrir Masculino
Gacrux Feminino
Iapetus Masculino
Kore Feminino
Laomedeia Feminino
Leda Feminino
Orus Masculino
Pulcherrima Feminino
Puck Masculino
Rasalgethi Masculino
Sadachbia Masculino
Sadaltager Masculino
Schedar Masculino
Sulafat Feminino
Umbriel Masculino
Vindemiatrix Feminino
Zephyr Feminino
Zubenelgenubi Masculino

Idiomas disponíveis

O Gemini-TTS aceita os seguintes idiomas:

Idioma Código BCP-47 Prontidão para o lançamento
Árabe (Egito) ar-EG GA
Holandês (Holanda) nl-NL GA
Inglês (Índia) en-IN GA
Inglês (Estados Unidos) en-US GA
Francês (França) fr-FR GA
Alemão (Alemanha) de-DE GA
Hindi (Índia) hi-IN GA
Indonésio (Indonésia) id-ID GA
Italiano (Itália) it-IT GA
Japonês (Japão) ja-JP GA
Coreano (Coreia do Sul) ko-KR GA
Marathi (Índia) mr-IN GA
Polonês (Polônia) pl-PL GA
Português (Brasil) pt-BR GA
Romeno (Romênia) ro-RO GA
Russo (Rússia) ru-RU GA
Espanhol (Espanha) es-ES GA
Tamil (Índia) ta-IN GA
Telugu (Índia) te-IN GA
Tailandês (Tailândia) th-TH GA
Turco (Turquia) tr-TR GA
Ucraniano (Ucrânia) uk-UA GA
Vietnamita (Vietnã) vi-VN GA
Afrikaans (África do Sul) af-ZA Visualizar
Albanês (Albânia) sq-AL Visualizar
Amárico (Etiópia) am-ET Visualizar
Árabe (mundo) ar-001 Visualizar
Armênio (Armênia) hy-AM Visualizar
Azerbaijano (Azerbaijão) az-AZ Visualizar
Bengali (Bangladesh) bn-BD Visualizar
Basco (Espanha) eu-ES Visualizar
Bielorrusso (Bielorrússia) be-BY Visualizar
Búlgaro (Bulgária) bg-BG Visualizar
Birmanês (Mianmar) my-MM Visualizar
Catalão (Espanha) ca-ES Visualizar
Cebuano (Filipinas) ceb-PH Visualizar
Chinês, mandarim (China) cmn-CN Visualizar
Chinês, mandarim (Taiwan) cmn-tw Visualizar
Croata (Croácia) hr-HR Visualizar
Checo (República Tcheca) cs-CZ Visualizar
Dinamarquês (Dinamarca) da-DK Visualizar
Inglês (Austrália) en-AU Visualizar
Inglês (Reino Unido) en-GB Visualizar
Estoniano (Estônia) et-EE Visualizar
Filipino (Filipinas) fil-PH Visualizar
Finlandês (Finlândia) fi-FI Visualizar
Francês (Canadá) fr-CA Visualizar
Galego (Espanha) gl-ES Visualizar
Georgiano (Geórgia) ka-GE Visualizar
Grego (Grécia) el-GR Visualizar
Gujarati (Índia) gu-IN Visualizar
Crioulo haitiano (Haiti) ht-HT Visualizar
Hebraico (Israel) he-IL Visualizar
Húngaro (Hungria) hu-HU Visualizar
Islandês (Islândia) is-IS Visualizar
Javanês (Java) jv-JV Visualizar
Canarês (Índia) kn-IN Visualizar
Concani (Índia) kok-IN Visualizar
Lao (Laos) lo-LA Visualizar
Latim (Cidade do Vaticano) la-VA Visualizar
Letão (Letônia) lv-LV Visualizar
Lituano (Lituânia) lt-LT Visualizar
Luxemburguês (Luxemburgo) lb-LU Visualizar
Macedônio (Macedônia do Norte) mk-MK Visualizar
Maithili (Índia) mai-IN Visualizar
Malgaxe (Madagascar) mg-MG Visualizar
Malaio (Malásia) ms-MY Visualizar
Malaiala (Índia) ml-IN Visualizar
Mongol (Mongólia) mn-MN Visualizar
Nepalês (Nepal) ne-NP Visualizar
Bokmål norueguês (Noruega) nb-NO Visualizar
Nynorsk norueguês (Noruega) nn-NO Visualizar
Oriá (Índia) or-IN Visualizar
Pashto (Afeganistão) ps-AF Visualizar
Persa (Irã) fa-IR Visualizar
Português (Portugal) pt-PT Visualizar
Punjabi (Índia) pa-IN Visualizar
Sérvio (Sérvia) sr-RS Visualizar
Sindi (Índia) sd-IN Visualizar
Cingalês (Sri Lanka) si-LK Visualizar
Eslovaco (Eslováquia) sk-SK Visualizar
Esloveno (Eslovênia) sl-SI Visualizar
Espanhol (América Latina) es-419 Visualizar
Espanhol (México) es-MX Visualizar
Swahili (Quênia) sw-KE Visualizar
Sueco (Suécia) sv-SE Visualizar
Urdu (Paquistão) ur-PK Visualizar

Usar o Gemini-TTS

Saiba como usar os modelos Gemini-TTS para sintetizar falas de uma ou várias pessoas.

Descrição Limite Tipo
Campo de texto Menor ou igual a 4.000 bytes. Entrada
Campo de comando Menor ou igual a 4.000 bytes. Entrada
Campos de texto e comando Menor ou igual a 8.000 bytes. Entrada
Duração do áudio de saída Aproximadamente 655 segundos. Se o texto de entrada resultar em um áudio com mais de 655 segundos, ele ficará truncado. Saída

Antes de começar

Antes de começar a usar a Text-to-Speech, siga estas etapas para ativar a API no console doGoogle Cloud :

  1. Ativar a Text-to-Speech em um projeto.
  2. Verificar se o faturamento está ativado para a Text-to-Speech.
  3. Configure a autenticação para o ambiente de desenvolvimento.

Configurar o projeto do Google Cloud

  1. Fazer login no console do Google Cloud

  2. Acessar a página do seletor de projetos.

    É possível escolher um projeto existente ou criar um novo. Para saber mais sobre a criação de um projeto, consulte a documentação doGoogle Cloud .

  3. Quando você cria um projeto, recebe uma mensagem que informa que é necessário vincular uma conta de faturamento. Ao usar um projeto atual, você precisa ativar o faturamento.

    Aprenda a confirmar se o faturamento está ativado para o projeto.

  4. Depois de selecionar um projeto e vincular uma conta de faturamento a ele, é possível ativar a API Text-to-Speech. Acesse a barra Pesquisar produtos e recursos na parte de cima da página e digite speech. Selecione a API Cloud Text-to-Speech na lista de resultados.

  5. Para testar a Text-to-Speech sem vinculação ao projeto, escolha a opção Testar esta API. Para ativar a API Text-to-Speech para uso no projeto, clique em Ativar.

  6. Configure a autenticação para o ambiente de desenvolvimento. Para instruções, consulte Configurar a autenticação para a Text-to-Speech.

Realizar a síntese síncrona de falante único

Python

# google-cloud-texttospeech minimum version 2.29.0 is required.

import os
from google.cloud import texttospeech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")

def synthesize(prompt: str, text: str, output_filepath: str = "output.mp3"):
    """Synthesizes speech from the input text and saves it to an MP3 file.

    Args:
        prompt: Styling instructions on how to synthesize the content in
          the text field.
        text: The text to synthesize.
        output_filepath: The path to save the generated audio file.
          Defaults to "output.mp3".
    """
    client = texttospeech.TextToSpeechClient()

    synthesis_input = texttospeech.SynthesisInput(text=text, prompt=prompt)

    # Select the voice you want to use.
    voice = texttospeech.VoiceSelectionParams(
        language_code="en-US",
        name="Charon",  # Example voice, adjust as needed
        model_name="gemini-2.5-pro-tts"
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.MP3
    )

    # Perform the text-to-speech request on the text input with the selected
    # voice parameters and audio file type.
    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    # The response's audio_content is binary.
    with open(output_filepath, "wb") as out:
        out.write(response.audio_content)
        print(f"Audio content written to file: {output_filepath}")

CURL

# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts.
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  -H "Content-Type: application/json" \
-d '{
  "input": {
    "prompt": "Say the following in a curious way",
    "text": "OK, so... tell me about this [uhm] AI thing."
  },
  "voice": {
    "languageCode": "en-us",
    "name": "Kore",
    "model_name": "gemini-2.5-flash-tts"
  },
  "audioConfig": {
    "audioEncoding": "LINEAR16"
  }
}' \
  "https://texttospeech.googleapis.com/v1/text:synthesize" \
  | jq -r '.audioContent' | base64 -d | ffplay - -autoexit

Realizar a síntese síncrona de vários falantes com entradas de texto livre

Descrição Restrições e limites Tipo
Campo de texto Menor ou igual a 4.000 bytes Entrada
Campo de comando Menor ou igual a 4.000 bytes Entrada
Campos de texto e comando Menor ou igual a 8.000 bytes Entrada
Aliases de falantes Caracteres alfanuméricos e sem espaços em branco Entrada
Duração do áudio de saída Aproximadamente 655 segundos. Se o texto de entrada resultar em um áudio com mais de 655 segundos, ele ficará truncado. Saída

Python

# google-cloud-texttospeech minimum version 2.31.0 is required.

import os
from google.cloud import texttospeech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")

def synthesize_multispeaker_freeform(
    prompt: str,
    text: str,
    output_filepath: str = "output_non_turn_based.wav",
):
    """Synthesizes speech from non-turn-based input and saves it to a WAV file.

    Args:
        prompt: Styling instructions on how to synthesize the content in the
          text field.
        text: The text to synthesize, containing speaker aliases to indicate
          different speakers. Example: "Sam: Hi Bob!\nBob: Hi Sam!"
        output_filepath: The path to save the generated audio file. Defaults to
          "output_non_turn_based.wav".
    """
    client = texttospeech.TextToSpeechClient()

    synthesis_input = texttospeech.SynthesisInput(text=text, prompt=prompt)

    multi_speaker_voice_config = texttospeech.MultiSpeakerVoiceConfig(
        speaker_voice_configs=[
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker1",
                speaker_id="Kore",
            ),
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker2",
                speaker_id="Charon",
            ),
        ]
    )

    voice = texttospeech.VoiceSelectionParams(
        language_code="en-US",
        model_name="gemini-2.5-pro-tts",
        multi_speaker_voice_config=multi_speaker_voice_config,
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.LINEAR16,
        sample_rate_hertz=24000,
    )

    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    with open(output_filepath, "wb") as out:
        out.write(response.audio_content)
        print(f"Audio content written to file: {output_filepath}")

CURL

# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
# google-cloud-texttospeech minimum version 2.31.0 is required.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  -H "Content-Type: application/json" \
-d '{
  "input": {
    "prompt": "Say the following as a conversation between friends.",
    "text": "Sam: Hi Bob, how are you?\\nBob: I am doing well, and you?"
  },
  "voice": {
    "languageCode": "en-us",
    "modelName": "gemini-2.5-flash-tts",
    "multiSpeakerVoiceConfig": {
      "speakerVoiceConfigs": [
        {
          "speakerAlias": "Sam",
          "speakerId": "Kore"
        },
        {
          "speakerAlias": "Bob",
          "speakerId": "Charon"
        }
      ]
    }
  },
  "audioConfig": {
    "audioEncoding": "LINEAR16",
    "sampleRateHertz": 24000
  }
}' \
  "https://texttospeech.googleapis.com/v1/text:synthesize" \
  | jq -r '.audioContent' | base64 -d | ffplay - -autoexit

Realizar a síntese síncrona de vários falantes com entradas de texto estruturadas

A entrada de texto estruturada com vários falantes permite a verbalização inteligente de textos de maneira semelhante à humana. Por exemplo, esse tipo de entrada é útil para endereços e datas. A entrada de texto livre fala o texto exatamente como ele foi escrito.

Descrição Restrições e limites Tipo
Campo MultiSpeakerMarkUp Menor ou igual a 4.000 bytes Entrada
Campo de comando Menor ou igual a 4.000 bytes Entrada
MultiSpeakerMarkUp e campos de solicitação Menor ou igual a 8.000 bytes Entrada
Aliases de falantes Caracteres alfanuméricos e sem espaços em branco Entrada
Duração do áudio de saída Aproximadamente 655 segundos. Se o texto de entrada resultar em um áudio com mais de 655 segundos, ele ficará truncado. Saída

Python

# google-cloud-texttospeech minimum version 2.31.0 is required.

import os
from google.cloud import texttospeech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")

def synthesize_multispeaker_structured(
    prompt: str,
    turns: list[texttospeech.MultiSpeakerMarkup.Turn],
    output_filepath: str = "output_turn_based.wav",
):
    """Synthesizes speech from turn-based input and saves it to a WAV file.

    Args:
        prompt: Styling instructions on how to synthesize the content in the
          text field.
        turns: A list of texttospeech.MultiSpeakerMarkup.Turn objects representing
          the dialogue turns.
        output_filepath: The path to save the generated audio file. Defaults to
          "output_turn_based.wav".
    """
    client = texttospeech.TextToSpeechClient()

    synthesis_input = texttospeech.SynthesisInput(
        multi_speaker_markup=texttospeech.MultiSpeakerMarkup(turns=turns),
        prompt=prompt,
    )

    multi_speaker_voice_config = texttospeech.MultiSpeakerVoiceConfig(
        speaker_voice_configs=[
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker1",
                speaker_id="Kore",
            ),
            texttospeech.MultispeakerPrebuiltVoice(
                speaker_alias="Speaker2",
                speaker_id="Charon",
            ),
        ]
    )

    voice = texttospeech.VoiceSelectionParams(
        language_code="en-US",
        model_name="gemini-2.5-pro-tts",
        multi_speaker_voice_config=multi_speaker_voice_config,
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.LINEAR16,
        sample_rate_hertz=24000,
    )

    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    with open(output_filepath, "wb") as out:
        out.write(response.audio_content)
        print(f"Audio content written to file: {output_filepath}")

CURL

# Make sure to install gcloud cli, and sign in to your project.
# Make sure to use your PROJECT_ID value.
# The available models are gemini-2.5-flash-tts and gemini-2.5-pro-tts.
# To parse the JSON output and use it directly see the last line of the command.
# Requires JQ and ffplay library to be installed.
# google-cloud-texttospeech minimum version 2.31.0 is required.
PROJECT_ID=YOUR_PROJECT_ID
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: $PROJECT_ID" \
  -H "Content-Type: application/json" \
-d '{
  "input": {
    "prompt": "Say the following as a conversation between friends.",
    "multiSpeakerMarkup": {
      "turns": [
        {
          "speaker": "Sam",
          "text": "Hi Bob, how are you?"
        },
        {
          "speaker": "Bob",
          "text": "I am doing well, and you?"
        }
      ]
    }
  },
  "voice": {
    "languageCode": "en-us",
    "modelName": "gemini-2.5-flash-tts",
    "multiSpeakerVoiceConfig": {
      "speakerVoiceConfigs": [
        {
          "speakerAlias": "Sam",
          "speakerId": "Kore"
        },
        {
          "speakerAlias": "Bob",
          "speakerId": "Charon"
        }
      ]
    }
  },
  "audioConfig": {
    "audioEncoding": "LINEAR16",
    "sampleRateHertz": 24000
  }
}' \
  "https://texttospeech.googleapis.com/v1/text:synthesize" \
  | jq -r '.audioContent' | base64 -d | ffplay - -autoexit

Realizar a síntese de voz no Media Studio

Use o Media Studio no console do Google Google Cloud para testar modelos de conversão de texto em voz. Nele, você acessa uma interface do usuário para gerar, ouvir áudios sintetizados e testar diferentes parâmetros e instruções de estilo com rapidez.

  1. No console do Google Google Cloud , acesse a página Vertex AI Studio > Media Studio.

    Media Studio

  2. Selecione Fala no menu suspenso de mídia.

  3. No campo de texto, digite o texto que você quer sintetizar em fala.

  4. No painel Configurações, defina o seguinte:

    1. Modelo: selecione o modelo da Text-to-Speech (TTS) que você quer usar, como Gemini 2.5 Pro TTS. Para saber mais sobre os modelos disponíveis, consulte Modelos da Text-to-Speech.
    2. Instruções de estilo (opcional): insira um comando de texto que descreva o estilo de fala, o tom e a emoção selecionados. Com isso, é possível orientar o desempenho do modelo além da narração padrão. Por exemplo: Narração em um tom calmo e profissional para um documentário.
    3. Idioma: selecione o idioma e a região do texto de entrada. O modelo gera a fala no idioma e no sotaque selecionados. Por exemplo, Inglês (Estados Unidos).
    4. Voz: escolha uma voz predefinida para a narração. A lista contém as vozes disponíveis para o modelo e o idioma selecionados, como Acherner (feminino).
  5. Opcional: expanda a seção Opções avançadas para configurar as opções técnicas de áudio:

    1. Codificação de áudio: selecione a codificação do arquivo de áudio de saída. LINEAR16 é um formato sem perdas e sem compressão adequado para processamento de áudio de alta qualidade. MULAW também está disponível para saídas de áudio com compressão.
    2. Taxa de amostragem de áudio: selecione a taxa de amostragem em hertz (Hz). Isso determina a qualidade do áudio. Valores mais altos, como 44.100 Hz, representam um áudio de maior fidelidade, equivalente à qualidade de um CD.
    3. Velocidade: ajuste a taxa de fala movendo o controle deslizante ou inserindo um valor. Valores menores que 1 diminuem a velocidade da fala e valores maiores que 1 aumentam. O padrão é 1.
    4. Ganho de volume (dB): ajuste o volume do áudio de saída em decibéis (dB). Valores positivos aumentam o volume e valores negativos diminuem. O padrão é 0.
  6. Clique no ícone Enviar à direita da caixa de texto para gerar o áudio.

  7. O áudio gerado aparece no player de mídia. Clique no botão de reprodução para ouvir a saída. Você pode continuar ajustando as configurações e gerando novas versões conforme necessário.

Dicas de comandos

Para criar áudios envolventes e com som natural baseando-se em textos, você precisa entender as nuances da linguagem falada e traduzi-las para um formato de script. As dicas a seguir vão ajudar você a criar scripts que forneçam um som autêntico e capturem o tom escolhido.

Os três fatores do controle de fala

Para ter resultados mais previsíveis e detalhados, verifique se os três componentes a seguir são consistentes com a saída pretendida.

Comando de estilo O principal fator do tom emocional geral e da maneira como a fala ocorre. Esse comando define o contexto para todo o segmento de fala.

  • Exemplo: You are an AI assistant speaking in a friendly and helpful tone.

  • Exemplo: Narrate this in the calm, authoritative tone of a nature documentary narrator.

Conteúdo do texto O significado semântico das palavras que você está sintetizando. Uma frase evocativa que seja emocionalmente consistente com o comando de estilo vai produzir resultados muito mais confiáveis do que um texto neutro.

  • Bom: um comando para um tom assustado funciona melhor com textos como I think someone is in the house.

  • Menos eficaz: um comando para um tom assustado vai gerar resultados ambíguos com um texto como The meeting is at 4 PM..

Tags de marcação Tags entre colchetes, como [sigh], são mais adequadas para inserir uma ação específica e localizada ou uma modificação de estilo, não para definir o tom geral. Elas funcionam com o comando de estilo e o conteúdo do texto.

Guia de tags de marcação

Nossa pesquisa mostra que as tags de marcação entre colchetes operam em um de três modos distintos. Entender o modo de uma tag é fundamental para usá-la de maneira eficaz.

Modo 1: sons que não são de fala

A marcação é substituída por uma vocalização audível e não verbal, como um suspiro ou uma risada. A tag em si não é falada. Elas são excelentes para adicionar hesitações e reações realistas e semelhantes às humanas.

Tag Comportamento Confiabilidade Orientação
[sigh] Insere um som de suspiro. Alta A qualidade emocional do suspiro é influenciada pelo comando.
[laughing] Insere uma risada. Alta Para ter os melhores resultados, use um comando específico. Por exemplo, um comando genérico pode gerar uma risada de choque, enquanto "reaja com uma risada divertida" cria uma risada de diversão.
[uhm] Insere um som de hesitação. Alta Útil para criar uma sensação mais natural e um clima de conversa.

Modo 2: modificadores de estilo

A marcação não é falada, mas modifica a maneira como a fala seguinte ocorre. O escopo e a duração da modificação podem variar.

Tag Comportamento Confiabilidade Orientação
[sarcasm] Dá um tom sarcástico à frase seguinte. Alta Essa tag é um modificador eficiente. Ela ajuda a demonstrar que conceitos abstratos podem direcionar a forma como o modelo produz a fala.
[robotic] Faz com que a fala seguinte soe robótica. Alta O efeito pode se estender por toda uma frase. Um comando de estilo de apoio (por exemplo, "Diga isso de maneira robótica") ainda é recomendado para ter resultados melhores.
[shouting] Aumenta o volume da fala seguinte. Alta Mais eficaz quando combinado com um comando de estilo correspondente (por exemplo, "Grite a próxima parte") e um texto que implica gritos.
[whispering] Diminui o volume da fala seguinte. Alta Os melhores resultados são alcançados quando o comando de estilo também é explícito (por exemplo, "agora sussurre esta parte o mais baixo possível").
[extremely fast] Aumenta a velocidade da fala seguinte. Alta Ideal para avisos legais ou diálogos rápidos. Não é necessário ter muitos comandos de apoio.

Modo 3: marcação vocalizada (adjetivos)

A tag de marcação é falada como uma palavra, além de influenciar o tom de toda a frase. Em geral, esse comportamento se aplica a adjetivos emocionais.

Aviso: como a tag é falada, esse modo provavelmente é um efeito colateral indesejado para a maioria dos casos de uso. Prefira usar o comando de estilo para definir esses tons emocionais.

Tag Comportamento Confiabilidade Orientação
[scared] A palavra "assustado" é falada e a frase adota um tom assustado. Alta O desempenho depende muito do conteúdo do texto. A frase "Acabei de ouvir uma janela quebrar" produz um resultado genuinamente assustado. Uma frase neutra produz um resultado "assustador", mas menos autêntico.
[curious] A palavra "curioso" é falada, e a frase adota um tom curioso. Alta Use uma frase inquisitiva para apoiar a intenção da tag.
[bored] A palavra "entediado" é falada e a frase adota uma entonação monótona e entediada. Alta Use com textos comuns ou repetitivos para ter o melhor efeito.

Modo 4: ritmo e pausas

Essas tags inserem silêncio no áudio gerado, oferecendo controle granular sobre ritmo, tempo e andamento. A pontuação padrão (vírgulas, pontos, ponto e vírgulas) também cria pausas naturais, mas essas tags oferecem um controle mais explícito.

Tag Comportamento Confiabilidade Orientação
[short pause] Insere uma breve pausa, semelhante a uma vírgula (~250 ms). Alta Use para separar cláusulas ou itens de uma lista de modo a melhorar a clareza.
[medium pause] Insere uma pausa padrão, semelhante a uma quebra de frase (~500 ms). Alta Eficaz para separar frases ou ideias distintas.
[long pause] Insere uma pausa significativa para efeito dramático (~1000 ms ou mais). Alta Use para um efeito dramático. Por exemplo: "A resposta é… [long pause]... não." Evite o uso excessivo para não soar artificial.

Principais estratégias para promover resultados confiáveis

  • Alinhar todos os três fatores Para ter previsibilidade máxima, garanta que o comando de estilo, o conteúdo do texto e as tags de marcação sejam semanticamente consistentes e trabalhem em alinhamento para atingir a mesma meta.

  • Usar textos ricos emocionalmente Não dependa apenas de comandos e tags. Forneça ao modelo um texto descritivo e rico. Isso é especialmente importante para emoções sutis, como sarcasmo, medo ou animação.

  • Escrever comandos específicos e detalhados Quanto mais específico for o comando de estilo, mais confiável será o resultado. "Reaja com uma risada divertida" é melhor do que apenas [laughing]. "Fale como um locutor de rádio dos anos 1940" é melhor do que "Fale de um jeito antigo".

  • Testar e verificar novas tags O comportamento de uma tag nova ou não testada nem sempre é previsível. Uma tag que você acredita ser um modificador de estilo pode ser vocalizada. Sempre teste uma nova tag ou combinação de comandos para confirmar o comportamento antes de implantar na produção.