En este documento, se describe cómo configurar las respuestas de voz sintetizada y la detección de actividad de voz en la API de Gemini Live. Puedes configurar respuestas en una variedad de voces y lenguajes en HD, y también configurar los parámetros de configuración de detección de actividad de voz para permitir que los usuarios interrumpan el modelo.
Cómo configurar el idioma y la voz
Los modelos de audio nativos, como gemini-live-2.5-flash-native-audio, pueden cambiar de idioma de forma natural durante la conversación. También puedes restringir los idiomas en los que habla si lo especificas en las instrucciones del sistema.
Para los modelos de audio no nativos, como gemini-live-2.5-flash, puedes configurar el idioma en speech_config.language_code.
La voz se configura en el campo voice_name para todos los modelos.
En la siguiente muestra de código, se muestra cómo configurar el idioma y la 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", ), )
Voces admitidas
La API de Gemini Live admite las siguientes 30 opciones de voz en el campo voice_name:
|
Zephyr: Brillante Kore: Firme Orus: Firme Autonoe: Brillante Umbriel: Relajado Erinome: Claro Laomedeia: Animado Schedar: Parejo Achird: Amigable Sadachbia: Animado |
Puck: Animado Fenrir: Excitado Aoede: Ligero Enceladus: Entrecortado Algieba: Suave Algenib: Ronco Achernar: Suave Gacrux: Maduro Zubenelgenubi: Informal Sadaltager: Conocedor |
Charon: Informativo Leda: Joven Callirrhoe: Relajado Iapetus: Claro Despina: Suave Rasalgethi: Informativo Alnilam: Firme Pulcherrima: Directo Vindemiatrix: Suave Sulafat: Cálido |
Lenguajes compatibles
La API de Gemini Live admite los siguientes idiomas:
| Idioma | Código BCP-47 |
|---|---|
| Árabe (Egipto) | ar-EG |
| Bengalí (Bangladés) | bn-BD |
| Holandés (Países Bajos) | nl-NL |
| Inglés (India) | Paquete en-IN y hi-IN |
| English (US) | en-US |
| Francés (Francia) | fr-FR |
| Alemán (Alemania) | de-DE |
| Hindi (India) | hi-IN |
| Indonesio (Indonesia) | id-ID |
| Italiano (Italia) | it-IT |
| Japonés (Japón) | ja-JP |
| Coreano (Corea) | ko-KR |
| Maratí (India) | mr-IN |
| (Polonia) | pl-PL |
| Portugués (Brasil) | pt-BR |
| Rumano (Rumania) | ro-RO |
| Ruso (Rusia) | ru-RU |
| Español (EE.UU.) | es-US |
| Tamil (India) | ta-IN |
| Telugu (India) | te-IN |
| Tailandés (Tailandia) | th-TH |
| Turco (Türkiye) | tr-TR |
| Ucraniano (Ucrania) | uk-UA |
| Vietnamita (Vietnam) | vi-VN |
Cómo configurar la detección de actividad de voz
La detección de actividad de voz (VAD) permite que el modelo reconozca cuando una persona está hablando. Esto es esencial para crear conversaciones naturales, ya que permite que un usuario interrumpa el modelo en cualquier momento.
Cuando VAD detecta una interrupción, se cancela y se descarta la generación en curso. Solo se retiene en el historial de la sesión la información que ya se envió al cliente. Luego, el servidor envía un mensaje BidiGenerateContentServerContent para informar la interrupción. Luego, el servidor descarta cualquier llamada de función pendiente y envía un mensaje BidiGenerateContentServerContent con los IDs de las llamadas 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, } } }
¿Qué sigue?
- Cómo iniciar y administrar sesiones en vivo
- Cómo enviar transmisiones de audio y video
- Cómo usar la traducción de voz a voz
- Prácticas recomendadas con la API de Gemini Live