音声認識による対話型アシスタント

https://github.com/IchinaZiru/Progate-Hackathon

GitHub

AWS

Python

EC2

音声認識、AIによる応答生成を利用した対話型アプリケーション!!

Ichina

awatyakiau

かめかめ

Rintaro

Claros

推しアイデア

「音声で対話するAIアシスタント」です。このシステムは、音声認識を活用し、ユーザーと自然な対話を提供します。質問に応じてAIがリアルタイムで応答。家庭やオフィスなど、さまざまなシーンで活躍できるスマートなアシスタントです。

作った背景

現代の技術は、音声認識や生成AIによる自然言語処理、モーション検出などの分野で急速に進化しており、それらを組み合わせることで、ユーザーがより直感的に、手を使わずに操作できるシステムを提供することができると考えました。

推し技術

「Python」です! Pythonは、今回の音声アシスタントシステムで使用するのに適したプログラミング言語です。シンプルで読みやすく、音声認識、モーション検出、AI応答生成(OpenAIなど)などのライブラリが豊富に揃っています。

プロジェクト詳細

音声認識システム

概要

このプロジェクトは、

・Raspberry Pi ・AWS IoT Core ・AWS Simple Queue Service ・AWS DynamoDB ・AWS CloudWatch ・AWS Lambda ・AWS EC2

を組み合わせて、ユーザーの音声入力に基づいたAI応答を音声で返すシステムを構築します。Raspberry Piのマイクで音声を認識し、テキスト化後、AWS IoT Coreを通じてメッセージが送信され、EC2上でAIが応答を生成し、再度IoT Coreを通じてRaspberry Piに返答を送信し、最終的に音声としてユーザーに再生します。

構造図

image

フロー

1.ラズパイで音声認識とテキスト化

  • ユーザーの音声をRaspberry Piで録音し、音声認識を行いテキストに変換します。

2.テキストをAWS IoT Core経由で送信

  • 音声がテキストに変換された後、Raspberry PiはAWS IoT Coreにそのテキストメッセージを送信します。

3.IoT CoreからSQSにメッセージ転送

  • IoT Coreは受け取ったテキストメッセージをAmazon SQS(Simple Queue Service)に転送します。

4.EC2でAI処理

  • EC2はAWS IoT Coreからメッセージを受信し、受け取ったテキストをもとにAI(例えばGPT-4)を使って応答を生成します。

5.生成した応答をIoT Core経由でラズパイに送信

  • EC2は生成した応答をAWS IoT Coreに直接送信します。

6.ラズパイが音声合成し応答を再生

  • Raspberry PiはIoT Coreから受け取った応答を音声合成し、スピーカーを使ってユーザーに再生します。

プロジェクト

  • Raspberry Pi: 音声認識、音声合成、IoT Coreとの通信
  • AWS IoT Core: メッセージの転送、デバイス間の通信
  • Amazon EC2: AI処理(応答生成)
  • Amazon SQS: メッセージの非同期送受信

ライブラリ

  • speech_recognition: 音声認識ライブラリ(Google Speech APIなど)
  • boto3: AWS SDK for Python(IoT CoreやSQSとの連携)
  • pyaudio: 音声デバイスとのインタフェース
  • pyttsx3: 音声合成ライブラリ
  • requests: HTTPリクエスト送信(API呼び出し)

API

  • Google Cloud Speech-to-Text API: 音声をテキストに変換
  • OpenAI GPT-3.5-turbo API: AIによる応答生成
  • AWS IoT Core API: デバイス間でメッセージの送受信
  • AWS SQS API: メッセージキュー
  • Amazon Polly API: テキストを音声ストリームに変換

Ichina

@0f84eaa776c0af65