
AIと会話してみたい!!
最近、AI技術がますます身近になっています。スマートフォンや家電で音声操作を利用することが当たり前になり、“自分でも音声認識AIを作れたら面白そう!“と考えたことがある方もいるのではないでしょうか?
実は、Pythonを使えば初心者でも超簡単に音声認識AIソフトを作ることができます!
今回は、Python初心者の方でもわかりやすく、ステップバイステップで解説します。
音声認識AIを作るために必要な準備
まずは、ソフトを作るために必要なものを確認しましょう。
必要なツール・環境
- Python(バージョン3.7以上推奨)
- ライブラリ:以下のPythonライブラリをインストールします。
- SpeechRecognition
- gTTS(Google Text-to-Speech)
- pygame
これらのライブラリを使えば、音声入力を文字に変換してAIが返答を音声で出力する仕組みを簡単に実現できます。
環境セットアップ
- Pythonがインストールされていない場合は、Download Python | Python.orgからダウンロードしてインストールしてください。
- 必要なライブラリをインストールします。 以下のコマンドをターミナル(またはコマンドプロンプト)で実行してください。
pip install SpeechRecognition gTTS pygame
実際にコードを書いてみよう!
ここでは、簡単な音声認識AIソフトのサンプルコードを紹介します。
import speech_recognition as sr
from gtts import gTTS
import pygame
import time
import os
def play_audio(file_path):
"""音声ファイルを再生"""
pygame.mixer.init()
pygame.mixer.music.load(file_path)
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
time.sleep(1)
def recognize_speech():
"""マイク入力を音声認識してテキストを返す"""
recognizer = sr.Recognizer()
mic = sr.Microphone()
print("音声入力を待っています...")
with mic as source:
# 周囲のノイズを調整
recognizer.adjust_for_ambient_noise(source)
try:
print("話してください...")
audio = recognizer.listen(source)
print("音声認識中...")
# 日本語で音声認識
text = recognizer.recognize_google(audio, language="ja-JP")
print("認識結果:", text)
return text
except sr.UnknownValueError:
print("音声を認識できませんでした。")
except sr.RequestError as e:
print(f"Google Speech Recognition サービスにアクセスできません: {e}")
return ""
def ai_response(text):
"""AIの応答を生成する"""
if "こんにちは" in text:
return "こんにちは!今日はどんなことを話したいですか?"
elif "天気" in text:
return "今日は晴れの予報ですよ!外出日和ですね。"
elif "疲れた" in text:
return "お疲れ様です。少し休憩してくださいね。"
elif "さようなら" in text:
return "さようなら。またお話ししましょう!"
else:
return "すみません、よく分かりませんでした。"
def speak_response(response):
"""AIの応答を音声として再生"""
tts = gTTS(text=response, lang="ja")
filename = "response.mp3"
tts.save(filename)
play_audio(filename)
os.remove(filename)
def main():
"""音声認識AIソフトのメイン処理"""
while True:
# マイク入力からテキスト取得
text = recognize_speech()
if text:
# AI応答を生成
response = ai_response(text)
print("AIの応答:", response)
# 応答を音声で再生
speak_response(response)
# 終了条件
if "さようなら" in text:
break
if __name__ == "__main__":
main()
コードの解説
上記のコードは、大きく分けて以下の4つの部分で構成されています。
1. 音声ファイルの再生
pygameライブラリを使って、音声応答を再生します。play_audio関数でMP3ファイルを再生し、再生終了まで待機します。
2. 音声を認識する
speech_recognitionライブラリを使って、マイクから音声を収録し、それを文字に変換します。
Recognizer():音声認識のためのクラス。Microphone():マイク入力を扱うためのクラス。recognize_google():Googleの音声認識APIを利用して文字起こしを行います。
3. AIの応答を作成する
入力された音声に応じて適切な応答を生成します。
今回は、簡単なキーワード応答型の仕組みを導入しています。
4. 音声で応答を再生する
gTTSライブラリを使って、AIの応答を音声に変換し、再生します。
再生後は一時的なMP3ファイルを削除します。
動かしてみよう!
上記のコードをVSCode上で起動した結果がこちらです!
「こんにちは!」と言うと、「こんにちは!今日はどんなことを話したいですか?」と音声で返してくれていますね!(ただし、今のコードでは1回だけしか返事をしてくれません笑)
まとめ
いかがでしたか?Pythonと便利なライブラリを使えば、簡単に音声認識AIを作成できます。
今回のサンプルコードを試すだけでも、AIの仕組みが少し身近に感じられるはずです。
さらに機能を拡張して、自分だけの高性能音声認識オリジナルAIを作ってみてください!!




コメント