kghr IT備忘録
HOME » PC » Entry
Google Home MiniをWindows10で喋らせる
2017.12/10 (Sun)
Google Home Mini チャコール(グーグル ホーム ミニ チャコール)を買った。
テレビCMなど見ていて、「限定された受け答えしかできないし、まだ買わないな」と思っていたものの、半額の3,000円になっていたのでポチっと。音声認識付きの時計だと考えても3,000円なら手頃だと思う。
想像していたとおり限定した受け答えしかできないが、プログラムすれば音声でスイッチを操作したり、データを記録したりということができるらしい。まずはGoogle Home Miniに指定した文字を喋らせてみることにした。
使った環境
1. Windows 10 64bit (Thinkpad E570)
2. Google Home Mini
喋らせる方法
google-home-notifierというjavascriptのプログラムを使うとGoogle Homeに喋らせることができるらしい。そしてそのjavascriptを動かすには、node.js という環境が必要とのこと。
Raspberry Piを使って喋らせる例はいくつか見かけたが、Windows環境で喋らせる例は少なかった。今回は以下のサイトを参考にしつつ、Windowsで喋らせるための手順を備忘録とする。
Google Homeを喋らせる
http://blog.livedoor.jp/sce_info3-craft/archives/9706909.html
セットアップ手順
node.jsはサーバーサイドJavaScript環境。npm(Node Packaged Modules)はnode.jsのライブラリやパッケージを管理するツール。
node.jsをインストールするとnpmも同時にインストールされる。google-home-notifierというjavascriptをインストールする際に必要となライブラリ等もあわせて導入していく。
1.node.jsのインストール
node.jsのサイトからWindows用のインストーラをダウンロードする。この時点での推奨版はv8.9.3 LTS で、こちらを選択した。
https://nodejs.org/ja/
ダウンロードしたファイルをダブルクリックしてインストールを進める。特に迷うことなくデフォルト設定でインストールしてよいと思う。導入後に一応コマンドプロンプトから下記のコマンドを実行し、バージョンが表示されればOK。
> node --version |
---|
2.windows-build-toolsのインストール
Windows環境で必要なCコンパイラとpythonなどのツール類をインストールする。
管理者権限で実行しないとエラーが出てしまうので、コマンドプロンプトを"管理者権限で"起動し、以下のnpmコマンドを実行する。コマンドプロンプトは Windowsシステムツールのメニューの中にあり、右クリックして[その他]->[管理者として実行]を選択する。Windows PowerShellでも管理者権限でOKのようだ。
> npm install -g windows-build-tools |
---|
3.node-gypのインストール
これはC++ を用いた拡張機能を作るためのビルドツール的なものだそうだ。使うのでインストールする。
> npm install -g node-gyp |
---|
4.Bonjour for Windowsのインストール
dns_sd.hというファイルが必要なため「Bonjour SDK for Windows」インストールする。これはApple Developerサイトにあるので、Apple IDでサインインすることが必要。一番新しい v3.0 をダウンロードした。
あわせて「Bonjour Print Services for Windows」をダウンロードしてインストールする。
Bonjour for Windows
Bonjour SDK for Windows
Bonjour Print Services for Windows
インストール手順
a. Apple DeveloperサイトにApple IDでサインインし、Bonjour SDKをダウンロード。
b. ダウンロードしたインストーラを起動してインストール。
c. コントロールパネルから環境変数の編集を開き、ユーザー環境変数にBONJOUR_SDK_HOMEを追加。値は、C:\Program Files\Bonjour SDKとする。
5.google-home-notifierのインストール
ようやく目的のものをインストール。以下のnpmコマンドでgoogle-home-notifierインストール。
> npm install google-home-notifier |
---|
ようやく喋らせる
GitHubのgoogle-home-notifierにサンプルプログラムが載っているので、これをベースに喋らせてみる。
google-home-notifier
https://github.com/noelportugal/google-home-notifier
1.スクリプトの作成
メモ帳(notepad.exe)を開き、以下のスクリプトを作成。ファイル名は「foo.js」とした。
※保存するときは、メニューから「名前を付けて保存(A)..」を選択し、文字コードで「UTF-8」を選択して保存すること。
var googlehome = require('google-home-notifier'); |
---|
2.nodeコマンドでスクリプトの実行
コマンドプロンプトから、以下のnodeコマンドを実行すると「こんにちは」としゃべるはず。イントネーションやアクセントの記号があればと思うが、「崖の上のポニョ」と、「崖の上のぽにょ」では読み上げ方が異なるので、ひらがなとカタカナを使い分けるのも手。
> node foo.js |
---|
ポイント
Google Home Miniに喋らせるまでにつまずいた点は以下2点。
①AppleのBonjour for WindowsはSDKだけでなくPrint Servicesもインストールすること
②日本語を指定するスクリプトは文字コードに「UTF-8」を指定して保存すること
あとがき
ちょっと手間はかかったが手順どおりにやればそれほど大変でもない。まあ、そのうち手軽なアプリが登場することだろう。
標準でできることには限りがあるが、サーバー側を用意すれば会話もできそうだし、音声認識によるコマンド実行インターフェースとしてまだまだ遊べそうだ。
今日はここまで。
-----
懸念:
Google Home Miniはロケーション履歴、検索履歴、会話履歴、住所などの情報をとり扱う。個人情報のダダ洩れを懸念するのであれば通常使うアカウントとは別にGoogle Home用のアカウントを作成したほうがいいかもしれない。
また、家庭内のLANに設置するのでセキュリティ面での懸念もある。LAN上のパケットを解析してアクセスしているサイトの傾向やパスワードの取得したり、盗聴されるなど。ハックされて家電のスイッチを操作されたら面倒だし、在室中だけスイッチが入るように工夫してしてみようと思う。