Questo documento descrive come configurare le risposte di sintesi vocale e il rilevamento dell'attività vocale nell'API Gemini Live. Puoi configurare le risposte in una varietà di voci e lingue in HD e anche configurare le impostazioni di rilevamento dell'attività vocale per consentire agli utenti di interrompere il modello.
Impostare la lingua e la voce
I modelli audio nativi come gemini-live-2.5-flash-native-audio possono passare da una lingua all'altra in modo naturale durante la conversazione. Puoi anche limitare le lingue che parla specificandolo nelle istruzioni di sistema.
Per i modelli audio non nativi come gemini-live-2.5-flash, puoi configurare la
lingua in speech_config.language_code.
La voce è configurata nel campo voice_name per tutti i modelli.
Il seguente esempio di codice mostra come configurare la lingua e la voce.
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", ), )
Voci supportate
L'API Gemini Live supporta le seguenti 30 opzioni vocali nel campo
voice_name:
|
Zephyr -- Brillante Kore -- Fermo Orus -- Fermo Autonoe -- Brillante Umbriel -- Tranquillo Erinome -- Chiaro Laomedeia -- Vivace Schedar -- Uniforme Achird -- Amichevole Sadachbia -- Vivace |
Puck -- Vivace Fenrir -- Entusiasta Aoede -- Spensierato Enceladus -- Sussurrante Algieba -- Morbido Algenib -- Ruvido Achernar -- Delicato Gacrux -- Maturo Zubenelgenubi -- Informale Sadaltager -- Competente |
Caronte -- Informativo Leda -- Giovanile Calliroe -- Tranquillo Giapeto -- Chiaro Despina -- Delicato Rasalgethi -- Informativo Alnilam -- Fermo Pulcherrima -- Diretto Vindemiatrix -- Delicato Sulafat -- Caldo |
Lingue supportate
L'API Gemini Live supporta le seguenti 24 lingue:
| Lingua | Codice BCP-47 | Lingua | Codice BCP-47 |
|---|---|---|---|
| Arabo (egiziano) | ar-EG | Tedesco (Germania) | de-DE |
| Inglese (USA) | en-US | Spagnolo (USA) | es-US |
| Francese (Francia) | fr-FR | Hindi (India) | hi-IN |
| Indonesiano (Indonesia) | id-ID | Italiano (Italia) | it-IT |
| Giapponese (Giappone) | ja-JP | Coreano (Corea) | ko-KR |
| Portoghese (Brasile) | pt-BR | Russo (Russia) | ru-RU |
| Olandese (Paesi Bassi) | nl-NL | Polacco (Polonia) | pl-PL |
| Thailandese (Thailandia) | th-TH | Turco (Turchia) | tr-TR |
| Vietnamita (Vietnam) | vi-VN | Rumeno (Romania) | ro-RO |
| Ucraino (Ucraina) | uk_UA | Bengalese (Bangladesh) | bn-BD |
| Inglese (India) | Bundle en-IN e hi-IN | Marathi (India) | mr-IN |
| Tamil (India) | ta-IN | Telugu (India) | te-IN |
Configurare il rilevamento dell'attività vocale
Il rilevamento dell'attività vocale (VAD) consente al modello di riconoscere quando una persona sta parlando. Questo è essenziale per creare conversazioni naturali, perché consente a un utente di interrompere il modello in qualsiasi momento.
Quando VAD rileva un'interruzione, la generazione in corso viene annullata e
ignorata. Nella cronologia della sessione vengono conservate solo le informazioni già inviate al cliente. Il server invia quindi un messaggio BidiGenerateContentServerContent
per segnalare l'interruzione. Il server elimina quindi tutte le chiamate di funzione in attesa e invia un messaggio BidiGenerateContentServerContent con gli ID delle chiamate annullate.
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, } } }
Passaggi successivi
- Avviare e gestire le sessioni live
- Inviare stream audio e video
- Utilizzare la traduzione vocale
- Best practice per l'API Gemini Live