Google AIY Voice Kitを使ったスマートスピーカーの自作

こんにちは。[株式会社VASILY](https://vasily.jp/)でフロントエンドマネージャーをしているararajpです。この記事は[VASILY Advent Calendar 2017](https://qiita.com/advent-calendar/2017/vasily)の14日目の記事となりますが、業務とは全く関係ありません。本記事はGoogle AIY Voice Kitを使用したスマートスピーカーの自作記事となります。今回は音声認識装置の組み立て完了までを紹介します。

# きっかけ
今年は国内で多くのスマートスピーカーが発売されました。大型家電量販店にもGoogle Homeが並び、多くの人が手に取ったのではないでしょうか。私も流れに乗ってスマートスピーカーデビューをしたのですが、使用頻度が減っていき、日常生活で活用しているとはお世辞にも言えません。そんな中、先日Google Playが主催する「PLAYTIME 2017」に参加する機会を得ました。会場にはPlaygroundがありGoogle Homeや**Voice Kit**の説明を聞いてまた少し興味が出てきました。スマートスピーカーを日常生活に取り入れるのは難しかったですが、自作することで、スマートスピーカーの別の楽しみ方を探したいと思います。

# Google AIY Voice Kit
[Google AIY Projects](https://aiyprojects.withgoogle.com/)は自作AIをサポートするプロジェクトで、Voice Kitはそれの第一弾です。音声の認識と再生用のハードウェアが含まれており、先月より国内で[先行販売](https://raspberry-pi.ksyic.com/news/page/nwp.id/65)されています。

# 事前準備
Voice KitはRaspberry Pi用の自作キットです。Voice Kitだけを手に入れても目的は達成できませんので、必要な物を準備します。今回準備した物の大体の値段を記載しておきます。



- Google Voice Kit / 3,000円
- Raspberry Pi 3 MODEL B/ 5,000円
- Raspberry Pi用 USB電源 / 1,000円  
- Micro SDカード 16GB / 1,000円
- ドライバー
- キーボード
- ディスプレイ（必要に応じて）
- マウス（必要に応じて）

ご覧頂いて分かる通り、10,000円を超えています。必要最低限のスペックを用意したわけではありませんが、**Google Home Miniより高く**、Google Home Miniがどれだけ安いかが分かります。ディスプレイとマウスは手元にPCがあればsshで作業出来るので必要ありませんが、AIYの画面を見てみたかったので今回はディスプレイを使いました。

# 作成
必要な物の準備が整ったところで、スマートスピーカーの作成に入ります。

## Voice Kit SD Image
まず初めに[Voice Kit SD image](https://aiyprojects.withgoogle.com/voice/#assembly-guide-1-get-the-voice-kit-sd-image)からOSイメージをダウンロードしてSDカードにコピーします。SDカードにコピーする方法は何でも良いですが、公式では[etcher.io](https://etcher.io/)が案内されています。2ステップで簡単にコピーできるため、今回etcherを使用しました。

![etcher-logo-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/11156/a437bb9e-6d98-1710-d776-08a622d2b29a.jpeg)

コピーには多少時間がかかるため、ハード組み立てに入る前にやっておくのがオススメです。また、現在のRaspbianはデフォルトでSSHが無効となっているため、ディスプレイが無く、SSHの作業を必要とする人はSSHを有効にする必要があります。ボリューム直下に空のsshファイルを作成することで起動時にSSHが有効になります。

```
$ touch /Volumes/boot/ssh
```

※ 無効になっている理由はセキュリティの観点です。上記を行うことでデフォルトのID、パスワードでssh接続が可能になりますので注意が必要です。


## ハードウェアの組み立て
Voice Kitを開封し、スピーカーを組み立てていきます。

![AIYlaunch_Google-VoiceSim-Deconstucted-white.png](https://qiita-image-store.s3.amazonaws.com/0/11156/333fd424-0196-fc45-f2c0-fcb4aedb8237.png)
（出典：Google AIY Projects）

Voice Kitの中身はVoice HATボード、 ドーターボード、 3インチのスピーカーなどRaspberry Pi、SDカード以外に必要な物が梱包されています。非常に有難かったのがガイドブックの内容です。70ページほどのガイドブックも付属されており、英語ですがかなり丁寧に解説されています。


<img src="https://qiita-image-store.s3.amazonaws.com/0/11156/4ea30ea9-4dbd-c3a6-69a7-2a5e2b63d62f.jpeg" height="500px">

手順はガイドブック、[公式サイト](https://aiyprojects.withgoogle.com/voice/#assembly-guide)に丁寧に記載されているので割愛しますが、大まかに以下のような流れで組んでいきます。

1. Voice HATボードをRaspberry Piに取り付ける
2. スピーカーをVoice HATボードに接続する
3. ドーターボードをVoice HATボードに接続する
4. マイクをVoice HATボードに接続する
5. 付属のボックスを組み立て、作成したボードを収める
6. HATボードとアーケードボタンを接続する

![asset.JPG](https://qiita-image-store.s3.amazonaws.com/0/11156/6c4a3921-8d56-eb1a-c89e-b27a07256147.jpeg)

はんだ付け等も必要としないので作業時間は1時間もあれば十分行えます。

## 起動
ハードが完成し、SDカードにイメージのコピーが完了したら、作成したハードにSDカードを差し込みます。ディスプレイ、キーボード、電源を接続し、電源ボタンを押すと「AIY Projects」の画面が立ち上がるはずです。

![unnamed.png](https://qiita-image-store.s3.amazonaws.com/0/11156/83f378bc-17e7-8d23-590f-a3799aea9f53.png)

## Wi-Fiの設定
起動したらまずWi-Fiの設定をします。ツールバーのWi-Fiマークから使用するSSIDを選択するか、wpa_supplicant.confを直接編集します。ブート前にwpa_supplicant.confをボリューム直下に作成しておくことで起動時に設定されます。

```
vim /etc/wpa_supplicant/wpa_supplicant.conf
```

```
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
　　　ssid="SSID"
　　　psk="パスワード" # 平文ではなくハッシュ化したパスワードに変更推奨
}
```

注意点として、Raspberry Pi 3は2.4GHzの無線LANを内蔵しており、5GHz帯に対応していません。もし接続ができない場合は無線LANの周波数を確認してみると良いかもしれません。

## SSHの確認
ディスプレイ、キーボードがある方は特に必要としませんが、ついでなのでSSHの確認を行いました。ボリューム直下にsshファイルを作成しておいたので、SSHが有効になっています。

<img width="773" alt="スクリーンショット 2017-12-13 6.58.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/11156/ab4157e3-4beb-7bc9-36a9-105e45bf18eb.png">

デフォルトでは以下のようになっているので忘れずにパスワードを変更しましょう。

- ID : pi
- パスワード : raspberry

## スピーカー、マイクのテスト
最後にスピーカーとマイクのテストを行います。デスクトップにある「Check Audio」というアイコンをクリックします。スピーカーからテスト音声が流れればスピーカーの接続は正常です。ターミナル上で「Did you hear the test sound? (y/n)」と聞かれるので、正常であれば「y」を入力し進めるとマイクのテストに移ります。

![unnamed-1.png](https://qiita-image-store.s3.amazonaws.com/0/11156/38de6ee4-d05d-0614-e79a-dd90fbcf7cd6.png)


マイクのテストは話かけ、自分の発生した声がスピーカーから聞こえてくれば完了です。ここまで正常に動作すれば音声認識装置の組み立てが完了となります。この後Google Assistant APIを試していきましょう。


# まとめ
今回はVoice Kitを使用したスマートスピーカーの装置セットアップ完了までを紹介しました。Voice Kitは組み立てが非常に簡単かつ出来ることの幅が広いため、自由研究などにオススメです。組み立て自体はミニ四駆よりも簡単です。ソフト面の細かな設定は手伝う必要がありますが、小学生の課題などに適していると思います。まだスマートスピーカーを入手していない人は遊んでみてはいかがでしょうか。