今回はSpeechRecognitionライブラリを使って音声認識をしていきます。
使ってみるとなかなか精度がよさそうです!
簡単に日本語対応が可能なようなので非常に便利なライブラリのようです。
以前は同じ音声認識として、京都大学が開発したJuliusを使ってみました。気になる方はJuliusを動かして音声認識システムを作ってみたサイトを確認してみてください。
早速、プログラムを組んでいきましょう!
音声認識ライブラリ SpeechRecognitionとは
Speech Recognitionは「音声認識」のことです。
このSpeechRecognitionライブラリはオンライン・オフラインの両方で使えるのが特徴です。
簡単に利用できる点と実装も簡単なのでが良いですね。
https://pypi.org/project/SpeechRecognition/
SpeechRecognitionのインストール
まずはSpeechRecognitionのライブラリをインストールします。
pip install SpeechRecognition
次に音声を録音・保存・再選する機能があるPyAudioをインストールします。
pip install PyAudio
準備ができたので次はコーディングをしていきます!
プログラムの実装
まずは簡単な実装で動くことを確認します。
import speech_recognition as sr
listener = sr.Recognizer()
try:
with sr.Microphone() as source:
print("Listening...")
voice = listener.listen(source)
voice_text = listener.recognize_google(voice)
print(voice_text)
except:
print('Sorry, I could not listen')
簡単な実装ですが、これでsp_recog.pyを実行すると動きます。
ただしこの状態では英語認識の状態になっているので日本語を認識させるようにしてみます。
日本語を認識させる
日本語を認識させる方法は簡単です。
9行目の引数に日本語を設定するだけで実行時に日本語が認識されるようになります。
import speech_recognition as sr
listener = sr.Recognizer()
try:
with sr.Microphone() as source:
print("Listening...")
voice = listener.listen(source)
voice_text = listener.recognize_google(voice, language="ja-JP")
print(voice_text)
except:
print('Sorry, I could not listen')
この状態で実行すると日本語で喋っても認識されます。
SpeechRecognitionの精度
実装後にいろいろと喋ってみた感じ、なかなかいいかもしれない!
以前試したPythonでJuliusの音声認識システム作成よりも実装が楽だし、認識精度もいいですね。
次の文章を話しかけたら正しく認識されました。
「週刊少年ジャンプは世界で一番面白いコミックです」
マガジン、サンデー、モーニングでもいいんですが私はジャンプ派なので、、、
次はこの音声認識と読みあげ機能を使ってみます。
Pythonでテキスト読み上げ機能を使って寿限無を読ませてみました!