設定語言和語音

本文說明如何在 Gemini Live API 中設定合成語音回應和語音活動偵測功能。你可以設定以各種 HD 語音和語言回覆,也可以設定語音活動偵測設定,允許使用者中斷模型。

設定語言和聲音

gemini-live-2.5-flash-native-audio 等原生音訊模型可在對話期間自然切換語言。你也可以在系統指令中指定語言,限制 AI 說話時使用的語言。

如果是 gemini-live-2.5-flash 等非 native-audio 模型,您可以在 speech_config.language_code 中設定語言。

所有模型的語音都是在 voice_name 欄位中設定。

下列程式碼範例說明如何設定語言和語音。

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",
  ),
)

支援的語音

Gemini Live API 在 voice_name 欄位中支援下列 30 種語音選項:

Zephyr - 明亮
Kore - 堅定
Orus - 堅定
Autonoe - 明亮
Umbriel - 輕鬆
Erinome - 清晰
Laomedeia - 活潑
Schedar - 平穩
Achird - 友善
Sadachbia - 活潑
Puck:活潑
Fenrir:興奮
Aoede:輕快
Enceladus:輕柔
Algieba:柔和
Algenib:沙啞
Achernar:溫柔
Gacrux:成熟
Zubenelgenubi:隨和
Sadaltager:博學
Charon - 資訊豐富
Leda - 年輕
Callirrhoe - 輕鬆
Iapetus - 清晰
Despina - 流暢
Rasalgethi - 資訊豐富
Alnilam - 堅定
Pulcherrima - 積極
Vindemiatrix - 溫和
Sulafat - 溫暖

支援的語言

Gemini Live API 支援下列 24 種語言:

語言 BCP-47 代碼 語言 BCP-47 代碼
阿拉伯文 (埃及) ar-EG 德文 (德國) de-DE
英文 (美國) en-US 西班牙文 (美國) es-US
法文 (法國) fr-FR 北印度文 (印度) hi-IN
印尼文 (印尼) id-ID 義大利文 (義大利) it-IT
日文 (日本) ja-JP 韓文 (韓國) ko-KR
葡萄牙文 (巴西) pt-BR 俄文 (俄羅斯) ru-RU
荷蘭文 (荷蘭) nl-NL 波蘭文 (波蘭) pl-PL
泰文 (泰國) th-TH 土耳其文 (土耳其) tr-TR
越南文 (越南) vi-VN 羅馬尼亞文 (羅馬尼亞) ro-RO
烏克蘭文 (烏克蘭) uk-UA 孟加拉文 (孟加拉) bn-BD
英文 (印度) en-IN 和 hi-IN 組合 馬拉地文 (印度) mr-IN
泰米爾文 (印度) ta-IN 泰盧固文 (印度) te-IN

設定語音活動偵測功能

語音活動偵測 (VAD) 可讓模型辨識使用者何時說話。這是建立自然對話的必要條件,因為使用者隨時可以中斷模型。

當 VAD 偵測到中斷時,系統會取消並捨棄正在進行的生成作業。工作階段記錄只會保留已傳送給用戶端的資訊。接著,伺服器會傳送訊息來回報中斷情形。BidiGenerateContentServerContent接著,伺服器會捨棄所有待處理的函式呼叫,並傳送 BidiGenerateContentServerContent 訊息,其中包含已取消呼叫的 ID。

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,
        }
    }
}
      

後續步驟