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

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

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 件のコメント
142 - 191 / 191
アレクサいいですね
デイリーポータルZでmegayaさんの記事が面白かったのを覚えています。
mineoのスタッフブログにも寄稿されていたんですね~!
次の記事も楽しみにしています!
   なるほど。
ありがとうございました。

   (ノζ _ ヘ ξ)
いろんな可能性が見えました
目から鱗ですね!
私も研究してみます🧪😊
楽しそう。私もやってみます。
退会済みメンバー
退会済みメンバーさん
ビギナー
難易度高めだな😅
アレクサ欲しくなりました
参考にします。
テレワーク中に勝手にしゃべり出しそうで恐い・・・
スピーカー大事ですよね!
一人暮らしには、いいかも!
最近本体とスキルだけで、できることが多くなり、なかなか使えるようになった気がしています。
プログラミングはやってみたいと思うのですが、文字の羅列が途中で受け付けなくなり、めまいを起こしそうです...
アレクサいいですね〜
ガチすごすぎる
退会済みメンバー
退会済みメンバーさん
ビギナー
これはいい
退会済みメンバー
退会済みメンバーさん
ビギナー
ふむふむ
なるほど!すごい✨
そんなこと出来るんだぁ 凄い!
気軽にはできそうに無いですが時間が出来たら挑戦してみたいな。。良い記事だと思います。継続や追加記事希望!
何時から○○会議ですとか読み上げてくれると私設秘書がいる感覚?
凄いしか言えない…
私にはできなさそう
自分にはハードルが高い😞出来る方が羨ましい☺️
凄いけど使いこなすの難しそう。。。
そんなことができるのかあ、と思ってしまいました。
スマートスピーカーはいまひとつ興味がない
家に帰ってまで機械に声をかける元気もない時だってあります。
常に会話を録音クラウドに保存されているのでしょうか?
.     👑
.  ✳️✳️✳️✳️
.   ✳️     ✳
.  ✳️✳️✳️✳️  
.  ️      ✳
.  ✳️✳️✳️✳️ th

#マイネ王9周年おめでとう!
.           🟢🟢
.          🟢🟢🟢
.         🟢🟢🟢🟢
.     🟢🟢  🟢🟢🟢
.    🟢🟢🟢 🟢🟢
.      🟢🟢 🟢
.         🟢

㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️
🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑
🌑🌑🌕🌕🌑🌔🌕🌕🌕🌕🌖🌑
🌑🌕🌕🌕🌑🌕🌕🌕🌕🌕🌕🌑
🌑🌑🌕🌕🌑🌕🌕🌑🌑🌕🌕🌑
🌑🌑🌕🌕🌑🌕🌕🌑🌑🌕🌕🌑
🌑🌑🌕🌕🌑🌕🌕🌑🌑🌕🌕🌑
🌑🌑🌕🌕🌑🌕🌕🌑🌑🌕🌕🌑
🌑🌑🌕🌕🌑🌕🌕🌑🌑🌕🌕🌑
🌑🌑🌕🌕🌑🌕🌕🌕🌕🌕🌕🌑
🌑🌑🌕🌕🌑🌔🌕🌕🌕🌕🌖🌑
🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑🌑
㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️㊗️ th
.  #mineo10周年おめでとう!
コメントするには、ログインまたはメンバー登録(無料)が必要です。