LoginSignup
12
12

More than 3 years have passed since last update.

google home miniにしゃべらせる。

Last updated at Posted at 2020-05-04

流れ

  • Google Home Miniを特定する
  • テキストから音声ファイルを生成する
  • Google Home Miniをchromecastデバイスとして捉え、音声ファイルをキャストする

Google Home Miniを特定する

2パターンある。ただし、前提として、Google HomeへアクセスできるLAN内の端末であること。
自分の環境では、有線LANと無線LANを両方とも有効化した状態で確認できた。

  • Google Homeアプリで設定から端末のipを特定する。 要固定IP化。→DHCPでMACアドレスとIPで固定IPにする。
  • mDNSで端末を動的に特定して、アドレスを都度得る。
    Google Home 端末を操作するなら、前者の方が現状、楽。

簡易的に端末までの経路が確立されているかを確認する方法

いずれもmDNSでネットワーク内の端末を列挙する方法

Windowsなら、bonjourbrowserで検索

bonjourbrowserで検索できる。

ubuntuなら、Avahi

avahi-browse -alrで一覧出来た。

Chrome拡張のMDNS Browser

私の環境では捕捉出来なかった。

テキストから音声ファイルを生成する

Google Home Miniをchromecastとして、へ音声ファイルをキャストする

castv2-clientを使う。

この方の実装方法が良いかと思われる。
Google Homeに話をさせる
ただし、google-tts-apiは、非公式な使い方1をしているので、上のtext-to-speechを正しく利用したもののほうがよいかと。

cstv2-clientにて、デフォルトのメディアレシーバーのインタフェースを得ているように見える。

google-home-notifierはおすすめしない

Google Home端末のip特定からメッセージ送信までワンパッケージになっているgoogle-home-notifierがあるが、
ローカル環境へのライブラリインストールや依存ライブラリのバージョン修正、依存ライブラリの実装修正などの手作業が多いため、おすすめしない。
こちらも、内部でgoogle-tts-apiを使っているが、非公式な使い方1をしていると思われる。

GoogleのCloud API

テキストを送信して、話させるためのCloud APIはわからなかった。
ユーザの発話をトリガーにするか、ルーティーンでの時刻起動をトリガーにする方法はあったが。
自分としては、異常検知のような使い方をしたかったため、上記の使い方を模索していた。


  1. グーグル翻訳のフロントサイトにクエリ付きURLを投げて翻訳時の発声ファイルを取得しているように見える。 

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12