会議やインタビューの音声をテキスト化する作業は、多くの現場で時間と労力を要するタスクです。しかしPythonを使えば、音声ファイルから自動的に文字起こしを行い、議事録作成の手間を大幅に軽減できます。本記事では、Pythonのライブラリ「SpeechRecognition」を使って、音声データをテキストに変換する方法を詳しく解説します。
必要なライブラリのインストール
まず、音声認識を行うために必要なライブラリをインストールします。以下のコマンドを実行してください。
pip install SpeechRecognition pydub
また、MP3ファイルなどをWAV形式に変換するために「ffmpeg」も必要です。ffmpegはOSに合わせてインストールしてください。
音声ファイルをテキストに変換するPythonコード
以下のPythonコードでは、音声ファイル(WAV形式)を読み込み、Googleの音声認識APIを使用してテキストに変換します。
import speech_recognition as sr
# 音声ファイルのパス
audio_path = "sample.wav"
# 音声認識インスタンスの作成
recognizer = sr.Recognizer()
# 音声ファイルを読み込む
with sr.AudioFile(audio_path) as source:
audio_data = recognizer.record(source)
# GoogleのAPIで音声をテキスト化
try:
text = recognizer.recognize_google(audio_data, language="ja-JP")
print("文字起こし結果:")
print(text)
except sr.UnknownValueError:
print("音声を認識できませんでした。")
except sr.RequestError as e:
print(f"APIリクエスト中にエラーが発生しました: {e}")
MP3ファイルをWAV形式に変換する方法
SpeechRecognitionはWAV形式を前提としています。MP3など別の形式から変換するには、pydubとffmpegを使用します。
from pydub import AudioSegment
# MP3をWAVに変換
sound = AudioSegment.from_mp3("sample.mp3")
sound.export("sample.wav", format="wav")
実用例:議事録の自動化
実際の業務では、以下のような流れで議事録を自動作成できます。
- ZoomやICレコーダーで録音した音声をMP3形式で保存
- pydubでWAVに変換
- SpeechRecognitionでテキストに変換
- 生成されたテキストをWordファイルなどに保存(Python-docxなどで)
このように自動化することで、議事録作成の手間が大幅に減り、業務効率が向上します。
注意点と精度向上のコツ
Googleの音声認識APIは無料で使えますが、以下の点に注意が必要です。
- ノイズが少なく、はっきり話された音声ほど精度が高い
- 長時間のファイルは分割して処理するのが望ましい
- 専門用語や固有名詞は誤認識されやすい
高精度を求める場合は、Google Cloud Speech-to-Textなどの有料APIを使うのも選択肢です。
まとめ
Pythonの音声認識ライブラリを活用すれば、会議録音からの議事録作成を自動化することができます。今回は無料で使えるGoogle音声認識APIを中心に紹介しましたが、業務規模や精度の要件に応じて他のAPIに切り替えることで、さらに強力なワークフローを構築できます。
音声からの文字起こしに課題を感じている方は、ぜひPythonによる自動化を検討してみてください。