PythonのSpeechRecognitionパッケージを使うと、音声データからテキストを書き起こすることができます。この機能を用いて会議録音からの議事録の文字起こしなどを行うことが可能です。この記事では、SpeechRecognitionを使った音声認識の基本的な使い方と具体的なコード例を紹介します。
環境準備
SpeechRecognitionをインストールする必要があります。コマンドプロンプトやターミナルを開き、以下のコマンドを入力します。インストール済みの場合はスキップして下さい。
pip install SpeechRecognition
音声書き起こしの実装
音声ファイルの読み込み、テキストへの変換のステップに分けて解説します。
音声ファイルの読み込み
まず、音声ファイルを読み込みます。今回は、WAVファイルを読み込みます。実際にはaudio.wav
は変換したい音声ファイルの名前に置き換えて下さい。sr.AudioFile()
を使うことで、音声ファイルを開きます。r.record()
を使うことで、音声ファイルの内容を録音して、変数audio
に格納します。
import speech_recognition as sr r = sr.Recognizer() with sr.AudioFile("audio.wav") as source: audio = r.record(source)
音声の変換
次に、audio
に格納された音声をテキストに変換します。recognize_google()
関数を使って、音声をテキストに変換します。パラメータのlanguage
には、音声の言語を指定します。この例では、日本語ja-JP
を設定しています。変換されたテキストは、変数text
に格納されます。最後に、print()
で変換されたテキストを表示して確認します。あとは必要に応じてテキストファイルに書き込んで保存するなどして下さい。
text = r.recognize_google(audio, language="ja-JP") print(text)
完成したコード
上記のステップを総合すると下記の様なコードになります。このサンプルでは最後に書き起こした内容をテキストファイルoutput.txt
に保存しています。
import speech_recognition as sr r = sr.Recognizer() # 音声ファイルの読み込み with sr.AudioFile("audio.wav") as source: audio = r.record(source) # テキスト情報に変換 text = r.recognize_google(audio, language="ja-JP") # 書き起こした情報をテキストファイルに保存 with open("output.txt", "w", encoding="utf-8") as file: file.write(text)
発生する可能性のあるエラーと対応法
SpeechRecognitionを利用する際に以下のようなエラーが発生する可能性がありますので、その対処法についても紹介します。
ModuleNotFoundError
ModuleNotFoundError: No module named 'pyaudio'
このエラーは、Pyaudioがインストールされていない場合に発生します。処理内容によってはPyaudioのインストールが必要です。インストールするには、以下のコマンドを実行してください。
pip install pyaudio
sr.UnknownValueError
sr.UnknownValueError: recognition results unavailable
このエラーは、SpeechRecognitionが音声を認識できなかった場合に発生します。このエラーに対処するには、音声の品質を改善するか、別の音声認識エンジンを使用する必要があります。
sr.RequestError
sr.RequestError: recognition request failed
このエラーは、SpeechRecognitionが音声認識APIにアクセスできなかった場合に発生します。このエラーに対処するには、インターネット接続に問題がないか確認します。
まとめ
SpeechRecognitionを使用して音声をテキストに変換する方法と、発生する可能性のあるエラーとその対処法について解説しました。PythonのSpeechRecognitionパッケージを使えば、簡単に音声ファイルをテキストに変換することができます。音声ファイルの文字起こし、書き起こしに利用することが可能です。
[PR]