目次
はじめに
こんにちは、のんびりエンジニアのたっつーです。
Twitter(@kingyo222)で Unity情報 を発信しているのでよければフォローしてください!
つい先日に「Google AIY Voice Kit」を使って音姫を作ったのでその作り方を記事にしてみます。
以下に、音姫完成時にどのような動作をするかの動画を撮影したのでぜひ参考にしてみてください。
Google AIY Voice Kit を使って音声認識を自分の音声コマンドに差し替えていたら、、、
— たっつー@Unity情報発信 (@kingyo222) 2019年6月3日
結局、音姫が出来上がりました。
超実用的!音声認識関係ない! pic.twitter.com/P6qpMitSXe
Google AIY Voice Kitとは?
スイッチサイエンス Google AIY Voice Kit V2
Google AIY Voice Kitとは、Google Home や Amazon Echo などのスマートスピーカーを自作するためのキットになっています。
このキットの何がいいかと言うと、通常の Raspberry Pi と違いボタン、スピーカー、マイクがはんだ付け無しで組み立てるだけで使えるのが利点だと思います。
そういった理由からこのキットは、初心者向け/小学生向けだと思いますのでぜひ皆さんも試してみてください。
Voice Kitは、Googleが世界中の人々により手軽に、簡単にAIを利用できるようにと開発したキットです。
https://item.rakuten.co.jp/tsukumorobo/0405996000018/
本キットは、安価で小型なコンピューター「Raspberry Pi」で、 Google HomeやAmazon Echoのような音声認識技術とAI技術を利用したスマートスピーカーを自作するためのキットです。既製品ではないので、ユーザーが組み立て、セットアッ プなどを行う必要がありますが、作りながら、楽しみながら、より深くAIデバイスが理解できます。はんだ付けなどの必要が無く、小学校低学年ほどのお子さ までも自作いただけます。
音姫とは?
主にトイレなどで、音を出すことにより排泄音などを打ち消してくれる装置になります。
今回はこの音姫を実際に自作してみます。
主に女性用のトイレで見受けられる、擬音(消音)用の設備。
https://dic.nicovideo.jp/a/%E9%9F%B3%E5%A7%AB
多くの場所では「音姫」という名称で定着していると思われるが、これはTOTOによって商標登録された名称であり、正式には「トイレ用擬音装置」と呼称される。流水の音などを発生する事で、トイレで発生する諸々の音(排泄音、生理用品の交換時や衣服の衣擦れの際に発生する音など)を打ち消してくれるのである。
さっそく作ってみよう
それではさっそく実際に組み立て&OSインストールを行ってみましょう。
組み立て&OSインストール
この手順については色々なサイトで
※Google AIY Voice Kit は、無印 と V2 がありますが基本は変わらないはずなので問題ありません。
こちらのサイトの手順にそって、組み立て&OSインストールを行いましょう。(「動作テストをしよう」の章までで問題ありません)
音楽ファイルをダウンロード
実際に「音姫」を実行時に再生する、川のせせらぎのような音楽ファイルをダウンロードする必要があります。
こちらのサイトから以下の「小川のせせらぎ」を今回は使わしてもらいました。
ダウンロードしたら、「Google AIY Voice Kit」の Raspberry Pi の「/home/pi/Music」に creek1.mp3 を転送しましょう。
独自プログラムに置き換える
必要なライブラリを追加しておく。
今回は MP3 を再生するためにちょっとリッチなライブラリをインストールします。
Raspberry Pi に SSH 接続をして以下コマンドでライブラリを追加しましょう。
pip3 install pygame
そして次に 「/home/pi」に toillet.py を作成してください。
toillet.py ソースコードの中身は以下のような感じになります。
ボタンを押すたびに、再生・停止が交互に実行されるようなプログラムになります。
from aiy.board import Board, Led
import pygame.mixer
import time
def main():
# init
pygame.mixer.init()
play = False
# main loop
print('LED is ON while button is pressed (Ctrl-C for exit).')
with Board() as board:
while True:
board.button.wait_for_press()
board.button.wait_for_release()
if play == False:
pygame.mixer.music.load("/home/pi/Music/creek1.mp3")
pygame.mixer.music.play(-1)
board.led.state = Led.ON
play = True
else:
pygame.mixer.music.stop()
board.led.state = Led.OFF
play = False
if __name__ == '__main__':
main()
toillet.py が作成できたら、SSH接続して以下のコマンドを実行すると・・・ボタンを押すたびに川の音の再生・停止ができたかと思います。
python3 toillet.py