ついにAmazon Echo国内販売の発表が来ましたね。
GoogleやLINEなども参入し始めているスマートスピーカー市場ですが、 Echoの国内販売は年内だそうです。 やや乗り遅れ気味ですが、折角なので一足早くAlexaをラズパイから触って見たり、 Skillの作成を試してみようと思います。
目次
Raspberry Pi 必要なもの SDカードにOSをインストール AVS Amazon Developerアカウントの作成 デバイスの登録 avsサンプルアプリの導入 avsサンプルアプリの起動
Raspberry Pi
今回Echoの代わりに使うラズパイですが、低価格の小型コンピューターです。 SDカードにOSをインストールし、電源を繋げるだけで立派なPCとして使用できます。
NASに出来たり、音楽プレーヤーに出来たり使い方は様々ですが、 今回はAlexaと連携する疑似Echoとして使います。
必要なもの
・Raspberry Pi 3 ・MicroSDカード ・メモリカードリーダー ・HDMIケーブル ・USBキーボード ・USBマイク ・USBスピーカー ・USB電源(2.4A推奨)
SDカードにOSをインストール
ラズパイでは専用のDebianベースのOS「Raspbian」を使用出来ます。 今回は上記のOSを使うので、別PCから用意したMicroSDカードにRaspbianをインストールしましょう。 ※カードによってラズパイと相性悪い物もあるようなので、購入する場合はちょっと調べた方がよさそうです。
・下記公式サイトにアクセスし、NOOBSをダウンロードします。
https://www.raspberrypi.org/downloads/noobs/
NOOBS LITEは軽い代わりにインターネット経由でのインストールとなります。 今回は通常のNOOBSでインストールを行います。
・ダウンロードしたNOOBSを解凍し、フォーマットされてあるMicroSDにコピー
書いてある通り、フォーマットは忘れずに。 コピーし終わったMicroSDの中身はこんな感じになっています。
・ラズパイの起動
コピーが終わったら、いよいよ起動です。 MicroSDカードをラズパイに差し込み、電源、HDMI、USBキーボード等をつなげてみましょう。
上記の画面が映りましたらRaspbianを選択し、Installしましょう。
インストールが完了したらupdateやupgradeを済ませておきましょう。 また、HDMIやらキーボードやら接続が面倒な場合はVNC等を導入した方が今後楽かもしれません。
AVS
ラズパイが動くようになりましたら次はAVSを入れ、Alexaと会話出来る様にします。
ラズパイに導入するAVS(Alexa Voice Service)は音声認識を行い、それをクラウド上のAlexaに渡す役割を持っています。 こちらをラズパイに導入するだけでラズパイがEchoと同様な役割を果たせるようになります。
では進めていきましょう。
Amazon Developerアカウントの作成
Alexaにデバイスを追加するには上記アカウントが必要となりますので作成しましょう。
https://developer.amazon.com/home.html
デバイスの登録
Amazon Developerアカウントを使い、開発者ポータルにログインを行いましたら、デバイスの登録を行いましょう。
次は下記のサイトを参考にデバイスの登録をします。 https://github.com/alexa/alexa-avs-sample-app/wiki/Create-Security-Profile
ざっくり流れを説明しますと…… デバイス情報の登録→セキュリティープロファイルの作成→セキュリティープロファイルの有効化 という感じです。
ラズパイはセキュリティープロファイルを使い、Alexaに認証します。
上記手順中にメモる必要があるのは以下の三点 ・ProductID ・ClientID ・ClientSecret
avsサンプルアプリの導入
登録が終わったら早速avsサンプルアプリを入れましょう。
以下よりラズパイでの操作です。
git clone https://github.com/alexa/alexa-avs-sample-app.git
automated_install.shに上記でメモった三点を記入出来る所があるので編集します
cd ~/alexa-avs-sample-app vi automated_install.sh
実行します
. automated_install.sh
色々聞かれますが、localeを1(en-US)にし、Audio Outputを3.5mm jackならHDMIなら2 他はyesを指定し、インストールしましょう
avsサンプルアプリの起動
インストールが終わったらいよいよ起動です。
三つターミナルを開き、以下三つを起動させます。
①AVSに認証を行うウェブサービスを立ち上げます cd ~/alexa-avs-sample-app/samples/companionService npm start
②AVSとやり取りを行うアプリの起動 cd ~/alexa-avs-sample-app/samples/javaclient mvn exec:exec
ダイアログボックスが開くのでYesを選択し、ブラウザにdeveloper accountでログイン
③Alexaと呼びかけると、聞き取りを開始するwakewordengineの起動 cd ~/alexa-avs-sample-app/samples/wakeWordAgent/src ./wakeWordAgent -e sensory
これにてセットアップが完了しました。
繋げたマイクに"Alexa"と喋りかけるとポーン!と音が鳴り、何か聞けば反応が帰ってくるはずです。 試しに"What time is it in Japan?"と聞くとちゃんと日本の現在の時間を教えてくれました。
後は公式サイトから好きなSkillを有効化することによって、Echoの様に使えます。
無事ラズパイからAlexaが使える事を確認出来たので、次回はSkillを作ってみようと思います。