このドキュメントでは、Gemini Live API で合成音声レスポンスと音声アクティビティ検出を構成する方法について説明します。さまざまな HD 音声と言語でレスポンスを構成できます。また、音声アクティビティ検出設定を構成してユーザーがモデルを中断できるようにすることもできます。
言語と音声を設定する
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 -- 明るい 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 は次の言語をサポートしています。
| 言語 | 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 メッセージを送信します。さらに、サーバーは保留中の関数呼び出しを破棄し、キャンセルされた呼び出しの ID を記載した BidiGenerateContentServerContent メッセージを送信します。
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, } } }