Este documento descreve como configurar respostas de fala sintetizada e detecção de atividade de voz na API Gemini Live. É possível configurar respostas em vários idiomas e vozes em HD, além de definir as configurações de detecção de atividade de voz para permitir que os usuários interrompam o modelo.
Definir o idioma e a voz
Os modelos de áudio nativo, como gemini-live-2.5-flash-native-audio, podem alternar entre idiomas naturalmente durante a conversa. Também é possível restringir os idiomas falados especificando-os nas instruções do sistema.
Para modelos de áudio não nativo, como gemini-live-2.5-flash, é possível configurar o idioma em speech_config.language_code.
A voz é configurada no campo voice_name para todos os modelos.
O exemplo de código a seguir mostra como configurar o idioma e a voz.
from google.genai.types import LiveConnectConfig, SpeechConfig, VoiceConfig, PrebuiltVoiceConfig config = LiveConnectConfig( response_modalities=["AUDIO"], speech_config=SpeechConfig( voice_config=VoiceConfig( prebuilt_voice_config=PrebuiltVoiceConfig( voice_name=voice_name, ) ), language_code="en-US", ), )
Vozes compatíveis
A API Gemini Live oferece suporte às seguintes 30 opções de voz no campo voice_name:
|
Zephyr -- Brilhante Kore -- Firme Orus -- Firme Autonoe -- Brilhante Umbriel -- Descontraída Erinome -- Clara Laomedeia -- Animada Schedar -- Equilibrada Achird -- Amigável Sadachbia -- Animada |
Puck -- Animada Fenrir -- Excitável Aoede -- Leve Enceladus -- Suave Algieba -- Suave Algenib -- Grave Achernar -- Suave Gacrux -- Madura Zubenelgenubi -- Casual Sadaltager -- Conhecedora |
Charon -- Informativa Leda -- Jovem Callirrhoe -- Descontraída Iapetus -- Clara Despina -- Suave Rasalgethi -- Informativa Alnilam -- Firme Pulcherrima -- Direta Vindemiatrix -- Gentil Sulafat -- Acolhedora |
Idiomas compatíveis
A API Gemini Live oferece suporte aos seguintes idiomas:
| Idioma | Código BCP-47 |
|---|---|
| Árabe (egípcio) | ar-EG |
| Bengali (Bangladesh) | bn-BD |
| Holandês (Holanda) | nl-NL |
| Inglês (Índia) | Pacote en-IN e hi-IN |
| English (US) | en-US |
| Francês (França) | fr-FR |
| Alemão (Alemanha) | de-DE |
| Híndi (Índia) | hi-IN |
| Indonésio (Indonésia) | id-ID |
| Italiano (Itália) | it-IT |
| Japonês (Japão) | ja-JP |
| Coreano (Coreia) | ko-KR |
| Marati (Índia) | mr-IN |
| Polonês (Polônia) | pl-PL |
| Português (Brasil) | pt-BR |
| Romeno (Romênia) | ro-RO |
| Russo (Rússia) | ru-RU |
| Espanhol (EUA) | es-US |
| Tâmil (Índia) | ta-IN |
| Telugu (Índia) | te-IN |
| Tailandês (Tailândia) | th-TH |
| Turco (Turquia) | tr-TR |
| Ucraniano (Ucrânia) | uk-UA |
| Vietnamita (Vietnã) | vi-VN |
Configurar a detecção de atividade de voz
A detecção de atividade de voz (VAD, na sigla em inglês) permite que o modelo reconheça quando uma pessoa está falando. Isso é essencial para criar conversas naturais, porque permite que um usuário interrompa o modelo a qualquer momento.
Quando a VAD detecta uma interrupção, a geração em andamento é cancelada e descartada. Apenas as informações já enviadas ao cliente são mantidas no histórico da sessão. Em seguida, o servidor envia uma mensagem BidiGenerateContentServerContent para informar a interrupção. O servidor descarta todas as chamadas de função pendentes e envia uma mensagem BidiGenerateContentServerContent com os IDs das chamadas canceladas.
Python
config = { "response_modalities": ["audio"], "realtime_input_config": { "automatic_activity_detection": { "disabled": False, # default "start_of_speech_sensitivity": "low", "end_of_speech_sensitivity": "low", "prefix_padding_ms": 20, "silence_duration_ms": 100, } } }
A seguir
- Iniciar e gerenciar sessões ao vivo
- Enviar streams de áudio e vídeo
- Usar a tradução de fala para fala
- Práticas recomendadas com a API Gemini Live