Ce document explique comment configurer les réponses vocales synthétisées et la détection d'activité vocale dans l'API Gemini Live. Vous pouvez configurer des réponses dans différentes voix et langues HD, et également configurer les paramètres de détection de l'activité vocale pour permettre aux utilisateurs d'interrompre le modèle.
Définir la langue et la voix
Les modèles audio natifs tels que gemini-live-2.5-flash-native-audio peuvent passer d'une langue à l'autre de manière naturelle au cours d'une conversation. Vous pouvez également limiter les langues qu'il utilise en les spécifiant dans les instructions système.
Pour les modèles non audio natifs tels que gemini-live-2.5-flash, vous pouvez configurer la langue dans speech_config.language_code.
La voix est configurée dans le champ voice_name pour tous les modèles.
L'exemple de code suivant vous montre comment configurer la langue et la voix.
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", ), )
Voix compatibles
L'API Gemini Live est compatible avec les 30 options vocales suivantes dans le champ voice_name :
|
Zephyr : Lumineux Kore : Ferme Orus : Ferme Autonoe : Lumineux Umbriel : Détendu Erinome : Clair Laomedeia : Joyeux Schedar : Équilibré Achird : Amical Sadachbia : Vif |
Puck : Entraînant Fenrir : Enthousiaste Aoede : Détendu Enceladus : Soufflé Algieba : Doux Algenib : Graveleux Achernar : Doux Gacrux : Mature Zubenelgenubi : Décontracté Sadaltager : Informé |
Charon : Informatif Leda : Jeune Callirrhoé : Détendu Japet : Clair Despina : Doux Rasalgethi : Informatif Alnilam : Ferme Pulcherrima : Direct Vindemiatrix : Doux Sulafat : Chaleureux |
Langues acceptées
L'API Gemini Live est compatible avec les 24 langues suivantes :
| Langue | Code BCP-47 | Langue | Code BCP-47 |
|---|---|---|---|
| Arabe (Égypte) | ar-EG | Allemand (Allemagne) | de-DE |
| Anglais (États-Unis) | en-US | Espagnol (États-Unis) | es-US |
| Français (France) | fr-FR | Hindi (Inde) | hi-IN |
| Indonésien (Indonésie) | id-ID | Italien (Italie) | it-IT |
| Japonais (Japon) | ja-JP | Coréen (Corée) | ko-KR |
| Portugais (Brésil) | pt-BR | Russe (Russie) | ru-RU |
| Néerlandais (Pays-Bas) | nl-NL | Polonais (Pologne) | pl-PL |
| Thaï (Thaïlande) | th-TH | Turc (Turquie) | tr-TR |
| Vietnamien (Viêt Nam) | vi-VN | Roumain (Roumanie) | ro-RO |
| Ukrainien (Ukraine) | uk-UA | Bengali (Bangladesh) | bn-BD |
| Anglais (Inde) | Pack en-IN et hi-IN | Marathi (Inde) | mr-IN |
| Tamoul (Inde) | ta-IN | Télougou (Inde) | te-IN |
Configurer la détection de l'activité vocale
La détection de l'activité vocale (VAD, Voice Activity Detection) permet au modèle de reconnaître quand une personne parle. C'est essentiel pour créer des conversations naturelles, car cela permet à un utilisateur d'interrompre le modèle à tout moment.
Lorsque la VAD détecte une interruption, la génération en cours est annulée et supprimée. Seules les informations déjà envoyées au client sont conservées dans l'historique de la session. Le serveur envoie ensuite un message BidiGenerateContentServerContent pour signaler l'interruption. Le serveur supprime ensuite tous les appels de fonction en attente et envoie un message BidiGenerateContentServerContent avec les ID des appels annulés.
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, } } }
Étapes suivantes
- Démarrer et gérer des sessions en direct
- Envoyer des flux audio et vidéo
- Utiliser la traduction de la parole en parole
- Bonnes pratiques concernant l'API Gemini Live