Alexa gadgets toolkitで始まる
Alexaスキルの世界
2020-01-18 【VUI FUKUOKA x AAJUG】2020年 Alexaスキル開発を始めよう!
Masami Yamate
about me
山手 政実 Masami Yamate
株式会社 LIFULL
LIFULL Home s iOSエンジニア
人との対話に近づけるため、Alexaを技術目線で日々Hack中....
前職:とある公共交通系サービスの会社
Alexa日本サービス開始に合わせて、1人でスキルを開発し、サービスイン
2年ほど交通情報系Alexaスキルを運営した経験あり
長丁場お疲れ様です!
ここからは、Deepな話です
背景画像は、Freepik.comのリソースを使用しました。
Alexaスキル開発の
もう一歩踏み込んだお話です
背景画像は、Freepik.comのリソースを使用しました。
Alexaを拡張するデバイスたち
• スマートホームデバイス
• Alexa Gadget
US Amazon - Echo Buttons (2 buttons per pack) より
スマートホームデバイス
• ロボット掃除機やIoT対応LED電球など
• Alexaとのやり取りはWiFiでデバイスクラウド越しに行う
【メリット】
• カスタムスキルのような呼び出しが不要
【デメリット】
• アカウントリンクが必要
• 独自のデバイスクラウド運用が必要
Alexa Gadget (1)
• Echoデバイスの機能拡張用のアクセサリー
いわばEchoデバイスの子機
• EchoデバイスとはBluetooth経由で接続
【メリット】
• デバイスクラウドの運用が不要
• アカウントリンクが不要
【デメリット】
• カスタムスキルの呼び出しが必要
Alexa Gadget (2)
Alexa Gadgets Toolkit
• Alexa Gadgetを開発するためのツール
+ =
実際、何ができるの?
A.Echoデバイスと連動してガジェットを操作できる
1. Alexaネイティブ機能に合わせてガジェットを制御する
2. Alexaスキルからガジェットを制御する
オリジナルの Echo Buttonを作ったり…
再生中の音楽のテンポデータを使って
踊る人形を作ったり…
Alexaネイティブ機能に合わせて制御する
• ウェイクワードやタイマーなどのAlexaネイティブ機能と連動した
ガジェットをつくることができる
Alexaスキルからガジェットを制御する
• カスタムスキルと組み合わせられるガジェットを開発できる
スキル開発者は何ができる?
スキルからガジェットを動かしたり、ガジェットから受け取った
情報を元にAlexaに発話させることが可能になった
近くにサンタクロースが
いるみたいです!
※ゲームスキルが起動している状態として
サンタクロースの
現在位置のつぶやき
色々ゴニョゴニョする
DEMO
少し技術的なお話に
イベントフロー(1) ‒ イベント送付のみ
Alexa 〇〇を開いて
• ユーザーがAlexaに対してカスタムスキルを開くように発話する
イベントフロー(2) ‒ イベント送付のみ
(考え中…)
• 発話を元にカスタムスキルの処理を行う
イベントフロー(3) ‒ イベント送付のみ
今日の天気は…!
• 処理を元に発話させ、ガジェットにイベントを送付
\イベントダヨ!/
イベントフロー(4) ‒ イベント送付のみ
• イベントを元にガジェット側で処理を行う
\晴れだからLEDを青にするよ!/
イベントフロー(1) ‒ イベント監視含め
Alexa 〇〇を開いて
• ユーザーがAlexaに対してカスタムスキルを開くように発話する
イベントフロー(2) ‒ イベント監視含め
• 初回のレスポンスを発話させる
照度センサーで計測します
イベントフロー(3) ‒ イベント監視含め
• 発話と同時にガジェットにイベントを送付
• ガジェットから送付されるイベント監視を開始
\監視スルヨ!/
\計測シテネ!/
イベントフロー(4) ‒ イベント監視含め
• ガジェット側で処理を行う
\考え中…/
イベントフロー(5) ‒ イベント監視含め
• ガジェット側からイベントを送付
\イベントダヨ!/
イベントフロー(6) ‒ イベント監視含め
• 受け取ったイベントを元に発話させる
\知ってるわ…./
明るいよ!
セッション持続時間(1)
Alexa Gadgets Toolkitにもセッション持続時間は存在する
ü 通常:8秒
ü Audio tag:240秒
ü Alexa Gadgets Toolkit:90秒
セッション持続時間(2)
• ガジェットにイベントを送付するだけ
8秒のセッション時間
• ガジェットのイベントを監視する
90秒のセッション時間
Alexa Gadgets Toolkitで何が変わるか
• Alexaを能動的に発話させることが出来る
• 音・視覚以外の体験要素を組み込める
VUIの価値、魅力をより高めたスキルを実現できるキッカケに
辛いところも…
• ハードを提供出来ないとストア公開スキルにできない
個人開発者にはハードルが高い
• カスタムスキル + ガジェット側の実装コスト
APLも合わせて実装すると…より大変!!
辛いところも…
• スネークケースとキャメルケースが混在
- Node.js Send Directive -
{
type: 'CustomInterfaceController.SendDirective',
header: {
name: Custom.ChinBell,
namespace: Start
},
endpoint: {
endpointId: endPointId
},
payload: {}
}
- Python Handler method -
def on_custom_chinbell_start(self, directive):
# なんか色々やる
スキルを公開するには
• スキルとガジェットのソースコードを公開する
利用者に環境などをセットアップしてもらう
現状だと週末Hack向けのおもちゃとしか…
スキルを公開するには
• スキルとガジェットのソースコードを公開する
利用者に環境などをセットアップしてもらう
現状だと週末Hack向けのおもちゃとしか…
広がるAlexaスキルの世界
• カラーセンサー + Alexaスキル
盲目の方でも世界に散らばる色を楽しめるスキル
• フルカラーLED + ジオラマ + Alexaスキル
時間や天気などに合わせてジオラマと環境音を楽しむスキル
などなど…
おわりに
Alexa Gadgets Toolkitによって、音声を主軸にした
体験をより広げることが可能になりました
VUIの体験を音声だけでデザインする以外にも
人間が持つ五感を広げつつ新しいサービスを提供していきませんか?
宣伝
技術書典 8 で、Alexa合同誌を出します
Alexa Gadgets toolkitの入門編執筆しました!
※多分問題なければ新刊でます
Fin
\オワリダヨ!/

Alexa gadgets toolkitで始まるAlexaスキルの世界