LoginSignup
0
0

More than 5 years have passed since last update.

Amazon Pollyによる音声メッセージを時間帯ごとに制御してみた

Posted at

以前にこちらの記事で、GravioのAmazon Pollyコンポーネントを使って温度をアナウンスさせました。

今回は、Amazon Pollyの音声メッセージを時間帯ごとに制御してみました。
BranchTimeCaseコンポーネントを使用して、6:00~10:00までは「おはようございます」、17:00~21:00は「お疲れ様でした」と、あらかじめ決めた時間帯に適した音声が流れる動作を作成しました。

image.png

使用したもの

ハードウェア

・Windows 10 PC(バージョン1809)

ソフトウェア

Gravio
 -Gravio Studio Ver.2.1.2098.0
 -Gravio Server Ver.2.1.2301.0

動作(アクション)の作成

アクションカードを作成し、動作(アクション)を設定していきます。
アクションは、以下の流れで設定します。

  1. CreateRecordコンポーネントで、条件分岐に使用するレコードデータを作成
  2. BranchTimeCaseコンポーネントに分岐条件を指定
  3. BranchTimeCaseコンポーネント内にAmazonPollySpeechコンポーネントを追加し、出力する音声を設定

まずは、条件分岐に使用するレコードデータを作成します。

CreateRecordコンポーネントの設定

ステップを追加し、CreateRecordコンポーネントを選択します。
追加したCreateRecordコンポーネントをクリックし、ステップ出力を選択します。
右下のウィンドウの右上に表示される、'+'をクリックし、フィルターに使用するステップ出力変数を追加します。
ステップ出力変数は、実行された結果を次のコンポーネントへ送信、またはファイルやデータ送信先へ出力する変数です。
今回は次に設定するBranchTimeCaseコンポーネントで条件分岐に使用する現在時刻データを指定します。
image.png
追加された変数をダブルクリックし、それぞれに下記内容を設定します。

出力フィールド名 タイプ
datetime(任意) DateTime Now()

現在の時刻はNow関数を使用します。式には、Now()を入力します。

image.png

image.png

以上で、条件分岐に使用するレコードデータを作成する設定が完了しました。

Branchコンポーネントの設定

次にBranchコンポーネントを追加します。ステップを追加し、Branchコンポーネントを選択します。
追加後、コンポーネントをダブルクリックし、Branch内容の設定画面を表示します。
image.png

Branch内容の設定で使用できるコンポーネントは以下の2つです。

コンポーネント種類 機能
BranchCase 条件式による分岐
BranchTimeCase StartとEndの時間を設定することで分岐

Branch内容の設定画面では、デフォルトでBranchCaseコンポーネントが追加されています。
今回はBranchTimeCaseコンポーネントを使用するため、BranchCaseコンポーネントを削除します。
BranchCaseコンポーネントをクリックし、コンポーネントの右下に表示されるゴミ箱アイコンをクリックすることで削除されます。
image.png

削除したあと、"ステップの追加"をクリックし、BranchTimeCaseコンポーネントを選択します。
image.png

BranchTimeCaseコンポーネントが追加されました。

BranchTimeCaseコンポーネントの設定

追加したBranchTimeCaseコンポーネントの分岐条件を設定します。
BranchTimeCaseコンポーネント>プロパティの順でクリックし、下記内容を設定します。

項目 設定内容
target datetime
Start time 6:00
End time 10:00

image.png

以上で、分岐条件の設定が完了しました。次に設定した条件に一致した場合のアクションを設定します。

AmazonPollySpeechコンポーネントの設定

BranchTimeCaseコンポーネントをダブルクリックし、条件一致時のアクション設定画面を表示します。
"ステップの追加"にて、AmazonPollySpeechコンポーネントを選択します。
AmazonPollySpeechコンポーネントをクリックし、プロパティに下記項目を設定します。

項目 設定内容
基本プロパティ設定 □(チェックなし)
AWS Access Key AWSで取得したアクセスキー
Aws Secret Key AWSで取得したシークレットキー
AWS Region 任意のRegion
Voice Mizuki、もしくはTakumi(日本語対応がこの2つです)
Text to speech おはようございます。

image.png

なお、アクセスキーの取得方法については、こちらの記事を参考にしています。
Amazon Pollyで投稿記事に音声を付けてみた

BranchTimeCaseコンポーネントの追加

Branch内容設定画面に戻り、BranchTimeCaseコンポーネントを追加し、17:00~21:00の場合に動作するアクションを設定します。

設定方法は、7:00~10:00の場合と同じように実施します。
先程の設定と異なる点は、以下の3点です。

相違点 設定内容
BranchTimeCaseコンポーネントのStart time設定 17:00
BranchTimeCaseコンポーネントのEnd time設定 21:00
AmazonPollySpeechコンポーネントのText to speech設定 お疲れ様でした。

以上ですべての設定が完了しました。

動作確認

時間による分岐が動作しているか確認するために、右上の”▷”をクリックし確認します。
実行すると、コンソール画面が表示され実行結果を確認できます。

17:00~21:00の条件に一致する17:18に実施した場合は、「お疲れ様でした。」という音声が再生されます。
コンソール画面では、Branchコンポーネントが実行された後、AmazonPollySpeechコンポーネントが実行されています。

image.png

設定した条件に一致しない12:05に実行した場合は、音声は流れません。
コンソール画面でも、Branchコンポーネントが実行された後、AmazonPollySpeechが実行されていません。
image.png

あとがき

今回作成したアクションと、Gravioレンタルデバイスの人感センサーを利用することで、設定した時間に合わせた人感検知による音声案内が可能になります。

人感センサーとアクションの設定については、こちらの記事をご参照ください。
【Qiita記事】人感センサーライトを作ってみた(台所用)

メッセージ内容や、時間帯を自由に設定できるので、様々な応用例を今後考えていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0