トップページ -> 実践知識 -> スピーチ -> Python の SpeechRecognizer を用いて音声認識
サイトマップへ]

Python の SpeechRecognizer を用いて音声認識

金子邦彦研究室: データベース、人工知能(AI)、データサイエンスの融合により不可能を可能にする
Python の SpeechRecognizer (https://github.com/Uberi/speech_recognition) を用いて音声認識

先人に感謝

キーワード: 音声認識, Google API, Python, SpeechRecognition


前もって準備しておくこと

前準備として,Python 処理系のインストールが終わっていること.

Python のインストール

以下,Windows でインストール済みであるものとして説明を続けます.

Python のパッケージ SpeechRecognition, pyaudio のインストール

Anaconda プロンプトを管理者として開き,次のコマンドを実行.

conda install -c conda-forge SpeechRecognition

引き続き,次のコマンドを実行

pip install pyaudio

Python の SpeechRecognizer を用いて音声認識してみる

  1. まずは,入った .wav ファイルを準備する

    ※ 手元に .wav ファイルがないよ,というときは http://www.wavsource.com(インターネットでは,下品な広告が付いている可能性があるので,必要もないのにクリックしないこと) などから入手できる(.wav ファイルをダウンロードするときは、利用条件などを確認すること)

  2. IPython シェル」を使う.

    Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.

  3. Python コンソールで,カレントディレクトリを確認

    次を実行

    import os
    print(os.getcwd())
    

    実行結果例

  4. 先ほどの .wav ファイルはカレントディレクトリに移しておく(あとの作業を楽にするため)

  5. 英語の音声認識してみる

    Python コンソール」を使う.

    PyCharmか, Anacondaに入っているspyder を使うのが簡単

    次の Python プログラムを実行

    「"coincidence.wav" 」のところは,ファイル名を書き換えること.

    import speech_recognition
    r = speech_recognition.Recognizer()
    with speech_recognition.AudioFile("coincidence.wav") as source:
        audio = r.record(source)
    r.recognize_google(audio)
    

    実行結果の例

  6. 日本語の音声認識をしたい場合には「language='ja-JP'」を指定する

    次の Python プログラムを実行

    「"1.wav" 」のところは,ファイル名を書き換えること.

    import speech_recognition
    r = speech_recognition.Recognizer()
    with speech_recognition.AudioFile("1.wav") as source:
        audio = r.record(source)
    r.recognize_google(audio, language='ja-JP')
    

    実行結果の例