Mac/Linux/ラズパイ/WSL2から各部屋のGoogle Home/Google Nestを喋らせて「日本語で喋るアラーム」を実現する

Linux
スポンサーリンク

「音」だけのアラームだと、アラームがなっても「何の話か?」わからなくなりませんか?

目覚まし時計みたいに毎日1回のアラームならピーとかピピピとかの音でもいいと思うのですが、毎日の多数のスケジュール、毎週の多数のスケジュールみたいに数十個とかのアラームを設定したい場合、「音」だけだと「何に対するアラームなのか?」わからなくなりませんか?

Mac/Linux/ラズパイ/Windowsなどにnode.jsを入れて「google-home-player」(昔は「google-home-notifier」でした)というのを使って、Linux/Macのcrontabで登録した多数のスケジュールを、(台数制限の無い)「各部屋のGoogle Home/Google Nest」を使って「日本語で喋るアラーム」を実現できます

個人的には9年前の「最初のGoogle Homeが発売された年」から9年間ずっと使ってる方法なのですが、当時のシステム構成は(ネットで見た方法を参考にして)クラウド上のFirebaseやGoogleスプレッドシートも使うなど「他人に説明するには難しすぎる構成」だったので自分だけで使っていたのですが、Linux/Mac/WSL2標準のcrontabでローカルにスケジュール管理すれば簡単に実現できる事に最近気づいたので今回改めて紹介します(というか、自分の環境のラズパイが壊れて、再設定してる時に「そういえば簡単になってた」事を思い出しました)

スポンサーリンク

Google Home/Google Nestをどうやって入手するか?

Google Home miniとかGoogle Nest mini、使ってたり余ってたりしませんか?

もしお持ちでない場合、AmazonなどでGoogle Nest miniの新品を買うと8000円位しますが、そんな高いのを買う必要はなくて、ビッグカメラとかソフマップとか大型電機店とかで、たまに3000円位で処分セールやってたりしますし、Google Nest miniでなく(一番古い)Google Home miniであれば、メルカリとかヤフオクで1000円~2000円位で買えたりします

(※)私はGoogle Home/Google Nestを4~5台持っているのですが、今回の用途に使っているのは9年前に買った「Google Home Mini」の2台です。全然現役です

(※)ぶっちゃけて一番古い「Google Home Mini」と最新型の「Google Nest Mini」で今回の用途については機能差はまったくありません。Google自体の最新機能であるGemini対応とかで差が出る場合があるかもですが、とりあえずはGoogle Home MiniでもGemini使える様にするみたいですし・・・

スポンサーリンク

MacでもLinuxでもラズパイでもWindows(WSL2)でもいいのですが、24時間365日稼働しっぱなしのPCはお持ちですか?

最近はClawdbot/OpenClawなどAI関連での用途を含め、もしくはミニPCの普及などを含め、更にはラズパイの存在など「24時間365日起動しっぱなしのPC」というのは意外と増えているかと思います。

もっと言うと、実は「Androidスマホ/タブレット」でもそれができるのですが、それについては過去の別記事で書いています(今回の記事の元記事でもあります)

(※)逆に、「最近流行りのClawdbot/OpenClaw用にMacを24時間/365日稼働してる環境」とかがあるなら、その環境に今回の設定を入れるとかもアリだと思います

(※)今回の記事も下記の過去記事ベースで書いているので、一部説明画像が古かったりします

スポンサーリンク

設定方法

それでは実際の設定方法について説明します

(※)もともと8年前~4年前のライブラリ(google-home-player)を使っている関係上、ライブラリが古くてセキュリティ上問題があるかもしれません。試す場合は自己責任でお願いします

(※)ぶっちゃけて「自分用の備忘録」目的が半分の記事です

スポンサーリンク

Google HomeのIPアドレスを取得する

1.スマホやタブレットに「Google Home」アプリをインストールして起動してください(既に入っていればそれを使ってください)

2.この例では「ファミリールーム」と「キッチン」の2台のGoogle Homeがありますが、1台ずつのIPアドレスを確認してメモしておきます

まずは「ファミリールーム」をタップします

3.画面右上の設定アイコンをタップします

4.「デバイス情報」をタップします

5.この例ではGoogle HomeのIPアドレスが192.168.1.175である事をメモしておきます

6.同様に他の部屋のGoogle HomeのIPアドレスもメモしておきます
「キッチン」のIPアドレスは同様の確認をした結果192.168.1.215でした

(※)Google Home/Google Nestは何台でも登録できます

スポンサーリンク

node.jsとnpmのインストール

node.jsとnpmのインストールについては、Mac/Linux/WSL2など環境によっても違いますし、同じ環境でも色々なインストール方法があるので、それぞれの環境で使いやすい形でインストールしてもらって構いません。node.jsのバージョン指定も特にありません(古い物から最新版までどれでも動くと思います)

ここでは参考にNode.js公式のダウンロードページを紹介しますが、nvmからインストールしたりMacのhomebrewからインストールするなどインストール方法はお任せします

(※)そもそも、大抵の環境で最初から入ってる事も多いので、ターミナルで
node -v
コマンドを入力してバージョンが表示されたら既にインストール済みの環境です

■Node.js公式のダウンロードページ

Node.js — Node.js®をダウンロードする
Node.js® is a free, open-source, cross-platform JavaScript r...
スポンサーリンク

google-home-playerのインストール

(※)今回使用するgoogle-home-playerはこちらを使わせて頂いてます

GitHub - mihyaeru21/google-home-player: Play a sound or say a text on Google Home.
Play a sound or say a text on Google Home. Contribute to mih...

(※)成功するとホームフォルダ(~) = (/data/data/com.termux/files/home)の下に
google-home-player
フォルダができます

lsコマンドで確認できます

cd ~/

git clone https://github.com/mihyaeru21/google-home-player.git

ls

2.続いて下記のコマンドを実行します

(※)セキュリティ上の注意喚起
2026年2月現在、下記のコマンドでnpm audit fixを実行すると
「セキュリティ脆弱性(高)があるので npx audit fix –force を使え」
と言われるのですが、これを実行すると必要な下位ライブラリが削除されてしまうので動かなくなります

(※)npm audit fixまでなら動作可能ですが、試す場合は自己責任でお願いします

cd google-home-player

npm install

npm audit fix

3.下記のコマンドでexample.jsを編集します

(※)エディタはnanoでもvimでもいいです

nano example.js

4.IPアドレスの部分を(メモしておいた)Google HomeのIPアドレス(どれか1台)に書き換えて

(nanoエディタの場合は)
Ctrl + X
Y
Enter
キーで保存します

(※)これはやらなくてもいいですが、ソース中の
return googleHome.say(‘second text’, ‘ja’, true);
の行で、最後の「,true」を削除して
return googleHome.say(‘second text’, ‘ja’);
の様にしておくと、日本語を喋る速度が少し速くなります

5.下記のコマンドを入力して、数秒待って
「ファーストテキスト、セカンドテキスト、ファイナルテキスト」とGoogle Homeが喋ったらテスト設定完了です

node example.js

6.nano home1.jsと入力して空のnanoエディタを開きます

nano home1.js

7.下記のコードをコピペするか、又は入力してください

(※)home1.jsならIPアドレスに1台目のGoogle HomeのIPアドレスを入力してください
(※)Google Homeが2台以上ある場合は、home2.js、home3.js、・・・
と同じ事を繰り返してIPアドレスの部分だけ対応するGoogle HomeのIPアドレスに書き換えてください

var GoogleHomePlayer = require('.');

var ip = '192.168.1.175';

var googleHome = new GoogleHomePlayer(ip, 'ja');
googleHome
  .say(process.argv[2], 'ja')
  .catch(function(err) {
    console.error(err);
  });

(nanoエディタを使っている場合)
Ctrl +x
Y
Enterキー
で保存します

8.下記のコマンドを入力してGoogle Homeが喋るか?確認してください

node home1.js こんにちは

9.下記のコマンドを入力してホームフォルダに戻ってからcrontab -eを実行します

(※)macの場合crontabなどで使われる「デフォルトエディター」がvimになっています
(私はnano派なので)「デフォルトエディターをnanoに変更したい場合はターミナルで
echo ‘export VISUAL=”$EDITOR”‘ >> ~/.zshrc
を実行して、ターミナルを再起動するとcrontabがnanoで開くようになります

cd ~/

crontab -e

10.crontabの既存の設定があったら全ての行の先頭に#を付けてコメントアウトするか、もしくはCtrl+Kを何回も押して全ての行を削除してください

(※)Android自体からも喋っていいならコメントアウト(削除)しなくても構いません

11.Linuxのcrontabの書き方で指定日時を設定して喋らせます

(※)macの場合「node」の部分がそのままでは動きません。
ターミナルでwhich nodeと実行すると
/opt/homebrew/bin/node

/Users/khb02323/.nvm/versions/node/v24.13.0/bin/node
の様にnodeのフルパスが表示されるので「node」の部分をフルパスで書いてください

■フォーマット
分 時 日 月 曜日 実行させたいコマンド

(例)毎日の10時20分に喋らせる例
20 10 * * * node ~/google-home-player/home1.js これはテストです

(例)月曜~金曜の9:00に喋らせる例
0 9 * * 1-5 node ~/google-home-player/home1.js 業務開始です

(nanoエディタをお使いの場合)
入力したら
Ctrl+x
Y
Enter
でnanoエディタを終了します

下記のコマンドで設定内容が登録されているか?確認できます

crontab -l

12、上記の設定時間にGoogle Homeが喋ったら設定完了です

スポンサーリンク

各部屋のGoogle Home/Google Nestに喋らせる

(※)Google Homeは1台でも2台でも4台でも構いません

上記の説明でGoogle Homeの数だけhome1.js、home2.js、・・・と作っていたはずです
crontabの設定で、該当するGoogle Homeのhome1.jsやhome2.jsを書き換えれば各部屋で個別に喋らせる事ができます

スポンサーリンク

余談

今回の説明ではcrontabを使用して「喋るアラーム」として設定していますが、MacにインストールしたClawdbot/OpenClaw経由で「AI自身が報告したい時にGoogle Homeを使って喋らせる」という事をしたいなーと思っています

「コンピュータに喋らせる」のも最近の音声出力系AIで「もっと自然に喋らせる」物もあると思うのですが
・1部屋じゃなくて各部屋で喋らせたい
・AIのトークン消費を抑えてなるべく課金を抑えたい(なんなら完全無料で使いたい)
という場合にGoogle Homeを併用する方法はアリなんじゃないかなー?と個人的には思っています

スポンサーリンク

Clawdbot/OpenClawとの連携

長くなるので別記事で書きます

コメント

タイトルとURLをコピーしました