【音声アシスタント開発】世界で話題の音声アシスタント、Amazon Echoを自作してみた!
AI音声アシスタントやりたい!
ロボットエバンジェリストの西田です。
最近AI音声アシスタント流行ってますよね! Google HomeとかAmazon Echoとか!
残念なことに国内では販売されていないし、仮に手に入っても技適が通っておらず、国内では法律違反になるため使用できません。
海外では注目されている音声アシスタントが日本で体験できないなんて・・・。
だったら自作しよう!
「つまらないなー」と思っていたら、朗報が! Amazonの Alexa Voice Services (AVS) というサービスを使えば、Amazon Echo(的なもの)を自作できるとのこと。
さっそく、やってみることにしました!
デバイスを作成しよう!
まずは、Amazon Developerにログインします。AWSのほうじゃなくて、Amazonアプリストアのほうなので注意しましょう。
右側の、Alexa Voice Serviceを選ぶと、Register your product with Alexa Voice Serviceのページに移動します。ここで、自分のAlexaを登録できます。
基本的には、Getting Started Guideをみながら設定していきます。
なぜか日本語版だとリンク切れで見ることができないので、英語版のGetting Started Guideを見ながら作業しました。なので若干自己流かもしれません。はやく日本語版のページがほしいですね!
無事設定が終わると、deviceが出来上がります。
今回は、Alexchanというdeviceを作成しました!
Amazon Developer https://developer.amazon.com/ja/
ハードウェアを用意しよう!
デバイスの用意ができたので、ハードウェアの用意をします。今回は、Raspberry Pi 3を用意しました。
USBマイクとスピーカーも用意しました。(このスピーカーはブルートゥース接続ができてマイクもついているのですが、今回はピンジャック接続で、スピーカー機能だけ使っています。)
ハードウェアの用意はこんな感じです。
インストールしてみよう!
先程のGetting Started Guideで紹介されていた、alexa-avs-sample-appをみながら、ソフトをインストールしていきます。
完了したら、ラズベリーパイの画面からコマンド・プロンプトを表示して、アプリを起動します。Alexaの実行には、2つのアプリの起動が必要です。
うまくいくと、このような画面が出て、Alexaが使えるようになります!
Listenボタンを押すと聞き取りモードになります。マイクに話しかけると、通信を行った後にスピーカーから音声が流れてきますよ!
実際に試して動画を取ってみました!
いい感じですね! 本物っぽい感じがします!
本物との違いは?
本物のAmazon Echoとの大きな違いは、「Alexa」という言葉で起動できない点です。あと、当然ですがマイクの読み取り精度などは用意したハードウェアに依存します。
【追記】Alexaの声で起動する方法もあるそうです! Getting Started Guideに書いてあるんだけど勘違いして手順を飛ばしたっぽいです・・・。次回は挑戦してみます!
管理画面(?)を使ってみよう
せっかくAlexaのユーザーになったので、管理画面(?)も覗いてみることにしましょう。
Amazon Developerと同じアカウントでログインすることができました。
HOMEのタグでは、いままで話しかけた履歴を見ることができます。
Voice feedback の再生ボタンを押すと、自分がさっき話しかけた声がパソコンから聞こえてきます!
音声認識のフィードバック用とはいえ、リアルな音声のログまで取っているとは・・・。
常時ログを取っているわけではなく、Listenボタンを押した後(Alexaと話しかけた後)の、声だけをログに取っているようです。
ちなみに、話しかけた内容によっては、ログが残らないみたいです。
たとえば、「What time is it in Japan?」はログが残るのですが、「What time is it now」は残っていませんでした。もしかしたら、クライアントだけで処理しているワードは、ログが残らないのかもしれません。
管理画面(?) pitangui.amazon.com
こうおもった
Amazon Echoが作れたのでうれしい! これで、スキルの開発とかもできちゃうかもです。ただ、ログを取ってるのはびっくりですね。アレクサと呼びかけたときだけしか保存しないとはいえ、背景に流れている音や他の人の声も保存されちゃうのは怖い気も・・・。この機能を利用して、ダイイング・メッセージにAlexaに話しかけていて事件が解決した・・・みたいなことが将来起こるかもしれませんね!