ウェイクワードを変更してGoogleアシスタントを呼び出す方法

CHASUKEの記事をシェアする..

どうも、CHASUKEです。

任意のウェイクワードでGoogleアシスタントを呼び出す方法を紹介します

と言うのも、メールでこんなリクエストを頂いたからです。

「メリークリスマス!」でクリスマスツリーを点灯させたい。しかし、Amazon EchoやGoogle Homeではウェイクワードが必要で困っています。

avatar

CHASUKE

お問い合わせありがとうございます

メールの最後に「電子機器にはまるで疎いのですがやる気だけはあります!」と力強いお言葉が添えられていたので、考えてみました。

最終的に以前紹介したスマートスピーカー自作キット『Google AIY Voice Kit』を使って、それっぽくできました。

もうすぐクリスマス。イベントごとで活躍したら幸いです!

それではやっていきましょう♪

SPONSORED LINKS

ウェイクワードは必須!

現在販売されている各種スマートスピーカーで、アシスタントを呼び出すには、以下のようなウェイクワードが必須です。

  • Amazon Echoなら「アレクサ」
  • Google Homeなら「OK、Google」
  • Clovaなら「クローバ」

または、スピーカー本体のボタンを押すことでアシスタントを呼び出せます。

逆に、これらの操作無しにアシスタントを呼び出すことはできない。基本的にウェイクワードを自由に変更することもできません。

ただし、自作スマートスピーカーであれば、ウェイクワードを自由に変更できます!

ウェイクワードを変更する方法

自作スマートスピーカーを使って、ウェイクワードを変更する方法を紹介していきます!

自作スマートスピーカーを準備する

RaspberryPi(ラズパイ)にマイクやスピーカーなどのパーツを接続して、自作スマートスピーカーを作ることも可能です。

avatar

CHASUKE

けれど、パーツ揃えたり設定するのがめちゃ大変!

ということで、以前紹介した自作キット「Google AIY Voice Kit」を使います。簡単にGoogleアシスタント内蔵のスマートスピーカーが作れますよ。

▼詳しくはこちら

【Google AIY Voice Kit】ダンボールでAIスピーカーを自作してみた!
どうも、CHASUKEです。 ダンボールで遊べるニンテンドーラボを楽しんでる人が多いようですが、僕はダンボールでスマートスピーカーを自作...

avatar

CHASUKE

記事を参考に初期設定してみてください!

▼現在はRaspberryPi Zeroを使ったバージョン2も販売されています。

ウェイクワード「メリー」を準備する

ウェイクワード(検知ワード)の作成には「snowboy」を使いました。

snowboyとは、クラウドベースで学習したホットワードのモデルデータをRaspberry Piなどの環境で利用可能にするライブラリです。個人的利用であれば無償で利用可能です。

「アレクサ」や「OK、Google」といったウェイクワードを自作して設定を可能にします。

上記ページから既存のGoogleアカウントなどでログインすると、「Create Hotword」から自作できます。今回は、「メリー」というウェイクワードを作っていきます。

▼3回分音声を録音することができる。

▼テストをして、音声ファイルをダウンロードできます。

umdlという拡張子のファイルができます。

これを自作スマートスピーカーに転送しておきましょう。僕は「/home/pi/snowboy/merry.pmdl」に配置しました。

自作ウェイクワードで呼んでみる

Google AIY Voice Kitのウェイクワードをカスタマイズして、先ほど準備した「メリー」でGoogleアシスタントを呼び出せるようにします。

この連携部分は、Githubで公開されている「custom-hotword-for-aiy-voicekit」を利用させてもらいました。これでカスタマイズが容易にできます!

▼インストールする

// インストール
$ cd /home/pi/
$ sudo apt-get install libatlas-base-dev
$ git clone https://github.com/senyoltw/custom-hotword-for-aiy-voicekit
$ cp -ipr custom-hotword-for-aiy-voicekit/mod AIY-projects-python/src/
$ cp -ip custom-hotword-for-aiy-voicekit/assistant_library_with_snowboy_demo.py AIY-projects-python/src/examples/voice/
$ cd AIY-voice-kit-python
$ chmod a+x src/examples/voice/assistant_library_with_snowboy_demo.py

▼Snowboyで作成したファイルを引数にセットして、実行します!

$ src/examples/voice/assistant_library_with_snowboy_demo.py /home/pi/snowboy/merry.pmdl

▼「メリー!」と声を掛けて、ボタンが光れば成功です♪

「今日の天気は?」「株価は?」など、あとはGoogleアシスタントが返事してくれます。

反応が悪い時の対処方法

認識率は少々低めなのですが、Snowboyモデルの呼び出し時のパラメータを変化させ、認識率を高めることができました。

先ほど、Githubから持ってきてコピーした「assistant_library_with_snowboy_demo.py」の81行目付近を下記のように書き換えます。

def _run_hotword(self):
    detector = snowboydecoder.HotwordDetector(model, sensitivity=1.0, audio_gain=1) 
    with aiy.audio.get_recorder():

avatar

CHASUKE

これでかなり反応が良くなった

「メリー、クリスマス!」でツリーを光らせる

ウェイクワード無しでメッセージを伝えることはできませんが、「メリー」でGoogleアシスタントが呼べるようになった。

合わせて、Google HomeアプリやIFTTTを使って「クリスマス」という言葉に反応する仕組みを作ることで、「メリー、クリスマス」を実現しました!

▼かなり強引ですが、こんな感じにできました。

「ハッピークリスマス」の棒読み具合が残念ですが、無事にクリスマスツリーを光らせることに成功しました。

光らせたクリスマスツリーは、Amazonで899円のUSB給電タイプです。グラデーションが綺麗でなかなか良いです。これをスマートコンセントで制御しています。

日本仕様のスマートコンセントで扇風機を音声操作してみた!!
どうも、CHASUKEです。 最近、暑くなってきたので、スマートコンセント(スマートプラグ)を使って、寝室に置いた扇風機をベッドの上...

最後に

ウェイクワードを変更する方法を紹介してみました。これができると、スマートスピーカーの活用の幅がもっともっと広がりますね。

こちらの記事が参考になれば幸いです。

それではまた。

コメント

  1. お願い太郎 より:

    CHASUKE様
    こんなに早くご対応いただけるなんて本当にありがとうございます。
    子供たちに驚きとハッピーを届けられるように頑張ります!!