top of page

Google Homeで鳩時計を鳴らそうとして半日溶けた話【助けて~】

  • ST
  • 7 日前
  • 読了時間: 7分

更新日:6 日前


結論から言います。できませんでした。

いや、正確には「できる人がいたら助けてください」という状態で終わりました。

これはシンプルな夢を持った一人の人間が、Google Homeという巨大な壁に跳ね返され続けた、約半日の記録です。





発端:おばあちゃんの家の記憶


「ポッポー」


子供の頃、祖母の家の壁に鳩時計がありました。毎時間、小さな扉から鳩が飛び出してきて、その時刻の回数だけ鳴く。あの音が妙に好きでした。

鳩時計は18世紀のドイツ・黒い森(シュヴァルツヴァルト)地方が発祥で、スイスのお土産として世界中に広まりました(スイス発祥と思われがちですが実はドイツ生まれです)。日本には1970〜80年代の輸入雑貨ブームで普及し、当時の家庭ではよく見かけたアイテムです。

アメリカなど私の知る限り、海外の家庭では鳩時計をほとんど見かけません。英語圏では「ドイツのお土産」程度の認知なので、これは日本人特有の懐かしさかもしれません。

そんな記憶が急によみがえって、ある日こう思いました。


「そうだ、Google Homeで鳩時計を鳴らそう」




まず既製品を探した(5分で絶望)


Googleアシスタントのルーティン機能を使えばなんとかなるかも、と思って調べ始めました。

でもすぐに問題が2つ見えてきました。ひとつは鳩の声にならないこと。Googleアシスタントが「はい!1時になりました!」と読み上げるだけで、ポッポーとは言ってくれません。もうひとつは余計なアナウンスが入ること。鳩時計の良さは「ポッポー」だけが静かに鳴ることにあるのに、Googleさんがいちいち喋るのでは台無しです。

カスタム音声を定時に流すサードパーティアプリも探しましたが、Googleは2023年にサードパーティの「会話アクション」をほぼ廃止していて、選択肢がほぼ皆無でした。


ここで気づくべきでした。引き返すなら今だったと。




余談:Alexaなら5分で終わる話


調査中に恐ろしい事実を発見しました。

Amazon Echo(Alexa)には「Striking Clock」というスキルがすでに存在し、鳩時計音を含む複数のチャイム音に対応しています。時刻に応じて自動で回数を変えてくれます。ただし余計なアナウンスなしで鳩時計音を鳴らすには月99セントの有料サブスクリプションが必要です。無料版では音声アナウンスが入ります。設定自体は数分で完了。Echo Dotは3,980円から買えます。

でも私はGoogle Nest Miniを持っています。それに、ここで引いたら負けな気がしました。人間の意地というやつです。続行を決意しました。




作戦を立てる


ないなら作るしかない。方針はこうです。

① 鳩の声の音源を用意する ② 1時〜12時分(1回〜12回鳴くバージョン)の動画ファイルを作る ③ YouTubeに限定公開でアップロードする ④ Googleアシスタントのルーティンで毎時○時に動画を再生させる

文字にするとシンプルです。実際にやるまでは。


第1の壁:音源が9回分まとめて入っていた


フリー素材サイト「Pixabay」で鳩時計の音源を無料でダウンロードしました。登録不要・商用利用可で一見完璧でした。

ところがダウンロードしたファイルを再生してみると、鳩の声が9回分まとめて収録されていました。1鳴き分に切り出す必要があります。

Pythonで音声波形を自動分析して9回分を1鳴きずつ分割しました。さらに9つの音源のSNR(信号対雑音比)を比較して最もクリアな1音源を選定。それを1〜12回リピートした12ファイルを生成しました。

ここは順調でした。問題はここからです。


第2の壁:WAVはYouTubeに上げられない


「12ファイルできた!YouTubeにアップしよう!」と意気揚々としていたら、YouTubeの公式サポートページにこう書いてありました。

Audio files, like MP3, WAV, or PCM files, can't be uploaded to create a YouTube video.

音声ファイルはダメで、動画ファイルが必要とのこと。じゃあ黒画面の動画に変換すればいい。ブラウザ上でWebM形式の動画(真っ黒な画面+音声)を生成するツールを作って試しました。


第3の壁:WebMが0バイトになる、そしてProcessing abandoned


生成されたWebMファイルのサイズが0バイトでした。

別の方法でWebMを再生成してYouTubeにアップすると、今度はYouTube Studioにこう表示されました。

「Processing abandoned — The video could not be processed.」

原因は2×2ピクセルという極小の黒画面でした。1280×720に変更して再チャレンジ。


第4の壁:YouTubeのVerificationが必要


アップロード前に、チャンネルの確認(Verification)が必要でした。電話番号でのSMS認証が必要で、YouTube Studio → 設定 → チャンネル → 機能の利用資格 から手続きが必要です。

地味につまずくポイントです。知らないと「なぜアップできないんだ?」と数十分悩むことになります。

ようやくYouTubeにアップ完了(ここまで約2時間)

ffmpegというツールを使って1280×720の黒画面MP4ファイルを生成し、12個をYouTubeにアップロードしました。

ffmpeg -f lavfi -i "color=c=black:s=1280x720:r=1" -i cuckoo_01h.wav -c:v libx264 -c:a aac cuckoo_01h.mp4

これは動きました。ここまでで約2時間。ようやくスタートラインに立てた気がしました。


第5の壁:ルーティン12個を手動で作る


Googleアシスタントのルーティンは「毎時同じ動作」しかできないため、1時用・2時用・3時用……と12個のルーティンを個別に作る必要があります。

Google Homeアプリで「自動化」→「+」→トリガー(時刻)→アクション→保存、この作業を12回繰り返しました。約30分かかりました。

設定完了。いざテスト。


第6の壁:「Sorry, I don't understand」


「Sorry, I don't understand.」

URLを直接指定したコマンドはGoogleアシスタントが理解できませんでした。YouTubeのURLをそのままコマンドに入れてもダメなのです。動画のタイトル名で指定する方式に変更しました。


第7の壁:全然別の動画が流れてくる


タイトル名で「play 鳩時計 1時 on YouTube」と指定すると、全然別のYouTube動画が再生されました。Googleが勝手に「鳩時計っぽい」別の動画を検索して流してくるのです。

ユニークなタイトル(他と被らない造語)に変更してリトライ。それでもたまに別の動画が流れてくる。Googleのタイトル検索の精度が問題でした。


第8の壁:YouTube Musicに活路を求めるも撃沈


Google HomeはYouTube Musicとの相性が良いという情報を発見しました。MP3ファイルをYouTube Musicにアップロードして、そこから再生させれば確実かもしれない。

music.youtube.comを開いて「音楽をアップロード」を試みると……アップロードができませんでした。仕様変更なのか、環境の問題なのか、原因不明のまま撃沈。


第9の壁:限定公開が原因説→公開に変更→それでもダメ


「限定公開だとGoogle Homeのルーティンから認識できないのでは?」という仮説が浮かびました。

調べると、Google Homeのルーティンで自動再生するとrestricted modeエラーが出るという報告が複数ありました。動画を公開設定に変えてリトライ。

それでもダメでした。


現在地:全試行の結果

方法

結果

URLで動画指定

"Sorry, I don't understand"

タイトルで動画指定

別の動画が再生される

ユニークタイトルで指定

たまに別の動画が流れる

YouTube Musicにアップ

アップロードできない

限定公開→公開に変更

変わらずダメ

全部ダメでした。

できる人、助けてください

Google Homeで自分の音源を定時に確実に自動再生する方法を知っている方、教えてください。

現時点でわかっていること:

  • Googleアシスタントのルーティンでは、YouTubeの特定動画を確実に再生させることが構造的に難しい

  • YouTube MusicへのMP3アップロードも環境によってはできない

  • Googleは2023年にサードパーティのカスタムアクションをほぼ廃止しており、外部から音声を注入する手段が限られている




未検証の解決策候補


以下は試していません。有識者の方、「これで行けるよ!」という情報があればコメントで教えてください。


① DistroKid等でSpotifyに音源を配信し、Google HomeからSpotify再生 Spotifyは個人音源のアップロードに対応した配信サービス(DistroKidなど)経由で楽曲を登録できます。Google HomeはSpotifyとの相性が良いので、「Spotifyで○○を再生して」と指定できれば確実かもしれません。ただし審査や費用が発生します。


② Home Assistant経由でローカル音源を再生 Raspberry PiなどにHome Assistantをインストールし、Google Homeと連携させることで、ローカルの音声ファイルを定時に再生できるという情報があります。ただし追加ハードが必要で、設定も複雑です。


③ Alexaに乗り換える 言いたくなかったけど……。Echo Dotは3,980円から。「Striking Clock」スキルは月99セントの有料プランが必要ですが、それでも今日中に解決します。でもいやだ。




教訓と感想


Google Homeは「Googleのエコシステムの中で使う分には優秀」ですが、「カスタム音源を自在に扱う」という用途には向いていません。

世界のスマートスピーカー市場ではAlexaがシェアトップ、Googleが2位です。日本の普及率はまだ約5.6%(米国は約20%)と低く、両者ともまだ発展途上です。ただサードパーティのカスタマイズ性という点では、Alexaに一日の長があります。そしてAlexaには最初から鳩時計スキルがありました。

最初からAlexaにして月99セント払っていれば5分で終わっていました。

でもそれじゃあ記事にならなかったので、これはこれで良かったのかもしれません。たぶん。




詳細な技術手順は有料記事で


音源の加工方法(Pythonによる波形分析・SNR計測・分割)、ffmpegの使い方、YouTube動画の生成手順など、「技術的にここまではできた」という詳細は有料版で公開しています。

[有料版はこちら]





解決策をご存知の方はコメントで教えていただけると泣いて喜びます。

最新記事

すべて表示

コメント


bottom of page