
アプリケーション
【Whisper】音声ファイルを文字起こしする方法
Whisper-v3-largeを使い、ドラッグ&ドロップで簡単に音声ファイルを文字起こしする方法
8k39
公開日: 2025年9月29日
【Whisper】音声ファイルを文字起こしする方法
はじめに
※この記事ではWindows環境前提で作成しました。
音声ファイルの文字起こしを行いたい場合、GroqCloudのようなクラウドサービスを使用する方法もありますが、ローカル環境で処理したい場合もあります。
大きいファイルはクラウドサービスを使用する事でPCを付けっぱなしにする必要もなく、より高速で処理できます。
事前準備
必要な環境
- Python 3.8以上
- FFmpeg
インストール手順
1. 必要なライブラリのインストール
python、pipがインストールされている事を確認するためにバージョン確認を行う。
python --version
pip --versionバージョンが書かれていたら依存関係をインストールする。
# PyTorchのインストール(CUDA版)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# Whisperのインストール
pip install openai-whisper
# その他の依存関係
pip install ffmpeg-python2. FFmpegのインストール
Whisperは音声ファイルの変換にFFmpegを使用します。
自動インストール(推奨)
# Windows(Chocolatey使用)
winget install ffmpegWingetを使用することでパスまで自動で通してくれます。
一応インストール後はターミナルでバージョン確認を行って、パスが通ってるか確認する。
ffmpeg -versionスクリプトのダウンロード
完成したスクリプトとBATファイルをGitHubで配布しています:
Whisper-bat - GitHub Repository
リポジトリには以下が含まれています:
whisper_transcribe.py: メインのPythonスクリプトwhisper_drag_drop.bat: ドラッグ&ドロップ用BATファイルREADME.md: 詳細な使用方法
ダウンロード手順
- GitHubリポジトリにアクセス
- Releaseからダウンロード
- ZIPファイルを解凍
- 任意のフォルダに配置
使用方法
1. 基本的な使用方法
- 音声ファイルを準備
whisper_drag_drop.batに音声ファイルをドラッグ&ドロップ- 自動で処理が開始
- 完了すると変換元ファイルと同じフォルダに
_transcript.txtファイルが生成
2. 対応音声形式
- MP3
- WAV
- M4A
- FLAC
- AAC
- OGG
- WMA
3. 出力ファイル例
# sample_audio_transcript.txt の文字起こし結果
言語: ja
全文:
こんにちは。今日はローカルでWhisperを動かす方法について説明します。まず最初に必要な環境を確認しましょう。
==================================================
セグメント別詳細:
[00:00:00.000 -> 00:00:03.840] こんにちは。今日はローカルでWhisperを動かす方法について説明します。
[00:00:03.840 -> 00:00:07.200] まず最初に必要な環境を確認しましょう。
モデルの種類と性能
| モデル | サイズ | VRAM使用量 | 精度 | 処理速度 |
|---|---|---|---|---|
| tiny | 39MB | ~1GB | 低 | 非常に高速 |
| base | 74MB | ~1GB | 中 | 高速 |
| small | 244MB | ~2GB | 中 | 普通 |
| medium | 769MB | ~5GB | 高 | やや遅い |
| large-v3 | 1550MB | ~10GB | 最高 | 遅い |
モデル変更方法
スクリプト内の以下の行を変更:
# 高速だが精度が低い
result = transcribe_audio(audio_file, model_name="base")
# バランス型
result = transcribe_audio(audio_file, model_name="medium")
# 最高精度(推奨)
result = transcribe_audio(audio_file, model_name="large-v3")バッチ処理版
複数ファイルを一度に処理する場合:
def batch_transcribe(audio_folder):
model = whisper.load_model("large-v3")
audio_files = []
supported_formats = ['.mp3', '.wav', '.m4a', '.flac']
for file in Path(audio_folder).glob('*'):
if file.suffix.lower() in supported_formats:
audio_files.append(file)
for audio_file in audio_files:
print(f"処理中: {audio_file.name}")
result = model.transcribe(str(audio_file), language="ja")
output_path = audio_file.parent / f"{audio_file.stem}_transcript.txt"
save_transcription(result, str(output_path))参考リンク
- GitHub - Whisper-bat: 完成したスクリプト
- OpenAI Whisper: 公式リポジトリ
- PyTorch CUDA: CUDA版PyTorchインストール
- FFmpeg: 音声変換ライブラリ
- Groq API版の記事: クラウド処理版