今回はspeech recognitionライブラリを使って音声認識をしていきます。
使ってみるとなかなか精度が良さそうです!
デフォルトでは英語になっていますが、簡単に日本語対応も可能です。
以前は同じ音声認識システムとして、京都大学が開発したJuliusを使ってみました。気になる方はこちらから確認できます。
PythonでJuliusを動かして音声認識システム作ってみた! - アルの備忘録
早速、プログラムを組んでいきましょう!
Speech Recognitionとは
Speech Recognitionは「音声認識」のことです。
今回は数ある中でも音声認識ライブラリのひとつを使います。
このspeech recognitionライブラリはオンライン・オフラインの両方で使えるのが特徴です。
ライブラリのインストール
まずは音声認識のライブラリから。
次のコマンドを入力してspeech recognitionのインストールします。
次に音声を録音・保存・再生する機能がある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')
簡単な実装になりますが、これでPythonファイルを実行すると動きます。
この状態では英語認識の状態になるので日本語を認識させるようにしてみます。
日本語を認識させる
日本語を認識させる方法は簡単です。
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')
これで実行すると日本語で喋っても認識されます。
speech recognitionの精度
使ってみた感じ、なかなかいいかもしれない!
私が試したJuliusよりもいいと思います。
PythonでJuliusを動かして音声認識システム作ってみた! - アルの備忘録
次の文章を話しかけたら正しく認識されました。
「週刊少年ジャンプは世界で一番面白いコミックです」
マガジン、サンデー、モーニングでもいいと思いますが私はジャンプ派なので、、、
次はこの音声認識と読み上げ機能を使ってみます。
Pythonのテキスト読み上げ機能使って寿限無読ませてみました!
【pyttsx3】Pythonの音声読み上げ機能で「寿限無」を読ませてみた! - アルの備忘録www.matematetea.com
最後まで読んでいただき、ありがとうございます!