【AI作成】AIスピーカを自作してみる!
こんにちは、ゆっけです
前回記事で、生成AI×ハードに手を出すべく、
RaspberryPiについて、学習を開始した旨を書きました
座学としてRaspberryPiの理解は深めつつ、
クイックに簡単なところから、何かできないかなと思いまして、調査したところ、
AIY Voice Kitという、AIスピーカを自作できるよ、というKitを見つけました
自分でアレクサ作れちゃう、ってこと???
とりあえず、ポチります
まだ、作業中なんですけど、想定より簡単に作成出来そうです
完成したらまた報告しますが、
今回は、裏側の処理について、書いていこうと思います
当然ながら、ChatGPTと対話して理解しましたので、そのログを共有しつつ、AIY Voice Kitとは?をまとめていきます
また、例のごとく、
記事を書くこと自体が本分ではないので、
ChatGPT-4oに手伝ってもらいながら、記事化しました
(本編はほとんどGPTによる文章です、ご了承ください笑)
ーーーーーーーーーーーーーーーーー
その前にまずは簡単な自己紹介だけ
経歴
社会人歴5年目、26歳
2020.4〜総合コンサルベンチャー
2023.8〜AIメガベンチャー
2023.11〜起業 サービスリリースしました!
どんな人か
マドリディスタ
キャンプ大好き
過去にPodcastを配信していました
AIY Voice Kitとは
AIY Voice Kitの概要
AIY Voice Kitって聞いたことありますか?
Googleが提供しているこのキットは、自分だけの音声アシスタントを作るためのDIYキットなんです。ベースとなるのはRaspberry Pi Zero WH。これを使って、音声アシスタントの構築から、プログラミングやエレクトロニクスの学習まで幅広くカバーします。スマートホームプロジェクトやカスタム音声コントロールプロジェクトにも最適です。
このキットを使えば、Google Assistantの機能を活用して、音声コマンドで家電を操作したり、情報を取得したりといったことが簡単にできるようになります。しかも、プログラミングやエレクトロニクスの知識が身につくので、一石二鳥です!
Kitに含まれるコンポーネントの紹介
AIY Voice Kitには、以下のようなコンポーネントが含まれています。それぞれの役割を見ていきましょう。
AIY Voice Kitの処理フロー
では、AIY Voice Kitがどのように動作するのか、その処理フローを見てみましょう。
ボタンの押下
まず、ユーザーがボタンを押します
これが音声アシスタントプログラム(Google Assistant SDK)の起動トリガーとなります
ボタンが押下されたという信号が、GPIOピンを通じてRaspberryPiに伝わり、プログラムが実行されるのです
音声データの録音
プログラム実行後、マイクから入力された音声は、Voice Bonnetを通じて音声データとしてRaspberry Piに送信されます
音声データの送信
Raspberry Pi上で動作しているGoogle Assistant SDKが、受信した音声データをGoogleのクラウドに送信します
音声処理
Google Assistant APIがクラウド上で音声データを解析し、適切な応答を生成します
音声処理として、自然言語処理やTTS処理が必要ですが、さすがにRaspberryPiでは、その処理はケイパビリティが不足しており、クラウドサービスを使います
応答データの受信と再生
クラウドで生成された応答データがRaspberry Piに送信されます
Raspberry Piはこのデータを受信し、Voice Bonnetを通じてスピーカーに送信します。そして、スピーカーから音声応答が再生されます。
この一連の流れにより、AIY Voice Kitはユーザーの音声コマンドを受け取り、クラウドで解析し、適切な応答を返すことができます
音声の入出力、音声データの送受信、音声処理・・・
普段何気なく使っている音声アシスタントの裏側の処理を知れて面白いですね
ちなみに、アレクサ等の市販AIスピーカは、ボタンを押下しないと動かない、なんてことはありませんよね
つまり、プログラム起動のトリガがボタンではなく、
「アレクサ」と呼ぶことにある
こういうのをウェイクワードエンジンというらしい(ここは間違っているかも)
今回はここまで
AIスピーカに、生成AIが搭載される話も出ているようですし、楽しみですね
P.S gpt-4oのヤバさを共有
今回は、ChatGPTと対話している中で、gpt-4oのOCR機能にかなり驚いたので、すごっ!と思った対話ログを4つ残しておきます
①画像からRaspberryPiのコンポーネントを解説
②RaspberryPiのSDカードは特定のメーカが作成しているものだと勘違いしていたゆっけの質問に対して、"推奨"という正しい表現をすることで、誤りを気づかせてくれる
③コンポーネントを画像から読み取り、役割を解説
④作成した処理フロー図を読み取り、正しいフローが記載されているかを判断
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?