公開日:2017-11-14
前回 kintone と Google Home の連携について書かせていただいたのですが、いよいよ今週には Amazon製のスマートスピーカー “Amazon Echo” の国内販売開始が予定されています。米国では既に多くの実績・利用例があり、サンプルが多く出ていますので、今回は既存のサンプルに少し手を加えて kintone アプリに入っているデータを参照するようにしてみようと思います。
使用するサンプルは https://github.com/alexa/skill-sample-nodejs-audio-player/tree/mainline/multiple-streams 、”Audio Player” です。これを Amazon Echo で使われている仕組み “Alexa” が動作するように US Amazonのアカウントでサインインした Fire タブレットで動かします。
と言っても、README.md に書かれている通りに作業していけば何の問題もなく動きます。
注意が必要なのは、Alexa 上で動かす機能である “Skill” を作成する画面が既に日本語化されており、日本語対応スキルも作成可能になっているのですが、Fire タブレットでは(まだ)動かせないことです。泣く泣く “English (U.S.)” で スキルを作成します。

Lambda Function を deploy して、スキルの動作を確認できたら、kintone アプリに対応させていきます。
再生する mp3 ファイルを指定している箇所は
https://github.com/alexa/skill-sample-nodejs-audio-player/blob/mainline/multiple-streams/js/audioAssets.js
ですから、この代わりに kintone アプリのレコードを読むようにすれば良いでしょう。以下のように title と url の 2つのフィールドを持つアプリを作成します。

audioAssets.js の代わりに kintone の REST API を用いて複数レコードを取得するようにします。

これだけでは寂しいので、Alexa が話す内容の日本語化も進めていきます。スキルの対応言語を “English (U.S.)” で作成したため、日本語を話させるには と で日本語を囲う必要があります(SSMLタグ)

非常にたどたどしい日本語で応答した後、kintone アプリで指定した mp3 を再生してくれます。

Amazon Echo 発売後はスムーズに日本語を話してくれるのでしょうか。kintone と組み合わせて、あんな事やこんな事も試してみたいですね。
投稿者プロフィール
