本文档介绍了如何在 Live API 中配置合成语音回答和语音活动检测。您可以配置各种高清语音和语言的回答,还可以配置语音活动检测设置,以允许用户打断模型。
设置语言和语音
如需设置回答语言和语音,请按如下方式进行配置:
控制台
- 依次打开 Vertex AI Studio > 实时流。
- 在输出扩展控件中,从语音下拉菜单中选择一种语音。
- 在同一扩展控件中,从语言下拉菜单中选择一种语言。
- 点击 启动会话以启动会话。
Python
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", ), )
支持的语音
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 - 温暖舒适 |
支持的语言
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, } } }