ラズパイで音声認識つかってLチカしてみる

UEQareer Advent Calendar 2017の12日目のエントリーです。

はじめまして! レッドインパルスのインターン生、もーりーです。

インターンではサーバーサイドを担当させてもらっているのですが、
今回はRaspberrypi3と音声認識のソフトウェアJuliusを使ってLチカしてみたので紹介します。

今回用意したもの

  • OS(Raspbian)が入ったRaspberrypi3
  • 抵抗330Ω 1本
  • ジャンパーワイヤー(オス,メス)2本
  • 青色LED
  • ブレッドボード
  • USBマイク(今回はBUFFALOのBSWHD06MBKを使用)

BUFFALOのBSWHD06MBKはマイク内蔵webカメラで1000円ほどなのでオススメ

2000円しないくらいで全て用意できました〜(もちろんラズパイ以外)

 

LEDを点灯させる

それでは早速、簡単に組み立ててLEDを点灯させてみましょう。

点灯の確認

LEDが正しく光るか確認します。
ピン番号は以下の画像を参考に組み立てます。
ピン番号

GPIO番号

  1. ジャンパーワイヤーを[a5-ピン番号6]につなぐ
  2. もう一本を[a1-ピン番号1]につなぐ
  3. 抵抗を[b1-b4]につなぐ
  4. LEDを[c4-c5]につなぐ(長い方がc4)

正しく接続すればこのようにLEDがつきました・・・!
確認ができたら先ほどピン番号1番につけたジャンパーワイヤーをピン番号3番(GPIO:2)に接続しなおします。
接続しなおしてもLEDはついたままのはずです。

 

pythonで制御してみる

今度はpythonのライブラリを使って指定したGPIO番号に接続されたLEDを制御してみましょう。

ライブラリのインストール

ターミナルで以下のコマンドを打ちます。

インストールが終われば、pythonファイルを作成して以下のようなプログラムを書きます。

実行します。

消えました。

点灯も同じようにプログラムを書いて実行すればできます。

 

Juliusのインストール

続いて、音声認識ソフトウェアJuliusをインストールします。
この手順は参考記事に従ってすすめてください。
Juliusの使い方(version 4.4.2 対応版)~ ラズベリーパイ研究室
ラズパイに、人の声を理解させる。

USBマイクの認識設定

juliusのインストールが終わったらusbマイクをラズパイに接続します。
以下を参考にusbの優先順位をあげて再起動します。
Raspberry PiでJuliusを使った音声認識(1)

音声認識の確認

ではでは、実行して見ましょう!

以下のように表示されれば成功です。

自作辞書の作成

この状態では、全ての言葉を認識してくれますが遅いです。
そのため辞書を作って速度をあげましょう。
(「こんにちは」の1単語だけの辞書を作れば、何をいっても「こんにちは」と認識されるようになる。)

今回は「つけて」と「けして」と「てんめつ」の3単語を覚えさせます。

以下のコマンドでコンパイルします。

次のようなファイルができました。

次に以下のような2つのファイルを作成します。

これらを以下のコマンドでコンパイルします。

つかれましたね。

声でLED操作

つづいてpythonプログラムを書いて認識したによりLEDの制御を行います。
以下のファイルを追加してください。

認識するか試してみましょう。
新規タブを開いて

うまくいきました・・・
LEDもうまく動作しています。
つかれすぎてめんつゆに見えますね。

今後

今後はラズパイをirMagicainっていう赤外学習リモコンを使ってG●●gle H●meより優秀な家電操作デバイスにしていきたいと思います笑
(部屋の電気とエアコンとテレビは音声で制御できました!)
次回はテレビの電源制御を書こうかな。

参考記事