アルの備忘録

本棚が足りずにいいものを探しているがなかなか見つからないので困ってる雑記ブログ

【日本語】Pythonでspeech recognitionを使って音声認識させてみる!


今回はspeech recognitionライブラリを使って音声認識をしていきます。

使ってみるとなかなか精度が良さそうです!

 

デフォルトでは英語になっていますが、簡単に日本語対応も可能です。

 

以前は同じ音声認識システムとして、京都大学が開発したJuliusを使ってみました。気になる方はこちらから確認できます。

PythonでJuliusを動かして音声認識システム作ってみた! - アルの備忘録

www.matematetea.com

 

早速、プログラムを組んでいきましょう!

 




Speech Recognitionとは

Speech Recognitionは「音声認識」のことです。

今回は数ある中でも音声認識ライブラリのひとつを使います。

このspeech recognitionライブラリはオンライン・オフラインの両方で使えるのが特徴です。

SpeechRecognition · PyPI 

pypi.org

 

ライブラリのインストール

まずは音声認識のライブラリから。

次のコマンドを入力してspeech recognitionのインストールします。


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')

簡単な実装になりますが、これで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を動かして音声認識システム作ってみた! - アルの備忘録

www.matematetea.com

 

 

次の文章を話しかけたら正しく認識されました。

「週刊少年ジャンプは世界で一番面白いコミックです」

speech recognitionを使って日本語で話しかけた結果

マガジン、サンデー、モーニングでもいいと思いますが私はジャンプ派なので、、、

次はこの音声認識と読み上げ機能を使ってみます。

Pythonのテキスト読み上げ機能使って寿限無読ませてみました!

【pyttsx3】Pythonの音声読み上げ機能で「寿限無」を読ませてみた! - アルの備忘録
www.matematetea.com

 

最後まで読んでいただき、ありがとうございます!