このツールは、OpenAIのWhisperモデルをローカル環境で使用して、音声ファイルをテキストに文字起こしします。
- インターネット接続なしで文字起こしを実行可能(モデルダウンロード後)
- 複数のモデルサイズを選択可能(精度と速度のトレードオフ)
- シンプルなコマンドラインインターフェース
- Python: 3.7 以降 (pip を含む)
- ffmpeg: Whisperが様々な音声フォーマットを処理するために必要です。
- macOS (Homebrew):
brew install ffmpeg
- Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg - Windows: 公式サイト からダウンロードし、実行ファイルへのパスを環境変数に追加してください。
- macOS (Homebrew):
-
リポジトリのクローン:
git clone <リポジトリURL> cd <リポジトリ名>
または、このリポジトリのファイルをダウンロードして展開します。
-
(推奨) 仮想環境の作成と有効化:
python -m venv venv source venv/bin/activate # Linux/macOS (bash/zsh など) source venv/bin/activate.fish # Linux/macOS (fish) # venv\Scripts\activate # Windows
-
依存ライブラリのインストール:
pip install -r requirements.txt
(このコマンドは
whisper-openaiなどをインストールします)
基本的なコマンドは以下の通りです。
python transcribe.py <入力音声ファイルパス> [オプション]例:
# audio/input.m4a をデフォルト設定 (baseモデル) で文字起こし
python transcribe.py audio/input.m4a
# 結果は audio/input.txt に保存される-o <出力ファイルパス>,--output <出力ファイルパス>: 出力テキストファイルのパスを指定します。指定しない場合、入力ファイルと同じディレクトリに<入力ファイル名>.txtとして保存されます。python transcribe.py audio/input.m4a -o text/output.txt
-m <モデルサイズ>,--model <モデルサイズ>: 使用するWhisperモデルのサイズを指定します。デフォルトはbaseです。 利用可能なサイズ:tiny,base,small,medium,large,large-v1,large-v2,large-v3# medium モデルを使用 python transcribe.py audio/input.m4a -m medium
| モデル | 精度 | 速度/リソース | 特徴 |
|---|---|---|---|
tiny |
低 | 最速/最小 | 英語向け、非常に高速 |
base |
↓ | ↓ | デフォルト、バランス型 |
small |
↓ | ↓ | |
medium |
↓ | ↓ | 高精度、要求リソース増加 |
large |
高 | 最遅/最大 | 最高精度 (v1, v2, v3 バリエーションあり) |
- モデルサイズが大きいほど、精度は向上しますが、処理時間が長くなり、より多くのメモリ(RAMおよびVRAM)を必要とします。
- 各モデルサイズを初めて使用する際には、モデルファイルのダウンロードが自動的に行われます(数GB単位になることもあります)。
- 初回実行: 初めてスクリプトを実行する際や、新しいモデルサイズを指定した際には、モデルのダウンロードに時間がかかることがあります。
- 処理時間: 長時間の音声ファイルや、CPUのみで大きなモデルを使用する場合、文字起こしにかなりの時間がかかることがあります。
- GPU高速化: NVIDIA GPUとCUDAが利用可能な環境では、Whisperは自動的にGPUを使用し、処理速度が大幅に向上します。
- ffmpeg:
ffmpegが見つからない場合、スクリプトはエラーを出力して終了します。インストール手順を確認してください。 - モデルファイル: Whisperモデルは
.gitignoreによってGitの追跡対象から除外されています。モデルは実行時に自動的にダウンロード・キャッシュされるため、リポジトリに含める必要はありません。 - ファイル形式: m4aなど多くの形式に対応していますが、問題が発生する場合は、
ffmpegを使ってwav形式などに変換してから試すことも有効です。# 例: ffmpeg を使って m4a を wav に変換 ffmpeg -i input.m4a output.wav