配置语言和语音

本文档介绍了如何在 Gemini Live API 中配置合成语音响应和语音活动检测。您可以配置各种高清语音和语言的响应,还可以配置语音活动检测设置,以允许用户中断模型。

设置语言和语音

像 gemini-live-2.5-flash-native-audio 这样的原生音频模型可以在对话期间自然地切换语言。您还可以通过在系统指令中指定语言来限制模型所说的语言。

对于非原生音频模型(如 gemini-live-2.5-flash),您可以在 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 -- Bright
Kore -- Firm
Orus -- Firm
Autonoe -- Bright
Umbriel -- Easy-going
Erinome -- Clear
Laomedeia -- Upbeat
Schedar -- Even
Achird -- Friendly
Sadachbia -- Lively
Puck -- Upbeat
Fenrir -- Excitable
Aoede -- Breezy
Enceladus -- Breathy
Algieba -- Smooth
Algenib -- Gravelly
Achernar -- Soft
Gacrux -- Mature
Zubenelgenubi -- Casual
Sadaltager -- Knowledgeable
Charon -- Informative
Leda -- Youthful
Callirrhoe -- Easy-going
Iapetus -- Clear
Despina -- Smooth
Rasalgethi -- Informative
Alnilam -- Firm
Pulcherrima -- Forward
Vindemiatrix -- Gentle
Sulafat -- Warm

支持的语言

Gemini Live API 支持以下语言:

语言 BCP-47 代码
阿拉伯语(埃及语) ar-EG
孟加拉语(孟加拉) bn-BD
荷兰语(荷兰) nl-NL
英语(印度) en-IN 和 hi-IN 捆绑包
英语(美国) en-US
法语(法国) fr-FR
德语(德国) de-DE
印地语(印度) hi-IN
印度尼西亚语(印度尼西亚) id-ID
意大利语(意大利) it-IT
日语(日本) ja-JP
韩语(韩国) ko-KR
马拉地语(印度) mr-IN
波兰语(波兰) pl-PL
葡萄牙语(巴西) pt-BR
罗马尼亚语(罗马尼亚) ro-RO
俄语(俄罗斯) ru-RU
西班牙语(美国) es-US
泰米尔语(印度) ta-IN
泰卢固语(印度) te-IN
泰语(泰国) th-TH
土耳其语(土耳其) tr-TR
乌克兰语(乌克兰) uk-UA
越南语(越南) vi-VN

配置语音活动检测

语音活动检测 (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,
        }
    }
}
      

后续步骤