特定の話者の声を識別し、背景の声や環境ノイズを抑制する「Selective Attention Locking (SAL)」機能が Beta 版として追加されました。
声紋(Voiceprint)を登録することで、AI エージェントは、環境音などのノイズを聞き分け、ターゲットとなる話者にフォーカスし、よりクリアで集中した対話が可能になります。
当機能として、2 種類のモードが用意されています。
特定の話者にロックオンし、周囲の雑音を 95% 遮断するモードです。会話開始時の声で自動認識するか、事前に登録した声紋データに基づいてターゲットを特定し、騒がしい環境でもクリアな対話を実現します。
登録済みの声紋を基に話者を識別し、その ID を LLM に送信するモードです。誰が話しているかを特定しつつノイズを抑制します。ターゲット話者の ID は metadata 内の vpids フィールドを通じて通知されます。利用にはCustom LLMの実装が必要となります。
join API に新しく追加された sal パラメータで設定を行います。
{
"properties": {
...
"advanced_features": {
"enable_sal": true
},
...
"sal": {
"sal_mode": "locking",
"sample_urls": {
"speaker1": "https://example.com/speaker1.pcm"
}
}
...
}
}
※ 声紋ファイルの要件(フォーマット、サイズ、長さ等)や、各パラメーターの詳細な仕様については、API リファレンスをご参照ください。
https://docs.agora.io/en/conversational-ai/rest-api/agent/join
これまでは leave API により AI エージェントは即座に切断されましたが、新たに追加された farewell_config により、切断前に「IDLE」状態へ移行させることが可能になりました。
これにより、AI エージェントが別れの挨拶を完了してからチャンネルを退出するといった、丁寧な終了フローが実現できます。
ユーザーが AI の発話を遮る(割り込む)際の挙動を制御する turn_detection 設定に、新たなモードが追加されました。
「Keyword」モードは、あらかじめ指定した特定のキーワードが検出された場合のみ、AI が発話を停止する機能です。turn_detection.interrupt_keywords でキーワードを指定して利用します。
「Adaptive」モードは、AI が話している間、動的に音声継続の閾値を引き上げる機能です。これにより、ユーザーの相槌や環境音による「意図しない割り込み」を減らすことができます。
設定例:
join API にある turn_detection パラメータで設定を行います。
// Keyword Mode の設定例
{
"properties": {
...
"turn_detection": {
"interrupt_mode": "keyword",
"interrupt_keywords": ["stop", "wait"],
...
}
...
}
}
// Adaptive Mode の設定例
{
"properties": {
...
"turn_detection": {
"interrupt_mode": "adaptive",
...
}
...
}
}
ASR(自動音声認識)、LLM、TTS(音声合成)の各レイヤーで、選択できるプロバイダーが大幅に追加されました。
|
カテゴリ |
新規追加プロバイダー |
|
ASR |
OpenAI (Beta), Speechmatics, Google (Beta), Amazon Transcribe (Beta), AssemblyAI (Beta) |
|
LLM |
Groq, Amazon Bedrock |
|
MLLM |
Google Gemini Live |
|
TTS |
Rime (Beta), Fish Audio (Beta), Groq (Beta), Google (Beta), Amazon Polly (Beta) |
モニタリングと状態管理のために、以下の 3 つの Webhook イベントが追加されました。
なお、インバウンドおよびアウトバウンドコールの対応状況や詳細につきましては、Agora 社からの今後の発表をお待ちください。
v2.0 への移行に伴い、いくつかの API フィールド名称やインターフェースが変更されています。
従来の vad インターフェースは非推奨(Deprecated)となり、すべての設定項目が turn_detection フィールドに移行されました。
例:
字幕(Subtitle)関連の API において、transcription という単語が含まれるすべてのパラメータが transcript に統一されました。
既存の実装においてこれらのフィールドを使用している場合は、コードの修正が必要です。