Alexa や Google Home といったスマートスピーカーの話題を目にする度にいつか試したいと気にはなってたんですが、最近 AVS(Alexa Voice Service)というサービスを利用すれば Raspberry Pi をスマートスピーカーにできるということを知りまして、ちょうど近頃めっきり存在感が薄れ気味だった我が家の Raspberry Pi でも試してみました。

なお、うちのラズパイは Raspberry Pi 3 model B です。環境についての詳細は、導入した時の過去記事をご覧ください。

Alexaを動かすまでの手順

初期セットアップ

当たり前ですが、まずは Raspberry Pi に OS をインストールして普通に使えるようにはしておきます。

今回のうちの場合、下記のような初期設定は事前に済ませてあった状態となります。

音声デバイスのセットアップ

Alexa で会話するとなると必要になるのがマイクとスピーカーですね。

まずマイクですが、こちらの USB マイク「MM-MCU01BK」を購入しました。

このマイクは Raspberry Pi の USB ポートに指したら自動で認識してくれました。(下記の「C-Media Electronics, Inc.」と表示されたデバイス)

pi@raspberrypi:~ $ lsusb
Bus 001 Device 006: ID 0d8c:8100 C-Media Electronics, Inc.
Bus 001 Device 005: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

また、スピーカーは自宅で使われずに転がっていた ELECOM の「MS-UP201BK」というのを使いました。

スピーカーを Raspberry Pi のジャックに接続し、コンソールから下記コマンドを実行して音が鳴るか確認しておきます。

$ aplay /usr/share/sounds/alsa/Front_Center.wav

こちらはマイク、スピーカーを繋いだ後の様子です。

ラズベリーパイ

Amazon開発者アカウントの登録

以下の作業は、AVS の GitHub にある Raspberry Pi 用のマニュアルに沿ってセットアップを進めていきます。(英語ページですが、一つ一つの手順が詳しく書かれているので、確実に進めていけばさほど迷わずできると思います。)

まず、下記ページより Amazon 開発者アカウントにサインインします。すでに日本の Amazon アカウントを持っていれば、それでログインすれば OK でした。

次に下記のページの手順に沿って、Alexa サービスで使用するための ProductID、ClientID、ClientSecurity を取得します。

AVSセットアップ

続いて、AVS のセットアップです。

コンソールから下記コマンドを実行して、AVS のサンプルプログラムをダウンロードします。

$ cd Desktop
$ git clone https://github.com/alexa/alexa-avs-sample-app.git

ダウンロードした中にある automated_install.sh を vi 等のエディタで開き、ProductID、ClientID、ClientSecret の項目にそれぞれ取得した値をセットします。

# This is the name given to your device or mobile app in the Amazon developer portal. To look this up, navigate to https://developer.amazon.com/edw/home.html. It may be labeled Device Type ID.
ProductID=[取得したProductID]

# Retrieve your client ID from the web settings tab within the developer console: https://developer.amazon.com/edw/home.html
ClientID=[取得したClientID]

# Retrieve your client secret from the web settings tab within the developer console: https://developer.amazon.com/edw/home.html
ClientSecret=[取得したClientSecret]

次にインストールスクリプトを実行して、インストールが終わるまでしばらく待ちます。(結構時間がかかるようで、うちの場合は2時間くらいかかりました・・・。)

$ cd ~/Desktop/alexa-avs-sample-app
$ . automated_install.sh

インストールが終わったら、こちらの「Step 7」の手順に沿って AVS のサービスを起動します。(端折ってすいません。。やることとしてはターミナルを順に3つ立ち上げて、それぞれ指定されたコマンドを実行する感じです。)

ここまでできたら、ひとまずは準備完了です。

Alexaと会話してみる

マイクに向かって「アレクサ」と呼びかけてみます。

呼びかけが認識されてポーン!と音が鳴ったら、「今日は何日?」とか「いま何時?」とか聞いてみてください。

Alexa がちゃんと答えを返してくれたら成功です!

居間に置いたら、子どもたちが面白がってガンガン使ってくれましたw

おわりに

スマートスピーカー自体が初体験ですごく新鮮味があったのもありますが、入力デバイスとして面白くかつ色々な可能性を秘めてるなあと強く感じました。

IT 機器の操作には抵抗がある、手が空かない作業中に何かしたい、ちょっと離れた場所から操作したい、高齢者や体の不自由な方・・・など、特に世の中の困り事をサポートするツールとして、今後大きな活躍が期待できそうな気がしています。

せっかく動くようになったので、ぜひ今度はスキル開発にチャレンジしてみたいですね。