Rasberry Piを使わずにGoogle HomeにしゃべらせるAndroidアプリを作りたい
着想
「ねぇGoogle、今何している時間?」と聞くと「今は~してる時間です」と答えてくれるアプリを作りたい。目的は、子供の朝支度や夜のルーチンを促すため。
方向性
dialogflowを使えばできるっぽいが、「~につないで」と言わなくてはいけないっぽい。これはめんどくさい。
しかも以外に作るのが大変そうである。
であれば、スマホで入力したテキストをGoogle Homeにしゃべらせるのはどうだ??google home notifierを使わなければいけないので、Rasberry Piがいるのか??しかし持ってない。
qiita.com
を見る限り、Rasberry PiがなくてもAndroidのみで実装できそうな気がする。
スマホで入力したテキストをGoogle Homeにしゃべらせる、とういシンプルなアプリをつくってみたい。
問題は、AndroidをWebサーバにしないといけないところ。しかしこんな素晴らしい記事が。
Android内にHttpサーバを立てて、ChromeCastでローカルファイルを再生する - Qiita
実装
大まかな処理の流れは、
- テキストボックスに文字列を入力し、ボタンを押す
- テキストボックスの内容をText to Speechで音声ファイルにする
- 前のステップで作った音声ファイルをGoogle HomeにCastする
という感じか。
調べてみたところ最後のステップが難しそうである。音声ファイルをMediaMetadataCompatという形式で渡してやらないといけないようだ。
さらに調べてみたところ、以下の記事を参考にすればできそうな気がしている。
blog.livedoor.jp
方向転換
とここまで考えたところで、Bluetoothでよくね?という気がしてきた。
akira-watson.com
完全にこの記事のアプリでいいのでは、、
Google Homeには先にBluetooth接続しておいて、文字列を入力した文字をTTSで音声に変換すれば、Google Homeがしゃべっているっぽくなるはずである。
やってみたところ、問題なくアプリから入力した文字列をGoogle Homeにしゃべらせることができた。
子供の反応は未検証。