音声入力は、キーボードの入力よりも高速に入力ができます。
ついこの前までは、対した精度ではなく使い物になりませんでした。 しかし、ここ数年でびっくりするほど精度がよくなり、実用の域に達していることを知っていますか?
今回は、音声入力をPythonをつかってわずか7行で実現する方法を紹介します。
SpeechRecogintion
SpeechRecognitionは、さまざまな音声認識エンジンをサポートしているPythonモジュールです。
次の音声エンジンをサポートしています。
- CMU Sphinx (works offline)
- Google Speech Recognition
- Google Cloud Speech API
- Wit.ai
- Microsoft Bing Voice Recognition
- Houndify API
- IBM Speech to Text
- Snowboy Hotword Detection (works offline)
今回は、無料で使えるGoogle Speech Recognition
をつかってみます。
ツールのインストール
Ubuntu環境でのインストールについて説明します。 マイクロホンからの入力のために、PyAudioも一緒に入れます。
# モジュールのインストール
$ pip install SpeechRecognition
# マイクロホンからの入力に必要
$ sudo apt-get install portaudio19-dev
$ sudo apt-get install python-pyaudio python3-pyaudio
$ pip install pyaudio
ツールがインストールできたかどうかは、次のコマンドで確認できます。
python -m speech_recognition
何かしゃべってみましょう(英語で)。認識できれば成功です。
わずか7行のスクリプト
次が音声入力のためのスクリプトです。
import speech_recognition as sr
r = sr.Recognizer()
mic = sr.Microphone()
with mic as source:
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
print(r.recognize_google(audio, language='ja-JP'))
次の3行で、音声認識に必要なオブジェクトを生成します。
import speech_recognition as sr
r = sr.Recognizer()
mic = sr.Microphone()
次の3行で、音声をlistenします。adjust_for_ambient_noise
は雑音対策のおまじないです。
with mic as source:
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
r.recognize_google
で、GoogleのWebサービスに問い合わせて、音声情報をテキストに変換します。
結果
簡単ですね、ワクワクしますね。
Pythonで音声認識のスクリプトを書きました!! pic.twitter.com/CzjE0oJ4Il
— 炎のtsu-nera🔥 (@tsu_nera) 2018年8月25日