Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。Plus電子デバイス・電子工作用語集モータドライバ博士のQ&A読者よりいただいたお問い合わせを元に、ロボット製作者、エンジニアのみなさんに役に立つ技術解説を発信していきます。ウェイクワードで操作できるスマートホーム・デバイスを作り始めるこんにちは、ヨシケンです!これまでラズパイを使って、スマートスピーカーや画像解析するカメラなどを作ってきました。ここからは、そこで使った音声技術や画像解析を活用して、お家で役立つスマートホーム・デバイスを作って行きたいと思います。(USBで使えるマイクなら何でも構いませんが、今回は小型で1,000円以下のこちらを使いました。(こちらもイヤフォン・ジャックに差さるものなら構いませんが、充電式アンプ付きのこちらを使っています。(以下ラズパイ又は3+と記述)は2018年3月14日(これはπ=3.14にちなんでいるそうです)に発売され、以前のラズパイ3と比べてCPUクロックが1.4GHzとなり、ネットワーク性能が向上した最新のラズパイです。言っても、サイズや基本設定などはこれまでと変わらず、今までのやり方を踏襲して進めることができます。Raspbianのインストール、RasPi-configでの設定、Wi-Fi環境、SSH接続など基本的なところは、こちらのエントリによくまとまっていますので、参照してやってみて下さい。OSを使っていて、ラズパイの基本的な設定が済んでいる事を前提に進めます。基本設定に続いて、スピーカーとマイクの設定をします。写真のようにジャックにスピーカーを、USBにマイクを挿して、音声の確認をします。-lでスピーカーが認識されているか確かめます。0にスピーカーが認識されている状態です。1になっているのを確認します。自分で音を録音し、それを先ほどのaplayで聞いたり、arecordとaplayを繋げて、その場の音がスピーカーから流れる事を確認します。~/.asoundrcという音声設定ファイルを、このマイク、スピーカーに合わせて変更しておきます。3.Snowboyウェイクワードの導入さて、マイクとスピーカーが動くようになったので、今回のメイン、ウェイクワードの設定を行います。Google!」などのように、スマートスピーカーを起動させる最初の決まった呼びかけワードです。ここでは、Alexaでも使われているウェイクワードのサービスSnowboyを使って、自分独自のウェイクワードを設定できるようにします。こちらのページからSnowboyのダウンロードとラズパイへの導入を行います。Raspbianのバージョンを選んでダウンロードします。このパッケージをラズパイに送っておきます。以下のライブラリをラズパイにインストールし、Snowboyでの音声対応ができるようにします。pi@raspiname.local#xxxxはダウンロードしたsnowboyファイル名、raspiname.localはラズパイのアドレスを指定して下さい。pyaudioさあこれだけで、ラズパイがウェイクワードを聞いてくれるようになります。ラズパイ上でデモプログラムを流してみましょう。resouce/snowboy.umdl※ここで指定している.umdlや.pmdlがウェイクワード・ファイルで、デモではあらかじめ用意された「スノーボーイ」という単語が入っています。プログラムを流したら、マイクの近くで「スノーボーイ!」と呼びかけてみて下さい。反応すると、ピン!という反応音が聞こえるはずです。こちらはその時の動いている簡単な動画です。4.ウェイクワードとラズパイのLEDを連動させるSnowboyが動いたところで、ラズパイ側につながったものと連動させてみます。ここでは最も簡単なLEDをチカチカさせる、ウェイクワードでLチカをやってみます。ラズパイに以下のようにLEDをつなぎます。それでは、ウェイクワード反応後にLEDを光らせる、wake_led.pyプログラムを記述します。このプログラムを流して、また「スノーボーイ!」と呼びかけてみましょう。resources/snowboy.umdl見事、LEDがチカチカしたでしょうか?また百均などで買ってきたLED電球を使って、もう少しお家が楽しくなるような電飾にしてみましょう。季節柄、クリスマスツリーを光らせるのもいいですね。まとめ今回は、ラズパイでスマートホームの第一回として、Snowboyというウェイクワードの仕組みを導入しました。このウェイクワードから、ラズパイ側のLEDを光らせる事を簡単にやってみました。これはラズパイのローカル上で動いているので、ネットワークが無いところでも、声さえかければラズパイの操作が可能になっています。LED以外もセンサーや音がするものと組み合わせて使う事ができます。次回は、このウェイクワードを使って声でラズパイを操り、家内のスマートホーム化を進めていきます。