2017年2月20日 RaspberryPi2でAlexa機能を使ってみる

今回は、Amazon EchoのようにRaspberryPi2からAlexa機能を使ってみようと思います。
色々調べましたが、おそらく一番簡単なAlexa機能使用方法だと思います。

使用したRaspberryPiのosバージョンはこちらです。

(ダウンロードリンク:https://www.raspberrypi.org/downloads/raspbian/)
RASPBIAN JESSIE WITH PIXEL
Version:January 2017
Release date:2017-01-11
Kernel version:4.4

使用マイク:

https://www.sanwa.co.jp/product/syohin.asp?code=MM-MCUSB16

実行手順です。

1.Amazon developer accountに登録する

https://developer.amazon.com/

ここを参考にして登録していきます。

https://github.com/alexa/alexa-avs-sample-app/wiki/Create-Security-Profile

2.gitからalexa-avs-sample-appのダウンロード&インストール

https://github.com/alexa/alexa-avs-sample-app/wiki/Conexant2Mic-Raspberry-Pi

Step5から参照していきます。
端末を開き、

cd Desktop
git clone https://github.com/alexa/alexa-avs-sample-app.git
cd ~/Desktop/alexa-avs-sample-app
bash automated_install.sh

(ダウンロードやインストールで30分から1時間かかります)
インストール中にいくつか質問されるので、その都度返答していきます。

また、1で登録したときのProductID (Device Type ID)、ClientID、ClientSecret
を聞かれるのでコピペしてください。
スピーカ出力をジャックにするか、HDMIにするかなどは1か2かで選択してください。

3.ALEXAの実行

まず端末を一つ起動します。

cd ~/Desktop/alexa-avs-sample-app/samples
cd companionService && npm start

Listening on port 3000 となったら端末を新たにもう一つ起動してコマンドを入れてください。

cd ~/Desktop/alexa-avs-sample-app/samples
cd javaclient && mvn exec:exec

しばらくするとウインドウが表示されるので”yes”を選択してください。yesを選択するとブラウザが開きますがエラーになっているので下画像の赤丸をクリックしていってください。

ログインしたらokeyをクリックして以下の画像が出ることを確認した後、InformationウインドウのOKをクリックしてください。


次に新たな端末を起動して、以下のコマンドを入れてください。

cd ~/Desktop/alexa-avs-sample-app/samples
cd wakeWordAgent/src && ./wakeWordAgent -e sensory

ALEXA実行画面の”Listen”をクリックしてマイク入力が入っているかをメータで確認します(赤丸)。

マイクが入っていることを確認したら、ALEXAに話しかけます。

"what's the time?"
"what's the weather in Seattle?"

など話しかけると答えてくれます。

*私の環境では実行時にエラーが出ました。

ERROR:An error happened in the mainLoop of SensoryWakeWord snsrRun(): task: Input channel audio-pcm: ALSA error: No such file or directory ……

このエラーは以下で議論されているので対処します。

https://github.com/alexa/alexa-avs-sample-app/issues/277

まず端末上で、

sudo apt-get install python-pyaudio python3-pyaudio sox

をインストールします。次に

sudo nano /home/pi/.asoundrc

pcm.!default
{
  type asym
  playback.pcm {
    type hw
    card 0
    device 0
  }
  capture.pcm {
    type plug
    slave {
      pcm {
        type hw
        card 1
        device 0
      }
    }
  }
}

を記入後、セーブして、再起動してください。
再起動後はこの章の初めからやり直してください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

%d人のブロガーが「いいね」をつけました。