ミゲル君が消臭力の歌を歌ってくれる Amazon Dash Button を作ってみました。
ミゲル君が消臭力の歌を歌ってくれる Amazon Dash Button 作った。 pic.twitter.com/lhNUo0NmQl
— tagawa (@dounokouno) 2017年3月5日
作り方
Amazon Dash Button を購入する
まずは Amazon Dash Button を購入します。もちろん、消臭力がいいと思います。
Amazon Dash Button をただの IoT ボタンにする
下記ページを参考に Amazon Dash Button をただの IoT ボタンにします。
Amazon Dash ButtonをただのIoTボタンとして使う – Qiita
上記ページに出てくる dasher の使い方については下記のページが詳しいです。
Amazon Dash Button と slackを連携させる – kakts-log
下記コマンドで Amazon Dash Button の MAC アドレスを確認して、
$ script/find_button
config/config.json を下記のように作って、
{
"buttons":[
{
"name" : "Sing a song of syosyuriki",
"address": "{Amazon Dash Button の MAC アドレス}",
"url": "http://localhost:4567",
"method": "get"
}
]
}
下記コマンドで dasher を立ち上げます。
$ sudo npm start
config/config.json は後述する sinatra で http://localhost:4567 を立ち上げるので、そこにアクセスするだけの簡単仕様です。
mp3 を用意する
「消臭力〜♪」のところだけの音声データが欲しいので、 YouTube から CM 動画をダウンロードしてきて、音声をトリミングします。
youtube-dl を使って CM 動画をダウンロードする
YouTube の動画をダウンロードできる youtube-dl を使って、 CM 動画をダウンロードしてきます。
参考: コマンドラインからyoutubeを再生する – Qiita
youtube-dl のインストール
$ brew install youtube-dl
CM 動画のダウンロード
$ youtube-dl 'https://www.youtube.com/watch?v=s39_de-2dpQ'
CM 動画を mp3 に変換する
ffmpeg のインストール
$ brew install ffmpeg
ダウンロードした mp4 を mp3 に変換する
$ ffmpeg -i cm.mp4 -ab 128 cm.mp3
参考: ffmpegを使用した、mp4ファイルからmp3ファイルを作成するコマンド – Daily noise
mp3 から必要な部分だけトリミングする
QuickTime Player でトリミングができるので、がんばって作ります。
消臭力ボタンを押すとミゲル君が歌うようにする
dasher がアクセスするページを作ります。
サクッと作りたかったので、 sinatra を使いました。
sinatra のコードは下記の通りです。
require 'sinatra'
get '/' do
system 'afplay syosyuriki.mov'
end
下記コマンドで sinatra を立ち上げて、
$ bundle exec rack app.rb
http://localhost:4567 にアクセスすると消臭力の歌が流れます。
以上です。
本当は YouTube をそのまま再生しようと思ったんだけど、ちょうどいい尺の動画がなかったので、わざわざ音声データを作ったんだけど、途中、「僕は何をやってるんだろう…。」とはちょっと思った。