In diesem Dokument wird beschrieben, wie Sie synthetisierte Sprachantworten und die Erkennung von Sprachaktivitäten in der Gemini Live API konfigurieren. Sie können Antworten in verschiedenen HD-Stimmen und ‑Sprachen konfigurieren und auch Einstellungen für die Erkennung von Sprachaktivitäten konfigurieren, damit Nutzer das Modell unterbrechen können.
Sprache und Stimme festlegen
Live-Audiomodelle wie gemini-3.8-live können während einer Unterhaltung auf natürliche Weise zwischen Sprachen wechseln. Sie können auch die Sprachen einschränken, in denen das Modell antwortet, indem Sie dies in den Systemanweisungen angeben.
Die Stimme ist für alle Modelle im Feld voice_name konfiguriert.
Das folgende Codebeispiel zeigt, wie Sie Sprache und Stimme konfigurieren.
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", ), )
Tonfall und Akzent der Stimme der Sprachführung
Sie können den Ton und Akzent der Stimme mit Systemanweisungen festlegen. Die Gemini Live API antwortet dann mit der von Ihnen angegebenen Stimme. Beispiel: „Englisch mit einer positiven, fröhlichen Stimme mit französischem Akzent.“
Unterstützte Stimmen
Die Gemini Live API unterstützt die folgenden 30 Sprachoptionen im Feld voice_name:
|
Zephyr – Hell Kore – Fest Orus – Fest Autonoe – Hell Umbriel – Gelassen Erinome – Klar Laomedeia – Optimistisch Schedar – Gleichmäßig Achird – Freundlich Sadachbia – Lebhaft |
Puck – Beschwingt Fenrir – Aufgeregt Aoede – Leicht Enceladus – Hauchig Algieba – Sanft Algenib – Rau Achernar – Sanft Gacrux – Reif Zubenelgenubi – Locker Sadaltager – Wissend |
Charon – Informativ Leda – Jugendlich Callirrhoe – Gelassen Iapetus – Klar Despina – Sanft Rasalgethi – Informativ Alnilam – Bestimmt Pulcherrima – Direkt Vindemiatrix – Sanft Sulafat – Warm |
Unterstützte Sprachen
Die Gemini Live API unterstützt die folgenden Sprachen:
| Sprache | BCP-47-Code |
|---|---|
| Arabisch (Ägypten) | ar-EG |
| Bengalisch (Bangladesch) | bn-BD |
| Niederländisch (Niederlande) | nl-NL |
| Englisch (Indien) | en-IN- und hi-IN-Set |
| Englisch (USA) | en-US |
| Französisch (Frankreich) | fr-FR |
| Deutsch (Deutschland) | de-DE |
| Hindi (Indien) | hi-IN |
| Indonesisch (Indonesien) | id-ID |
| Italienisch (Italien) | it-IT |
| Japanisch (Japan) | ja-JP |
| Koreanisch (Korea) | ko-KR |
| Marathi (Indien) | mr-IN |
| Polnisch (Polen) | pl-PL |
| Portugiesisch (Brasilien) | pt-BR |
| Rumänisch (Rumänien) | ro-RO |
| Russisch (Russland) | ru-RU |
| Spanisch (USA) | es-US |
| Tamil (Indien) | ta-IN |
| Telugu (Indien) | te-IN |
| Thailändisch (Thailand) | th-TH |
| Türkisch (Türkei) | tr-TR |
| Ukrainisch (Ukraine) | uk-UA |
| Vietnamesisch (Vietnam) | vi-VN |
Custom Voice verwenden
Anstelle einer vordefinierten Stimme können Sie eine kurze Aufnahme einer Stimme bereitstellen, die von der Gemini Live API in synthetisierten Sprachantworten repliziert wird. Benutzerdefinierte Stimmen werden pro Sitzung im Feld replicated_voice_config von voice_config konfiguriert. Sie müssen nichts im Voraus hochladen oder trainieren.
Anforderungen an Sprachproben
Die Sprachprobe muss die folgenden Spezifikationen erfüllen:
Audioformat: PCM-Audio
s16lemit variabler Abtastrate, z. B.audio/pcm;rate=24000Dauer: 10 bis 20 Sekunden.
Custom Voice aufnehmen
Wir empfehlen die folgenden Tipps, um eine optimale Sprachqualität bei der Aufnahme des Sprachbeispiels zu erzielen:
Natürlich sprechen: Verwenden Sie keine „Radiostimme“ und überdeutliche Aussprache, es sei denn, Sie möchten, dass der Avatar wie ein Rundfunksprecher klingt. Lies das Skript so vor, als würdest du mit einem Freund sprechen.
Hintergrundgeräusche reduzieren: Reduzieren Sie Hintergrundgeräusche so weit wie möglich. Schalten Sie dazu Lüfter und Klimaanlagen aus und schließen Sie alle geöffneten Fenster.
Leicht lächeln: Wenn Sie während der Aufnahme lächeln, wird der Aufnahme Wärme verliehen, die dann auch in die replizierte Stimme einfließt.
Empfohlene Scripts für Custom Voice
Wir empfehlen, eines der folgenden Skripts zum Aufzeichnen benutzerdefinierter Stimmen zu verwenden:
Phonetischer Standard, am besten für die Gesamtqualität: „Wenn Sonnenlicht auf Regentropfen in der Luft trifft, wirken diese wie ein Prisma und bilden einen Regenbogen. Der Regenbogen ist eine Aufteilung von weißem Licht in viele schöne Farben. Sie haben die Form eines langen Rundbogens.“
Storyteller, am besten geeignet, um Emotionen und Dynamik einzufangen: „Ich konnte es kaum glauben, als ich das staubige, alte Buch aufschlug. Ein kleiner goldener Schlüssel fiel klappernd auf den Holzboden. „Woher kommt das?“ Ich flüsterte es vor mich hin und spürte einen plötzlichen Schauer der Aufregung. Alles sollte sich ändern.“
Custom Voice festlegen
Konfigurieren Sie die benutzerdefinierte Stimme in der ersten setup-Nutzlast, die Sie über die WebSocket-Verbindung senden:
import base64 import json import websockets # Load custom voice audio (PCM s16le, e.g., 24kHz) with open("/path/to/your/audio_sample.wav", "rb") as f: wav_b64 = base64.b64encode(f.read()).decode("utf-8") # Setup generation config with custom voice GENERATION_CONFIG = { "response_modalities": ["AUDIO"], "speech_config": { "voice_config": { "replicated_voice_config": { "voice_sample_audio": "VOICE_SAMPLE", "mime_type": "VOICE_MIME_TYPEaudio/pcm;rate=24000", } } }, } # Session setup message SETUP_MESSAGE = { "setup": { "model": "gemini-3.8-live", "generation_config": GENERATION_CONFIG, "system_instruction": { "parts": [{"text": "Your system instruction here"}] }, "input_audio_transcription": {}, "output_audio_transcription": {}, } }
Ersetzen Sie Folgendes:
VOICE_SAMPLE: Ein base64-codierter PCM-Audiostring (10–20 Sekunden).
VOICE_MIME_TYPE: MIME-Typ für PCM-Audio, z. B.
"audio/pcm;rate=24000".
Sie können eine benutzerdefinierte Stimme mit einem vorgefertigten oder benutzerdefinierten Avatar kombinieren. Weitere Informationen finden Sie unter Live-Avatare konfigurieren.
Erkennung von Sprachaktivität konfigurieren
Die Erkennung von Sprachaktivität (Voice Activity Detection, VAD) ermöglicht es dem Modell, zu erkennen, wann eine Person spricht. Das ist wichtig, um natürliche Unterhaltungen zu ermöglichen, da Nutzer das Modell jederzeit unterbrechen können.
Wenn VAD eine Unterbrechung erkennt, wird die laufende Generierung abgebrochen und verworfen. Im Sitzungsverlauf werden nur die Informationen aufbewahrt, die bereits an den Client gesendet wurden. Der Server sendet dann eine BidiGenerateContentServerContent-Nachricht, um die Unterbrechung zu melden. Der Server verwirft dann alle ausstehenden Funktionsaufrufe und sendet eine BidiGenerateContentServerContent-Nachricht mit den IDs der abgebrochenen Aufrufe.
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, } } }
Nächste Schritte
- Live-Sitzungen starten und verwalten
- Audio- und Videostreams senden
- Gemini-Funktionen konfigurieren
- Best Practices für die Gemini Live API