スタッフブログ
スマートスピーカーのアプリを自分で開発すると超楽しいぞ!!

スマートスピーカーのアプリを自分で開発すると超楽しいぞ!!

megaya
ライター: megaya
本職はWebエンジニアです。家出をしてママチャリ日本一周したあとに気づいたらライター活動もやるようになっていました。

Alexa(アレクサ)を買ったぞ!

声で指示して音楽が流せるぞ! ラジオが流せるぞ!!

テレビやエアコンがリモコンなしで操作できるぞ!!!!

SwitchBotなどを利用するとスマートスピーカー対応でない家電も操作できる

うおおおお! スマートスピーカー最高!!!!!

使う必要がないのに「Alexa おはよう」「Alexa 今日もかわいいね」なんて話しかけてしまう。機械じゃない。家族だ!!!

……と、買ってから1カ月くらいは愛してやまなかったのだけれど、今や高級な目覚まし時計に成り下がってしまった。家族? 機械ですよ?

音楽やラジオを聴くのはパソコンで十分だし、家電はリモコンで操作したほうが手間が少ない。出かけたときに外からエアコンをつけられるという利点はあるが、フルリモートでほとんど家にいるため、あまり活用できていない。

AlexaのスキルはWeb上で作成できる

そこで、だ!!

せっかく買ったスマートスピーカーをもっと活用するために、自分でAlexaのスキルを作ってみようと思った。( Alexaではアプリのことを「スキル」と呼ぶ)

開発のやり方さえ覚えてしまえば、発想次第でAlexaの活用方法が無限大に広がる。文鎮となってしまったAlexaをまた愛そうではないか。つまりこれは愛を取り戻すための記事でもある。

Alexaスキル開発者向けの「Alexa Skill Blueprints」(https://blueprints.amazon.co.jp/

調べてみるとプログラミングする以外に、「Alexa Skill Blueprints」を利用すると簡単に作れることもわかった。Webでポチポチっと入力していけばいいだけなので、小学生でも作ることができる。これまじで便利なのでおすすめ。

さらに、Alexaには定型アクションという機能があり、「アラームが止まる」→「音量が下がる」→「天気予報を読む」のような感じで、パズルのように行動を組み立てることができる。

自作のスキルと定型アクションを組み合わせれば、たいていのものはだいたい作れそうだ。

ということで、今回は簡単にAlexa用のスキルをいくつかつくってみたので、それらを紹介していこうと思う。

  • 自分のツイートを読み上げる「黒歴史めざまし時計」
  • 自己肯定感をあげまくる「俺を褒めてくれ」
  • 音声でチャットに投稿できる「声メモ」
  • 最後のオマケ:この記事の担当編集にAlexaで気持ちを伝えてみた

自分のツイートを読み上げる「黒歴史めざまし時計」

僕は朝がとことん弱い。時計、スマホ、Alexaと3つの目覚ましを利用している。どうしても起きなければいけないときは、テレビのオンタイマーも使っている。たまにそれでも起きれないときがあるから、自分自身が怖くなる。

ということで「起きなければ恥ずかしい思いをする目覚まし」をつくることにした。大きい音ではなく心を動揺させて起床する作戦だ。

目覚ましに利用するのは、デジタルタトゥー量産機ことTwitterだ。過去のツイートは、大抵が恥ずかしさの塊だ。

おもしろくもないうえに嫌な気分にもならない0リツイート0いいねのツイートが山ほどある。例題として自分のツイートをのせたが、この記事に出すのも恥ずかしすぎるほどスベっている。Alexa 恥ずかしいときに入るための穴を掘ってくれ……。

そんな発想からつくったスキルが「黒歴史めざまし時計」だ。時間になったらAlexaが自分のツイートを垂流しで読みあげていく。

実際に打ち込んだコードがこちら

雑なコードだけれど、こんな感じで簡単に実装できる。Alexa独自のコードは僕自身もあんまりよくわかっていないが、要はツイートを取得して、直近のものから遡って読み上げていくだけのシンプルなつくりだ。

このスキルを定型アクションで「朝8時になる」→「黒歴史めざまし時計を起動させる」という感じで組み合わせれば完成だ。

しかし、実際に使ってみてわかったが、3日目も経てば慣れてしまって起きられなくなる。「誰かにツイートを聞かれてしまう」という危機感がないので、恥ずかしさが足りない。一緒に誰かが住んでいたら、もっと効果が出たのかもしれない。

関係ないけれど、コードがたれていると、入院患者の写真にしか見えないな。

ということで、さらにパワーアップさせた黒歴史目覚まし時計のバージョン2として「起きることができなければ勝手に恥ずかしいツイートが投稿される」というアイデアも思いついたのだが、まだ怖くて使っていない。

ちなみに↑の画像に書いてある「ギターも弾いたことないのに漫画の影響で高校受験をやめようとしたことがあります」は実話だ。自分の生命を燃やしながら、この記事を書いている。

自己肯定感をあげまくる「俺を褒めてくれ」

Alexaにはデフォルトで褒めてくれる機能もあるのだが、「良い声ですね」「今日も素敵です」など、誰にでも当てはまることしか言ってくれない。

もちろんそれだけでも十分かもしれないが、やはりガチの褒め言葉をもらって自己肯定感をあげまくりたい。承認欲求という名の海に溺れたいのだ。

ということで、2つ目は極限に自分を褒めてくれる「俺を褒めてくれ」を作ることにした。

「機械にリアルな褒め言葉はムリじゃない?」と思うかもしれない。

しかし、そこはぬかりない。僕は普段から「褒められたことメモ」をつくっていて、過去のうれしかった発言をメモするようにしている。落ち込んだときに見るとどちゃくそにテンションあがる。今回はこの文章をAlexaにランダムで言ってもらおうと思う。

今回はプログラミングでつくるのではなく「Alexa Skill Blueprints」(https://blueprints.amazon.co.jp)を利用した。フォーム入力するだけで、スキルを作ることができるため、開発知識が一切必要ない。簡単にスキルを作ることができて超楽しい。

作ったスキルを1週間に1回くらいのペースでお昼に流すようにした。これで自動的に自己肯定感をアゲアゲにすることができる。

ああ、気持ちいい…! これだから褒められることはやめられねぇぜ…! もっと刺激の強い褒めをくれ…! ああ、もっと強い刺激のあるやつをくれぇ……!!!!

音声でチャットに投稿できる「声メモ」

最後はAlexaに話しかけた言葉をそのままチャットに投稿できるメモアプリだ。これはかなり実用的で重宝している。

僕の場合は自分の声をSlackに投稿しているが、APIさえ使用できればLINEでもChatworkでも使いやすいアプリでOKだ。

実際に打ち込んだコードはこちら

ちょっとだけ技術的な話をすると、Alexaが発した言葉を取得するためにはインテント(※1)を設定する必要がある。{memo}とスロット(※2)を設定しておくと、handlerInput.requestEnvelope.request.intent.slots.memo.valueでAlexaに言った自分の言葉を取得できるようになる。

※1 Alexaスキルの機能、および実行するアクションのこと
※2 Alexaスキル内で用いる変数


最初にこれを作ったときは「スマホでメモしたほうが早いかな」と思っていた。しかし、使ってみると意外にもよかった。

アイディアや買い物した方がいいものなどは急に思いつくことがある。特に、寝ようとしているときにふと思いついたものをメモするときが楽だ。スマホだと、バックライトで目が冴えてしまうのが難点だったので、声だけでメモできるのは助かっている。

あとメモ帳に書くよりも、仕事で使うチャットツールに情報が集約されているほうが目にする確率が高い。このスキルは本当に作っておいてよかったし、まだまだ改良の余地がありそうだ。


最後のオマケ:この記事の担当編集にAlexaで気持ちを伝えてみた

スキル開発は思ったよりも簡単だったし、なによりもつくってすぐにAlexaがしゃべるという感動があっておもしろかった。

スキルを覚えさせていくのは、スマートスピーカーを使っているという状態から、スマートスピーカーを育てているような感覚になってくる。再びAlexaを愛せる日がまたやってきたのだ。

今回つくったスキルもいずれ使わなくなって、再びAlexaが文鎮化する可能性もある。ただし、「Alexaのスキルを自分でつくれる」という選択肢ができたのは大きい。使い道が無限大に広がった。アイディア次第でなんでもできる。

定型アクションやAlexa Skill Blueprintsは開発知識なんてまったく必要ないので、使ったことのない人は一度試してみてほしい。

今この記事を書いている途中なのだけれど、どうしても担当編集に伝えなければならないことがある。担当編集もAlexaを持っているため、せっかくならばスキルを作って僕の言葉を伝えたいと思う。

そのスキルを使ってもらって、担当編集からの感想をもらって終わりにしたいと思う。

(担当編集注)megayaさんから届いたのは、「すいません!本当にすいません!原稿が遅れています!本当に申し訳ありません!!!」と原稿の提出が遅れたことを詫びるメッセージでした。直接言ってくれ!

(編集:ノオト


おすすめ記事


191 件のコメント
42 - 91 / 191
お疲れ様です。
ざっと理解!
AIもこんな感じ、、、入力の積み重ね。
、、、でしょうか ? !
文章の作り方が上手だと思いました。面白かったです。😀
スマホアプリを開発していますが、こういうソースコードを見るとワクワクします\(^o^)/
スマートスピーカーでもいろんなことができるんですね。びっくりしました(^o^)丿
出始めの頃にどんなだろうと安いの(エコードットとGoogle Homeミニ)を買ってみたことがありました。
ミニとクロームキャストを連動させてテレビでYouTube動画再生 が一番使った機能だったなぁ。
便利に楽しく使える人が羨ましい。
スマートスピーカ使ってみたいです。
こんなことが出来るとは。すこい!
ハイテク難しそう…もうついていけないす(´Д⊂ヽ
ちょっと,ついていけない。けど,おもしろそう
Alexaにプログラミングでスキルを追加できることを初めて知りました。
私自身はプログラミングのスキルはないですが、興味が湧いてきました。
スゴイ!便利ですね~。
へぇー、いろいろできるのね!
アレクサに自由な言葉を話させることができるなんて、よいこと教えてくれてありがとうございます。今度作って使ってみようとおもいました。
黒歴史目覚まし時計欲しい🕰
ブラックユーモアで誰かにプレゼントしたい🎁
すごいとは思うんだけど、これをやってる時間も無いんだよなー。
お疲れ様でした。
確かにTweetを後で読み返されるのは、しんどい!
でも、慣れちゃうんですね!
人間って、強いのか?弱いのか?分かんないね!?
凄い色々できるんですねー‼️
使いこなしたい‼️
suha
suhaさん
レギュラー
面白いアイデアですね😆
長〜い!
興味ある人にはいいが…私には無縁(笑)
素敵な記事をありがとうございます(#^.^#)
男性にはぬいぐるみロボットは向かないので いいですね!

私もぬいぐるみより自分の好きなようにカスタマイズできるのがいいです。
凄い! いろんな事が出来るのですね🎵
楽しそう!でも私には無理
アレクサは何匹(何人)もいますが、こんな事もできるらんだ❣️
面白そう。
退会済みメンバー
退会済みメンバーさん
ビギナー
私もほしい。使ってみたいです。
これは面白いですね。(^^)
特に「声メモ」は実用的だしちょっとしたアイデアを記憶しておくのに良いと思いました。
情報ありがとうございます。
詳しくありがとうございます!
こんなのを簡単に作れる人間になりなかった
なるほどですね!!!
便利な時代になりましたね〜
黒歴史目覚ましは遠慮したいですね
でも何かと楽しそう😄
題名を見てマッドマックスの再来を確信しましたよ〜(笑)

前回に引き続きやっている事が凄くツボで笑えるし、参考になります。今回も最高でした!
にしても黒歴史自動ツイートは危険ですね〜(^^)
アレクサ あいしてる
おぉ!アレクサのスキルって自作できるんですね。外部からのアクセスはセキュリティが気になるけど、やってみよう。
なに作ろうかなぁ?こういう時発想が貧弱な自分が悲しい。
面白そう〜♪
これから超高齢化社会で独り暮らしの方が使いこなせれば色々役立ちそうですね!
ためになった!勉強になった!ありがとうございます!
知らない世界を垣間見れてワクワクしました
勉強になりました。色々と教えられます。ありがとうございました。
自分で開発できるものなんですか?
チャレンジしてみたいです。
Alexaとの愛を取り戻す壮大な話ですね。
便利なのは分かるけどハードルが高く感じるなぁ。
コメントするには、ログインまたはメンバー登録(無料)が必要です。