ITmedia NEWS > STUDIO >

ラズパイでスマートスピーカーを作る 「アレクサ!あしたの天気は?」 〜ハードウェア設定編〜名刺サイズの超小型PC「ラズパイ」で遊ぶ(第16回)(2/3 ページ)

» 2020年03月20日 07時00分 公開
[岩泉茂ITmedia]

録音して再生できるか確認する

 デバイスの認識が終わったら、試しに自分の声を録音して聴いてみましょう。以下のコマンドを入力します。

$ arecord -f cd test.wav

 ここで「-f」はフォーマットを決めるオプションで、「cd」はその指定の通り、CD音質での録音となります。

 再生するのは「aplay」コマンドです。以下のように入力します。すると「再生中」と表示され、サウンドが再生されます。

$ aplay test.wav
再生中 WAVE 'test.wav' : Signed 16 bit Little Endian, レート 44100 Hz, ステレオ

 録音したサウンドがちゃんと再生されましたでしょうか。再生されない場合は、マイクのボリュームが高くなっているかをまず確認してください。スピーカーのチェックは以下のコマンドで可能です。

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

 スピーカーから「Rear Center」という声が聞こえれば、スピーカーの設定は合っています。

AVS SDKのインストール

 ではラズパイでAlexaが使えるように、AVS SDKをインストールしましょう。まずは以下の内容をコンソールから入力して、ツール類をダウンロードします。長いですのでコピー&ペーストした方がよいです。

$ wget https://raw.githubusercontent.com/alexa/avs-device-sdk/master/tools/Install/setup.sh && wget https://raw.githubusercontent.com/alexa/avs-device-sdk/master/tools/Install/genConfig.sh && wget https://raw.githubusercontent.com/alexa/avs-device-sdk/master/tools/Install/pi.sh

 この後は以下のコマンドを入力してAVS SDKをインストールします。なお、以下の作業はPCなどからのリモート接続でなく、ラズパイのコンソールかデスクトップ上で入力しないとエラーになりますので注意しましょう。

$ sudo bash setup.sh config.json

 インストールの画面が一瞬止まりますので、大文字で「AGREE」と入れてEnterキーを押すとインストール作業が開始されます。ファイルのダウンロードとインストールが終わると、最後にはライセンスが表示されますので、Enterキーを押して表示を進めたあと「yes」と入力してください。再びファイルのビルドが始まるので、「**** Completed Configuration/Build ***」と最後に表示されるまで待ちましょう。セットアップですが、かなりの時間がかかります。ライセンスの表示が出るまでに20分、そこからインストールが終了するまで40分くらい、といったところです。

photo この画面で「AGREE」と入力する
photo Enterキーを押して表示を進める
photo ライセンスが表示されるので、最後に「yes」と入力する
photo インストールにはかなりの時間がかかる
photo 最後に「**** Completed Configuration/Build ***」と表示されたら終了

サンプルアプリを起動する

 ではAlexaを動かすためにサンプルアプリを起動します。ホームディレクトリに移り、以下のコマンドを入力しましょう。

$ cd /home/pi/
$ sudo bash startsample.sh

 すると以下のように表示されてメッセージが大量に流れます。

#############################
#       Connecting...       #
#############################
2020-02-23 12:38:41.653 [ 25] 1 AlertsCapabilityAgent:executeOnConnectionStatusChanged:status=PENDING,reason=ACL_CLIENT_REQUEST
2020-02-23 12:38:41.654 [ 35] 7 HTTP2Transport:mainLoop
                  #    #     #  #####      #####  ######  #    #
                 # #   #     # #     #    #     # #     # #   #
                #   #  #     # #          #       #     # #  #
               #     # #     #  #####      #####  #     # ###
               #######  #   #        #          # #     # #  #
               #     #   # #   #     #    #     # #     # #   #
               #     #    #     #####      #####  ######  #    #
       #####                                           #
      #     #   ##   #    # #####  #      ######      # #   #####  #####
      #        #  #  ##  ## #    # #      #          #   #  #    # #    #
       #####  #    # # ## # #    # #      #####     #     # #    # #    #
            # ###### #    # #####  #      #         ####### #####  #####
      #     # #    # #    # #      #      #         #     # #      #
       #####  #    # #    # #      ###### ######    #     # #      #
       SDK Version 1.18.0
……

 このメッセージの中で重要になるのは以下の行です。最後に「C6CL9C」のようにコードが表示されますので書き留めておきましょう。

################################################################################################
#       To authorize, browse to: 'https://amazon.com/us/code' and enter the code: C6CL9C       #
################################################################################################

 メッセージが流れている最中にAmazon.comのサイトに移動します。サインインを求められるのでログインします。「Register Your Device」と表示されたら、先ほど書き留めたコードを入力します。すると認証が終了したという表示がされるとともに、コンソール画面に流れていたメッセージも変化します。なおサインインするのは米国のAmazonですので、あらかじめAmazon.comのアカウントを取得する必要があります。

 認証が終わると表示が変わります。途中で一瞬、下のような文字列が表示されるのがわかりましたでしょうか。

########################################
#       Alexa is currently idle!       #
########################################

 この文字が表示されていれば、AVS SDKのサンプルプログラムは動作しています。しばらくして文字のスクロールが止まったら準備完了です。

 では早速Alexaに話しかけてみましょう。まだ英語モードなので、英語で話しかけます。

「Alexa」「What time is it?」

 するとAlexaが時刻を答えてくれるはずです。

Copyright © ITmedia, Inc. All Rights Reserved.