本文說明如何在 Live API 中設定合成語音回應和語音活動偵測功能。你可以設定以各種 HD 語音和語言回覆,也可以設定語音活動偵測設定,允許使用者中斷模型。
設定語言和聲音
如要設定回覆語言和語音,請按照下列步驟操作:
控制台
- 開啟 Vertex AI Studio > Stream realtime。
- 在「輸出」展開器中,從「語音」下拉式選單選取語音。
- 在同一個展開器中,從「語言」下拉式選單選取語言。
- 按一下「 開始工作階段」即可開始工作階段。
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, } } }