OpenAIが開発した音声認識モデル「Whisper」は、高い認識精度と多言語対応で注目を集めています。オープンソースで公開されているため、誰でも無料で利用できます。
この記事では、Whisperの基本的な仕組みから、実際にPCにインストールして文字起こしを行うまでの手順を解説します。
Whisperとは
Whisperは、OpenAIが2022年にオープンソースとして公開した音声認識モデルです。68万時間以上の多言語音声データで学習されており、日本語を含む99言語に対応しています。
Whisperの特徴
- 高い認識精度: 大規模なデータで学習されており、一般的な音声であれば高い精度で文字起こしが可能
- 多言語対応: 日本語・英語をはじめ99言語に対応
- オープンソース: 無料で利用可能。商用利用も許可されている(MITライセンス)
- ローカル実行: インターネット接続なしでPC上で動作可能
モデルサイズの選び方
Whisperには複数のモデルサイズがあり、サイズが大きいほど精度が高くなりますが、処理に必要な時間とメモリも増えます。
| モデル | パラメータ数 | 必要VRAM | 精度 | 速度 |
|---|---|---|---|---|
| tiny | 39M | 約1GB | 低 | 非常に速い |
| base | 74M | 約1GB | やや低 | 速い |
| small | 244M | 約2GB | 中 | 普通 |
| medium | 769M | 約5GB | 高 | やや遅い |
| large-v3 | 1550M | 約10GB | 非常に高 | 遅い |
一般的な日本語の文字起こしには medium 以上がおすすめです。GPU搭載PCであれば large-v3 モデルも実用的な速度で動作します。
コマンドラインでWhisperを使う方法
前提条件
- Python 3.9〜3.11がインストールされていること
- (推奨)NVIDIA GPUとCUDAドライバ
インストール手順
まず、pipでWhisperをインストールします。
pip install openai-whisper
GPU(CUDA)を使用する場合は、PyTorchのCUDA版が必要です。
pip install torch torchvideo torchaudio --index-url https://download.pytorch.org/whl/cu121
基本的な使い方
インストールが完了したら、以下のコマンドで文字起こしを実行できます。
whisper audio.mp3 --model medium --language ja
主なオプション:
--model: 使用するモデルサイズ(tiny / base / small / medium / large-v3)--language: 言語を指定(ja, en など)。省略すると自動検出--output_format: 出力形式(txt / srt / vtt / json / all)--output_dir: 出力先ディレクトリ
faster-whisperでさらに高速化
faster-whisperは、Whisperモデルを CTranslate2 で最適化して実行するライブラリです。オリジナルのWhisperと同等の精度で、最大4倍の高速化が可能です。
pip install faster-whisper
from faster_whisper import WhisperModel
model = WhisperModel("medium", device="cuda")
segments, info = model.transcribe("audio.mp3", language="ja")
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
コマンドラインが苦手な方へ:GUIで使う方法
Pythonのインストールやコマンドライン操作に慣れていない方には、GUIアプリケーションの利用がおすすめです。
WhisperモデルをGUIで手軽に使えるツールとして、WhisperAppがあります。WindowsアプリとしてインストールするだけでWhisperによる文字起こしが利用でき、以下のような追加機能も備えています。
- モデルの自動ダウンロード: アプリ内から必要なモデルをワンクリックでダウンロード
- GPU自動検出: NVIDIA CUDA、Intel OpenVINO、Vulkanなど、お使いのPCに最適なGPUバックエンドを自動で選択
- 話者分離: 複数の話者を自動識別し、「誰が何を話したか」を表示
- リアルタイム文字起こし: マイクやPC内部音声をリアルタイムでテキスト化
- 字幕ファイル出力: SRT / VTT形式で字幕ファイルを直接出力
- LLM統合: 文字起こし結果をAIで要約・翻訳
Whisperの精度を上げるコツ
1. 適切なモデルサイズを選ぶ
精度を優先する場合は large-v3 モデルを使用しましょう。GPUのVRAMに余裕があれば、処理速度も十分実用的です。
2. 録音環境を整える
Whisperの精度は入力音声の品質に大きく依存します。以下の点に注意してください。
- 周囲の騒音を可能な限り減らす
- マイクと話者の距離を近づける
- ピンマイクやヘッドセットの使用を検討する
3. 言語を明示的に指定する
--language ja のように言語を指定すると、自動検出よりも安定した結果が得られます。特に短い音声や、複数言語が混在する音声では効果的です。
まとめ
Whisperは高精度で多言語に対応した音声認識モデルです。コマンドラインから利用する場合はPythonの知識が必要ですが、GUIアプリケーションを使えば技術的な知識がなくても手軽に文字起こしを始められます。
まずはお手元の音声ファイルで実際に試してみて、その精度の高さを体感してみてください。