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