はじめに
この資料は、Serverless Advent Callender 2016 の 19日目の投稿です。
CheapなEchoでAlexa祭りをします。
#用語
Alexa
Amazon が提供する音声認識プラットフォームです。
AVS(Alexa Voice Service)
Alexa の音声認識エンジンです。Amazon Echoに入っています。
Alexa の構成要素はふたつ。
-
AVS(Alexa Voice Service)
Alexaの音声認識エンジンです。デバイス上で録音した音声をHTTPベースでやりとりします。 -
ASK(Alexa Skills Kit)
独自の会話パターンを開発できるキットです。AWS Lambda が推奨されており、Serverless に開発ができます。
昨日の記事はASKの記事でしたので参考に。
Advent Callender 18日目
#背景
この記事を書く背景には、未だに Amazon Echo の技適が通っておらず、日本では購入できない、という悲しい現実があります。Echosim.io のようにWebベースのテストツールなんてのもありますが、Echoが来ていないなら自作して、Serveless な スキル開発を楽しもうじゃないですか?
概要
- デバイスはラズパイ3を使います。
- AVSのインプリメントに使う言語はPython(ライズパイにプリイン)です。
- Alexa のWake word("Alexa")に反応させます。
材料(ハードウェア)
- RaspberryPI 3
- USB Microphone(https://www.amazon.com/dp/B00IR8R7WQ/ref=cm_sw_su_dp)
- 32pin mini micro jack speaker(https://www.amazon.com/dp/B007OYAVLI/ref=cm_sw_su_dp)
材料(ライブラリ)
下準備
Amazon の公式リポジトリにRaspberryPI用のサンプルがあります。Let's get startedのSTEP3まで完了させます。
デバイスとAVSを接続するプロファイル(ProductID、ClientID、ClientSecret)が得られます。
ハードウェアのセットアップ
Raspberry PI 3 をセットアップします。
Installing operating system image
#ソフトウェアのセットアップ
##hyper
$ pip install hyper
##snowboy
$ sudo apt-get install swig3.0 python-pyaudio python3-pyaudio sox pip install pyaudio
$ sudo apt-get install libatlas-base-dev
$ cd/swig
$ make
上のように自分でインストールしてもよいですが、プリコンパイルしたモジュールがあるので、そちらをラズパイにコピーするのが楽です。
Precompiled module
AVSの導入
-
AlexaPI
初期設定動画(英語)
ラズパイとAlexaPIを認証させる動画です。
セットアップが完了すると、Developper.amazon.com で取得したセキュリティプロファイルの記載されたcreds.pyが生成されます。
起動
$ python wakeword_detector.py
デーモンとして登録すれば、起動時にwakeword待ち状態にすることも可能です。
#デモ
https://www.youtube.com/watch?v=Ghn1NpbUPJQ
#さいごに
発音の悪さと中のマイクの位置で認識率悪すぎるのは、本当にすみませんm(_ _)m