Amazon Lex でボット応答前の待ち時間にフィラー音を再生できるようになりました
はじめに
Amazon Lex で、ボットが応答を返すまでの待ち時間に短いメロディーやタイピング音を再生する Audio Filler を利用できるようになりました。
Audio Filler は、ユーザーの発話が終わってからボットの応答が始まるまでの間に、短いバックグラウンド音声を再生する機能です。
Amazon Connect から Lex ボットを呼び出す通話フローでは、発信者の発話後に Lex 側の処理やバックエンド連携で少し待ち時間が発生することがあります。Audio Filler を使うと、その無音時間にフィラー音を再生し、発信者に処理中であることを自然に伝えやすくなります。
Audio filler plays brief background audio, such as a light melody or soft keystrokes, during the pause between the end of a user's utterance and the start of the bot's response.
Audio Filler は、ユーザーの発話終了からボットの応答開始までの間に、軽いメロディーや柔らかいキーストローク音のような短いバックグラウンド音声を再生します。
https://docs.aws.amazon.com/lexv2/latest/dg/customizing-speech-audio-filler.html
今回確認した時点では、日本語ロケール Japanese (Japan) / ja_JP と東京リージョン ap-northeast-1 は speech-to-speech に対応していなかったため、Audio Filler は利用できませんでした。日本語の Lex ボットや東京リージョンの Lex ボットへそのまま適用できる機能ではない点に注意してください。
本記事では、Amazon Connect から Lex ボットを呼び出す通話シナリオを想定し、Amazon Lex コンソールで Audio Filler を設定する方法と、設定時に確認しておきたいポイントを紹介します。
Audio Filler とは
Audio Filler は、音声会話における「待ち時間」を埋めるための機能です。
Amazon Connect のコンタクトフローから Lex ボットを呼び出す構成では、発信者が発話したあとに、Lex 側で以下のような処理を行う場合があります。
- Amazon Connect AIエージェントによる回答生成
- Lambda コードフックでの処理
- 外部 API を使った注文状況や予約状況の確認
- バックエンドシステムからのデータ取得
音声通話で数秒の無音が発生すると、発信者は「音声が途切れたのか」「処理中なのか」を判断しにくくなります。
Audio Filler を使うと、Lex が応答を準備している間にメロディーやタイピング音を再生できます。これにより、発信者に対して「処理中であること」を音声で自然に伝えやすくなります。
ドキュメントでは、起動時点では speech-to-speech interactions をサポートし、unifiedSpeechSettings が設定されたボットロケールで利用できると説明されています。
At launch, audio filler is available for bot locales that support speech-to-speech interactions and have unifiedSpeechSettings configured. Support for additional conversation modes will roll out over the next several months.
起動時点では、Audio Filler は speech-to-speech interactions をサポートし、
unifiedSpeechSettingsが設定されたボットロケールで利用できます。追加の会話モードへの対応は、今後数か月かけて展開される予定です。https://docs.aws.amazon.com/lexv2/latest/dg/customizing-speech-audio-filler.html
そのため、すべてのリージョン、ロケール、会話モードで利用できる機能ではありません。利用する環境が speech-to-speech に対応しているかは、事前に確認が必要です。
利用できるフィラー音
Amazon Lex では、7種類の組み込みフィラー音が用意されています。
| 種類 | フィラー音 | API で指定する値 |
|---|---|---|
| Melody | Chipper Chime | MELODY_CHIPPER_CHIME |
| Melody | Curious Crawl | MELODY_CURIOUS_CRAWL |
| Melody | Rising Ripple | MELODY_RISING_RIPPLE |
| Melody | Patient Ping | MELODY_PATIENT_PING |
| Melody | Pondering Pong | MELODY_PONDERING_PONG |
| Typing | Kinetic Keys | TYPING_KINETIC_KEYS |
| Typing | Quiet Qwerty | TYPING_QUIET_QWERTY |
ドキュメントでは、Amazon Lex コンソールの Play audio preview ボタンから、保存前に各フィラー音を試聴できると説明されています。
Use the Play audio preview button in the Amazon Lex V2 console to hear each option before you save it to a bot locale.
Amazon Lex コンソールの
Play audio previewボタンを使用すると、ボットロケールへ保存する前に各オプションの音を確認できます。https://docs.aws.amazon.com/lexv2/latest/dg/customizing-speech-audio-filler.html#audio-filler-types
Amazon Connect の通話で利用する場合、発信者が耳で聞く音になります。ボットの用途や会話の雰囲気に合うものを選ぶのがよさそうです。
例えば、業務システムの照会中であればタイピング音、少し明るい印象にしたいセルフサービスであればメロディー系を試す、といった選び方ができます。
設定できるタイミングパラメータ
Audio Filler では、再生する音の種類だけでなく、いつ再生を始めるか、最低どのくらい再生するか、ボット応答までにどのくらい間を空けるかを調整できます。
| 画面上の項目 | API パラメータ | 説明 |
|---|---|---|
| Start delay | startDelayInMilliseconds |
ユーザーの発話終了後、Audio Filler の再生を開始するまでの待ち時間 |
| Minimum play duration | minimumPlayDurationInMilliseconds |
Audio Filler が再生開始された場合に、ボット応答の準備ができていても最低限再生する時間 |
| Response buffer | responseDeliveryDelayInMilliseconds |
Audio Filler の再生終了後、ボット応答を開始するまでに入れる待ち時間 |
Start delay を短くすると、応答までの待ち時間が短い場合でもフィラー音が再生されやすくなります。一方で、応答がすぐ返るボットでは、頻繁にフィラー音が入ることで会話テンポが悪く感じる可能性があります。
Minimum play duration は、Audio Filler が再生開始されたあとに最低限再生する時間です。ボット応答の準備がこの時間より早く完了していても、設定した時間までは Audio Filler が再生され、その後にボット応答へ移ります。
そのため、Audio Filler は、ボット応答が準備できた瞬間にフィラー音を即停止して、ただちにボット応答へ切り替える挙動ではありません。Minimum play duration を長くしすぎると、Lex 側では応答を開始できる状態になっていても、発信者には応答開始が遅れて聞こえる可能性があります。
Response buffer は、Audio Filler の再生終了後、ボットの音声応答を開始するまでに入れる短い待ち時間です。API では responseDeliveryDelayInMilliseconds として指定します。
Audio Filler とボット応答が連続して再生されると、音の切り替わりが不自然に聞こえる場合があります。Response buffer を設定することで、Audio Filler の終了後に少し間を空けてからボット応答を開始できます。
値を大きくすると、Audio Filler とボット応答の間に無音時間が長く入ります。そのため、切り替わりを自然にする目的で使いつつ、長くしすぎないように実際の通話で確認するのがよさそうです。
コンソールで設定してみる
今回は、Amazon Lex コンソールで言語を追加し、Audio Filler を有効化してみます。
検証では、us-east-1 リージョンの Amazon Lex コンソールで、English (AU) のロケールを例にしています。リージョンやロケールは例です。実際に利用する場合は、speech-to-speech に対応しているリージョンとロケールを選択してください。
言語を追加する
Amazon Lex コンソールで対象のボットを開き、言語English (AU)を追加します。

Enable audio filler を有効にする
Enable audio filler を有効化します。

Enable audio filler を有効化し、Audio type と Play audio preview が表示されている例

Audio type でフィラー音を選択している例
画面上では Enable audio filler と表示されています。API では audioFillerSettings に対応する設定です。
この画面では、Audio type の選択欄と Play audio preview も確認できます。
実際にプレビューで聞いてから選択するのがよさそうです。
Amazon Connect から呼び出す場合の使いどころ
Audio Filler は、Amazon Connect のコンタクトフローから Lex ボットを呼び出し、Lex 側の応答までに数秒の待ち時間が発生しやすい構成で便利です。
例えば、以下のようなケースです。
- Lex ボットが Amazon Connect AIエージェントの回答生成を待つ
- Lex の Lambda コードフックで外部 API を呼び出している
- 注文状況や予約状況など、バックエンドシステムの確認に時間がかかる
- 発信者に「処理中であること」を音声で自然に伝えたい
一方で、ほとんどの応答がすぐ返るボットでは、Audio Filler を有効にしても再生される機会が少ない可能性があります。また、短い待ち時間でも毎回フィラー音が再生されるような設定にすると、通話のテンポが悪く感じる場合があります。
特に Minimum play duration は、Audio Filler が開始された後の最小再生時間です。応答が早く準備できるケースでも、設定した時間までは Audio Filler が再生されるため、Amazon Connect の通話で実際に聞いたときの待ち時間も確認しておくとよさそうです。
まとめ
Amazon Lex でボット応答前の待ち時間にフィラー音を再生できるようになりました。
Audio Filler を使うと、ボット応答前の無音時間にメロディーやタイピング音を再生できます。
Amazon Connect から Lex ボットを呼び出す通話フローで、外部 API 呼び出しや Amazon Connect AIエージェントの回答生成などに時間がかかる場合に便利です。
設定は Amazon Lex コンソールから行え、Enable audio filler を有効化して Audio type を選択します。Play audio preview で保存前に音を確認できる点も便利です。
ただし、日本語ロケールと東京リージョンでは今回利用できませんでした。また、Audio Filler が開始されると Minimum play duration の時間は再生されるため、応答開始の遅れにならないよう実際の通話で確認しておくとよさそうです。







