Google HomeとMESHを使って、朝起きたらradikoを自動再生する仕組みを無理やり作りました。
radikoを自動再生したい
ラジオを自動再生させたいと思ったんだけど、わが家にはラジオの機械が無い。
ラジオを再生できるのは、まずはiOSのradikoアプリ。
radiko
無料posted withアプリーチ
しかしiPhoneのradikoアプリはiPhoneの仕様により自動起動することができないので却下。
もうひとつはGoogle Home。
Google Homeでは標準でradikoを再生できる。
わが家にはGoogle Home Miniを置いていて、最近はもっぱらこちらのradikoでラジオを聴いている。
そして自動化といえばIFTTT。
しかしGoogle Home(Assistant)はIFTTTに対応してはいるが、使えるのはトリガーのみで、アクション(「〇〇したらGoogle Assistantに△△させる」)には対応していない。
今のところ、Google Homeにコマンドを送るには声でコマンドを喋る以外にはない。
一方、Google Assistantにコマンドを送る方法としてはGoogle Assistantアプリもある。
Google アシスタント
無料posted withアプリーチ
しかしこちらはあくまでもクラウドのGoogle Assistantにコマンドを入力するもので、デバイスとしてのGoogle Homeにコマンドを送るわけではない。
実際にGoogle Assistantアプリにコマンド(声でもテキストでも)を入力すると、このような返事が返ってくる。
Google Homeでradikoを自動再生する
仕方ないので、力業(ちからわざ)で自動再生させることにした。
コマンドをしゃべる声を音声ファイルとして再生して、Google Homeに聞かせることにした。
やりたいこと
朝起きたらradikoでラジオ(FM802)を自動で再生する。
目覚ましとして鳴らすのではなく、起きた後で再生するようにする。
起きたことは、iPhoneアプリ「Sleep Meister」の起床ツイートにつけたハッシュタグで認識。
Sleep Meister – 睡眠サイクルアラームLite
無料posted withアプリーチ
音声ファイル作成
声でしか起動できないのなら、声を録音すればいい。
とはいえ、録音した自分の声が毎朝再生されるのはさすがに恥ずかしいので、音声合成のサービスを使うことにする。
Google翻訳の合成音声を音声ファイルとしてダウンロードできるこちらのサービスを使って、音声コマンドを作成した。
普通に「OK, Google、ラジオをつけて」と入力すると発音がおかしかったので、このように入力した。
「。」(句点)や「ぇ」を入れると語尾の音がはっきりした(気がする)。
「Google」と「ラジオ」の間に間が空かずGoogle Homeがうまく認識しなかったので、「っ」(促音)を間に入れることで間(ま)を作ることができた。
「っ」の数によって間の長さが変わるようだ。
なお、通常Google Homeでradikoを再生するには「radikoで(局名)を再生」のように言わないといけない。
事前にGoogle Assistantアプリのルーティンで、「ラジオをつけて」と言うと「radikoでFM802をつけて」と言うのと同じになるように設定している。
最初は「802(はちまるに)」と言わせようとしたが、「802」と入力すると「はっぴゃくに」と認識するし、「はちまるに」と入力しても発音が変になるのでこのようにした。
こうしてできた音声ファイルをiTunesに入れて、MESHアプリを入れているデバイスと同期する。
これでファイルの準備はOK。
IFTTTとMESH
実行部分はIFTTTとMESHを使って組む。
まずはIFTTT。
IFTTT自動化とワークフロー
無料posted withアプリーチ
Sleep Meisterの起床ツイートに「#GoodMorning」というハッシュタグを入れているので、これの検知をトリガーとする。
トリガーをTwitter > New tweet by you with hashtagにして、ハッシュタグに「#GoodMorning」を入力。
アクションをMESH > Send an event to MESH appにして、EventIDに適当なIDを入力。
ここでは「wakeuptune」にした。
これでIFTTTの方は完成。
つづいてMESH。
MESH – Creative DIY Toolkit
無料posted withアプリーチ
IFTTTタグを置いて、「受信したら」を選択、イベントIDに先ほどIFTTTで設定したIDを入力。
つづいてミュージックタグを追加。
「再生する」を選択して、プレイリストに音声ファイルを追加。
動作は「再生/一時停止」。
これをIFTTTタグと接続して完成。
わが家ではこのようにMESHアプリの入ったiPadとGoogle Home Miniが近い位置に配置されているので、通常音量でじゅうぶん認識される。
完成
これで、朝起きてSleep Meisterのアラームを止めると音声ファイルが再生されて、それを聞いたGoogle Homeがradikoを再生してくれた。
ベッドの中で音声ファイルが流れるのを聞くのはちょっとアレだけど。
ここでは合成音声を使用しているので、Google AssistantでVoice Matchを使用して自分の声を認識させているとうまく動作しないと思う。
その時は自分の声を録音しましょう。
それにしてもかなり強引なやり方。
IFTTTでGoogle Homeにコマンドを入力できるようになったらスマートに解決するのになー。
2021.01.17追記
Google Homeにテキストでコマンドを入力する方法、iOSショートカットを使って実現できました。