En este documento se describe cómo configurar las respuestas de voz sintetizada y la detección de actividad de voz en la API Gemini Live. Puedes configurar las respuestas en una variedad de voces e idiomas en alta definición, así como los ajustes de detección de actividad de voz para permitir que los usuarios interrumpan el modelo.
Definir 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 especificándolo en las instrucciones del sistema.
En el caso de los modelos de audio que no son nativos, como gemini-live-2.5-flash, puedes configurar el idioma en speech_config.language_code.
Voice se configura en el campo voice_name de todos los modelos.
En el siguiente código de ejemplo 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 Gemini Live admite las siguientes 30 opciones de voz en el campo voice_name:
|
Zephyr: Brillante Kore: Firme Orus: Firme Autonoe: Brillante Umbriel: Tranquilo Erinome: Claro Laomedeia: Optimista Schedar: Equilibrado Achird: Amable Sadachbia: Animado |
Puck: Animado Fenrir: Entusiasmado Aoede: Fresco Encélado: Aéreo Algieba: Suave Algenib: Grave Achernar: Suave Gacrux: Maduro Zubenelgenubi: Informal Sadaltager: Informado |
Caronte: informativo Leda: juvenil Calírroe: tranquilo Jápeto: claro Despina: suave Rasalgethi: informativo Alnilam: firme Pulcherrima: directo Vindemiatrix: suave Sulafat: cálido |
Idiomas disponibles
La API Gemini Live admite los siguientes 24 idiomas:
| Idioma | Código BCP-47 | Idioma | Código BCP-47 |
|---|---|---|---|
| Árabe (Egipto) | ar-EG | Alemán (Alemania) | de-DE |
| inglés (EE. UU.) | en-US | Español (EE. UU.) | es-US |
| Francés (Francia) | fr-FR | Hindi (India) | hi-IN |
| Indonesio (Indonesia) | id-ID | Italiano (Italia) | it-IT |
| Japonés (Japón) | ja-JP | Coreano (Corea) | ko-KR |
| Portugués (Brasil) | pt-BR | Ruso (Rusia) | ru-RU |
| Neerlandés (Países Bajos) | nl-NL | Polaco (Polonia) | pl-PL |
| Tailandés (Tailandia) | th-TH | Turco (Turquía) | tr-TR |
| Vietnamita (Vietnam) | vi-VN | Rumano (Rumanía) | ro-RO |
| Ucraniano (Ucrania) | uk-UA | Bengalí (Bangladés) | bn-BD |
| Inglés (India) | Paquete de en-IN y hi-IN | Maratí (India) | mr-IN |
| Tamil (India) | ta-IN | Telugu (India) | te-IN |
Configurar la detección de actividad de voz
La detección de actividad de voz (VAD) permite que el modelo reconozca cuándo habla una persona. Esto es esencial para crear conversaciones naturales, ya que permite que los usuarios interrumpan el modelo en cualquier momento.
Cuando VAD detecta una interrupción, se cancela y se descarta la generación en curso. En el historial de la sesión solo se conserva la información que ya se ha enviado al cliente. A continuación, el servidor envía un mensaje BidiGenerateContentServerContent
para informar de la interrupción. A continuación, el servidor descarta las llamadas de función pendientes 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, } } }
Siguientes pasos
- Iniciar y gestionar sesiones en directo
- Enviar flujos de audio y vídeo
- Usar la traducción de voz a voz
- Prácticas recomendadas para usar la API Gemini Live