【Python】音声データをテキストに変換する方法|会議録音から議事録作成まで自動化

【Python】音声データをテキストに変換する方法|会議録音から議事録作成まで自動化 Python

会議やインタビューの音声をテキスト化する作業は、多くの現場で時間と労力を要するタスクです。しかし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")

実用例:議事録の自動化

実際の業務では、以下のような流れで議事録を自動作成できます。

  1. ZoomやICレコーダーで録音した音声をMP3形式で保存
  2. pydubでWAVに変換
  3. SpeechRecognitionでテキストに変換
  4. 生成されたテキストをWordファイルなどに保存(Python-docxなどで)

このように自動化することで、議事録作成の手間が大幅に減り、業務効率が向上します。

注意点と精度向上のコツ

Googleの音声認識APIは無料で使えますが、以下の点に注意が必要です。

  • ノイズが少なく、はっきり話された音声ほど精度が高い
  • 長時間のファイルは分割して処理するのが望ましい
  • 専門用語や固有名詞は誤認識されやすい

高精度を求める場合は、Google Cloud Speech-to-Textなどの有料APIを使うのも選択肢です。

まとめ

Pythonの音声認識ライブラリを活用すれば、会議録音からの議事録作成を自動化することができます。今回は無料で使えるGoogle音声認識APIを中心に紹介しましたが、業務規模や精度の要件に応じて他のAPIに切り替えることで、さらに強力なワークフローを構築できます。

音声からの文字起こしに課題を感じている方は、ぜひPythonによる自動化を検討してみてください。