地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

[RaspberryPi」Alexaを入れてみた。

Amazon Echoを体験したくてRaspberry Pi3にAlexをインストールしてみました。

 

環境:

Raspbian Jessie with PIXEL

 

Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

USBマイクとAnalogのスピーカは接続して動作を確認済み。

 

導入:

github.com

 このサイトにしたがって、Amazonのdeveloper accountの登録を済ませる。

 見落としがちなのが、Allowed Origins と Allowed Return URLs の設定。忘れるところでした。

 

 さて、Alexaには日本語を話して欲しい。

qiita.com

 さらに、raspberry piで使うinstallスクリプトである automated_install.sh にも日本を追加します。

select_option Locale "en-US" "en-GB" "de-DE" "ja-JP"

 後は

 automated_install.shを実行して、 ProductID、ClientID、ClientSecretを入力して言語指定する。長く掛かりそうだったので、40分ほどお買い物にお出かけして帰ってきたら終わってました。

 ようやく、動かします。

 サービスの稼働 npm start

 クライアントの起動 mvn exec:exec

 そしてwake wordエージェント wakeWordAgent -e sensory

 が、wake wordエージェントはエラーを吐いて機能してない。

 まずは、クライアントからボタンを押してAlexaの動作を確認した。良好良好。ピカチュウも来てくれた。

 

トラブルシューティング

 wakeWordAgentがうまく動かないのは、wake wordエージェントがUSBマイクをうまく拾えてないようだった。単純に設定見直しても動いてくれない。 

cami-and-co.blog.jp

 インストールをされた方の状況を見ると、同じエラーの様です。とりあえず、議論先を見ます。 

github.com

とりあえず、不足しそうなものは入れておけ根性で

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

 それから、Audio関係の設定をいじります。

sudo nano ~/.asoundrc

change your ~/.asoundrc file to:
pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:0" } capture.pcm { type plug slave.pcm "hw:1" } }
sudo nano ~/.asoundrc

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

 動いた!

 追記 再起動で.asoundrcが書き換えられた。タイミングがわからないので書き込み禁止にしておくといいかも。(もしくは、起動時に書き換えるか)

  

 

Alexaのワードへの反応が鈍い気がしますが、音楽流してCPU負荷率が10%ちょっとなので、遊べそうです。