
前回はプログラミング言語pythonの環境構築を行いました。
今回はpythonを使って人工知能の第一歩「オウム返しbot」を作りたいと思います。
前回の記事はこちらをご覧ください。
オウム返しbot
プログラム
オウム返しbotとはその名の通り、言われたことをオウム返しするだけのプログラムです。
プログラムは記事にするのもはばかられるほどしょぼいですが、一応載せて置きます。
text=input()
print(text)
上のプログラムではinput()関数で入力してもらった文字をtextという変数に保存。
二行目でprint()関数を使い、textに保存された文字を出力します。
動作確認
動作確認の方法は前回の記事の「pythonの使い方」を御覧ください。
動作は以下のようになります。
プログラムを実行すると入力待ちの状態になり、「こんにちは」と入力すると「こんにちは」とそのまま出力されます。

音声入力を可能にする
これだけでは面白くないので今回は「耳」の実装をしたいと思います。
音声入力にはGoogle Web Speech APIを使用します。
pipの更新
pipとはpythonのライブラリをインストールするためのツールです。
コマンドプロンプトで次のように入力してpipを更新します。
python -m pip install -U pip setuptools
SpeechRecognitionのインストール
次にpipでSpeechRecognitionをインストールします。
同じくコマンドプロンプトで次のように入力。
python -m pip install -U SpeechRecognition
「Successfully installed SpeechRecognition-X.X.X」と表示されれば成功です。
また、SpeechRecognition内でPyAudioというものも使うのでインストールしておきましょう。
PyAudioのインストールはこちらを御覧ください。
プログラム
音声認識専用の次のような「voicein.py」というファイルをrepeat.pyと同じフォルダ内に作りました。
import speech_recognition as sr
def voicein():
text = '聞き取れませんでした'
r = sr.Recognizer()
with sr.Microphone() as source:
print("何かお話しして下さい。")
r.adjust_for_ambient_noise(source) # 雑音対策
audio = r.listen(source)
try:
# Google Web Speech APIで音声認識
text = r.recognize_google(audio, language="ja-JP")
except sr.UnknownValueError:
print("音声を認識できませんでした。")
except sr.RequestError as e:
print("音声認識を要求できませんでした;"
" {0}".format(e))
else:
print(text)
return(text)
1行目の「import speech_recognition as sr」でSpeechRecognitionを読み込みます。
また、voicein()関数を作りました。
voicein()関数の内容としてはまず「text = ‘聞き取れませんでした’」で初期返答を「聞き取れませんでした」に設定しています。
6行目「r = sr.Recognizer()」では1行目で読み込んだSpeechRecognitionを有効化しています。
14行目ではGoogle Web Speech APIを使って音声認識し、エラーでない場合は音声認識の内容を変数textに保存し、return()で返り値として設定します。
repeat.pyの編集
また、本体の「repeat.py」は次のように編集しました。
import voicein
text=voicein.voicein()
print(text)
一行目で同じフォルダ内のvoicein.pyを読み込み、3行目でvoicein.pyの中のvoicein()関数で音声認識したものを変数textに保存し、最後の行で出力します。
この状態でrepeat.pyを実行すると自分が喋った言葉をテキストで返してくれます。
次回はオウム返しbotを喋れるようにします。
コメント