大人のおもちゃ箱

ガジェット関係のツール・グッズ、WEBサービスのレビューや体験談が主なブログ(お父さんの大人のおもちゃ箱)です。

Google Home開発 google-home-notifierで日本語を話させる

f:id:rikochanhayatokun:20180206152328p:plain

Google Home miniに乗り換え、順調にGoogle Homeライフを満喫しています。

っと言っても、Google Musicやラジコでラジオを聴いているだけですが・・・

そこで、今日からGoogle Homeのアプリを開発して、もっともっと遊んで行こうと思います。

直近でやりたいころ

①テレビのリモコン操作

赤外線リモコンの全ての操作に対応させたい。Youtubeの再生などChrome Castとの連携も充実させて、メディアプレイヤーとの連携もしたいですね。

②テレビの視聴管理

子供がYoutube動画を見過ぎるため、1日の制限時間を設定したいです。赤外線リモコンを廃止して、ねえGoogle、テレビを付けてと言った時に、時間を超えている場合は無効にしたり、見ている時に時間を超えた場合は、自動でOFFになったりできるイメージです。

この程度なら、多くのサービスと連携しなくても実現できそう?

①、②を簡単に実現させるために、専用の学習リモコンも考えていたのですが、他の方のレビューを見ると何かと使い勝手が悪そうなので、保留にしました。

そして、使おうと思っているハードは、raspberry pi 3です。

raspberry pi 3にリモコン送受信機能を構築して、家中の家電を操作するのも面白いかもしれませんね。ただ、とりあえずはテレビが操作できれば良いので、標準で利用できるraspberry pi 3のHDMI-CEC機能を使うことに決めましrた。また、raspberry pi 3を開発用のサーバーにしてしまえば、今後何かと便利そうですからね。ただ、raspberry pi 3を構築しなければなりませんが・・・

とまあ、いろいろな環境を構築する前に、勉強がてらGoogle Homeを操作してみることにしました。

利用したのは「google-home-notifier」です。

google-home-notifierを使えば、簡単に引数を与えるだけで、送ったテキストを読み上げてくれます。

現在使える環境がCent OS7しかないので、その環境を利用してテストしました。

npm install google-home-notifier

いろいろとインストール時(Python3)にエラーがでましたが、何とかインストールが完了しました。

(外部公開用のngrokなどは、使わないのでコメントアウトした方が良いです)

node_modules\google-home-notifier\example.js で

googlehome.device( deviceName, 'ja' );
googlehome.ip( '999.999.999.999' );

などを追加・修正し、実行するとWEBサーバーが起動するので

curl -X POST -d "text=こんにちは!今日はいい天気です。" http://localhost:9999/xxxxx

を動かしてみます。

すると、Google Homeのスピーカーから「こんにちは!今日はいい天気です。」っと話してくれました。

とても簡単にGoogle Homeがしゃべってくれるので便利ですね。

ただ、何回かテストしているうちに気づいたのですが、google-home-notifierの致命的な問題点が見るかりました!

それは、音楽やラジオを再生している時に、google-home-notifierを実行すると、音楽やラジオが続きから再生されずに、止まってしまうのです。

理想はgoogle-home-notifierで音声を流した後、続きから音楽が再生されることなんですが、何か設定方法があるのだろうか?

利用できるオプション設定が無いのか?確認してみることにしました。

とりあえず今週ぐらいにはraspberry pi 3を構築しよう・・・