人工知能

AIスピーカー自作してみました!1週間1時間活動の記録!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

皆さんこんにちは。

入社3年目の牧野です。
はじめてブログを書かせていただきます!
読みにくい部分があるかもしれませんが、ご容赦を(汗)

今回は、AIスピーカーを自作してみたので その備忘録的なものを書きたいと思います!

その前に・・・ 「なぜAIスピーカーをつくったの?」と思っている方もいらっしゃると思うので簡単に私たちの活動を紹介いたします。私たちは「1週間1時間活動」というゆる~い活動をしています。”なんでもいいので興味のあることを試してみよう”的な緩めの趣旨です(笑)

~1週間1時間活動とは~

●プロジェクト1:クリエイターズファイルを創ろう(感性を磨きたい)
→SRA東北の社員をより多くの皆様に知っていただこうと、社員紹介用のクリエイターズファイルを創りました!(ご協力していただいた皆様ありがとうございました!)

●プロジェクト2:AIチャットボットを触ってみよう(テクノロジーを学ぼう)
→皆さんお馴染みの会社のAIチャットボット「sara」のデータ作りをやってみました。
詳しくは左記URLにアクセスし、ご覧ください!http://blog.sra-tohoku.co.jp:3000/

●プロジェクト3:SENTOKO LINEスタンプ作成(クリエイティブを学びたい)
→SENTOKO LINEスタンプを作ってみました。

●プロジェクト4:AIスピーカーを作ってみよう Voice Kit(テクノロジーに触れてみよう)
→AIスピーカーが届いたので、組み立てています。ちなみにラズベリーパイを年末の会社の大掃除でごみと誤って捨ててしまったので、新しく買いました(笑)

●プロジェクト5:モバイルアプリを作ってみよう(テクノロジーを学ぼう)
→予定です。

●プロジェクトX:ARアプリ???

やりたいものを、やりたいときにつくる!をモットーに、今後も地道に活動予定です。

さて、お待ちかねのAIスピーカーについてです!!色々なサイトにAIスピーカーの作り方が載っていますが、今回は苦労しとこと、盲点だったところを中心にお伝えします(^O^)

1.まずは準備物!

・Voice Kit
・ラズベリーパイ
・SDカード
・ディスプレイ
・キーボード
・マウス 以上!!

ここで備忘録。

SDカードに予めOSをインストールするのですが、Voice Kit専用のOSがあるのでそちらをインストールしてください。OSは、本家サイト(以下URL)よりGETできます。
https://aiyprojects.withgoogle.com/voice#assembly-guide-1-get-the-voice-kit-sd-image
※我々は別のOSをインストールしてしまい、結構苦戦しました・・・。

ではでは、早速、AIスピーカーをAIYしていきましょう!!

これがVoice Kitです。

中身はこんな感じ。

さらにこんな感じ。

2.ラズベリーパイと合体させます。

Voice Kitの部品に白い棒状のものが2本あるので、それでラズベリーパイとVoice Kitの基盤を固定します。(結構ちからが必要でした~。基盤が壊れる!くらい力を入れて固定しました)

3.スピーカーを取り付けます。

赤い端子を+側へ、黒い端子を-側へ取り付けます。精密ドライバーで上部のねじを止めて固定します。 (ドライバーがなくても、しっかりさせばいけました!!)

3.ボタン用につながるケーブルを取り付けます。

4本と5本のケーブルがありますが、4本のケーブルがボタンにつながるケーブルです!

4.マイクと5本のケーブルも取り付けていきます。

これで基盤は完成です!

5.外側のケースを組み立てていきます!

こんなふうに、どの順番で折るか書いてあるのでその通りに折っていきます。

なんかそれっぽくなってきましたね!

6.スピーカーを取り付ける部分を作成していきます。

こちらも、どの順番に折るか書いてあるので、その通りに折っていきます。

7.スピーカー、ケースを一つに組み立てていきます!

さきほど組み立てたケースの「FOLD UP」と書かれたところに溝があると思うので、そこにスピーカーを下の図のようにいれます。

基盤は「GOES HERE」と書かれたところに置きます。

8.基盤をケースへいれます!

ここでちょっと複雑?な作業です!ケースの②と書かれた部分を、基盤に差し込むようにして取り付けます。

そしてそのまま、ケースの中へこのまま入れてみましょう!

この作業も大変で、なかなかきれいにケースにはいってくれませんでした・・・。※このとき、SDカードを基盤にとりつけたままだと、ケースに入らないのでご注意を!!

9.ボタンをとりつけます。

いよいよラストスパート!Voice Kitのシンボル、ボタンを取り付けていきます。※右下の黒い部品で、裏側からボタンを固定してください。

ボタンを取り付けたら、基盤に取り付けたケーブルをボタンにも取り付けていきます。

ケーブルのつける位置は決まっているのでご注意を!

やったー完成!!
これで組み立ては完成です!※マイク部品は、本家のサイトだと「MIC BOARD」に両面テープで取り付けていましたが、今回は取り付けずにそのままケースへ収納しました。

10.Voice Kitを実際に動かす!

さてさて、ここからはVoice Kitを実際に動かしていきます!基盤部分にキーボード、マウス、ディスプレイを取り付け充電を差し込むとラズベリーパイが起動します。

初回は以下でログインできます。
ID:pi
PASS:raspberry

ログインに成功すると、こんな画面がでてきます。(AIY!!)

ここから色々初期設定をするのですが、割愛します。(汗)
デスクトップには、Voice Kitのデモ用に以下が用意されています。
1.CHECK audio
2.CHECK cloud

クリックすると、動作確認ができるので試してみてください。

上記以外に、Voice Kitには、以下のデモが用意されています。
assistant_library_demo.py
assistant_grpc_demo.py
cloudspeech_demo.py

さっそく「assistant_library_demo.py」を試してみました!
ターミナルを立ち上げ、以下のコマンドを実行します。
src/examples/voice/assistant_library_demo.py

多分こんなエラーが発生しますね。
Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id…

** (epiphany-browser:1384): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files・・・

エラーの中に、
Please visit this URL to authorize this application: https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=…
と表示されているのがあると思うので、URLにアクセス、ログインしてGoogle AsistanAPIを有効にしてください。※先に有効にしておいてもOKです!

もう一度先ほどのコマンドを実行すると、
src/examples/voice/assistant_library_demo.py
/home/pi/AIY-projects-python/src/aiy/_drivers/_led.py:51: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(channel, GPIO.OUT)
Say “OK, Google” then speak, or press Ctrl+C to quit…

こんなのが出てきますので、「OK Google!」と話してみてください。※何人かで試したのですが、反応する人と反応しない人がいました(笑)
他のデモも、実行するとエラーが発生すると思いますが、上記の対応で対処できます。

いかがでしたか?Voice Kit作成できたでしょうか?私たちも一通りデモをしたのですが、開発者の工夫次第!という印象を受けました。Voice Kitは最小限の機能を備えているようなので、これからもっと実験・調査が必要なようです。これからも「1週間1時間活動」ゆる~く活動していきます!!!!

ご精読ありがとうございました!

 

編集後記

今読んでもらっているこの記事は私が作成しました!

【原稿執筆】

 

お電話でのお問い合わせ

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る