openai/whisper
Robust Speech Recognition via Large-Scale Weak Supervision
Whisper – オープンソースの音声対テキストモデル
概要 – Whisperは、音声をテキストに変換できるTransformerベースのsequence-to-sequenceモデルです。OpenAIによって大規模な多言語音声データセットでトレーニングされており、単一のモデルで以下のことが可能です:
- 多言語の音声文字起こし
- 話されている言語の英語への翻訳
- 話されている言語の識別
- 音声活動検出(VAD)の実行
重要性 – 個別のコンポーネント(VAD → 言語識別 → ASR → 翻訳)のパイプラインの代わりに、Whisperはこれらすべてを一度のパスで行います。これにより、開発が簡素化され、幅広い言語や音声条件下でそのまま(out-of-the-box)優れた性能を発揮します。
モデルサイズ
| サイズ | パラメータ数 | 英語のみ | 多言語 | VRAM (目安) | 相対速度* |
|---|---|---|---|---|---|
| tiny | 39 M | tiny.en |
tiny |
~1 GB | ~10× (vs large) |
| base | 74 M | base.en |
base |
~1 GB | ~7× |
| small | 244 M | small.en |
small |
~2 GB | ~4× |
| medium | 769 M | medium.en |
medium |
~5 GB | ~2× |
| large | 1 550 M | – | large |
~10 GB | 1× |
| turbo | 809 M | – | turbo |
~6 GB | ~8× |
| *速度はA100で英語を文字起こしした際の測定値です。実際の速度は言語、ハードウェア、音声によって異なります。 |
ヒント: 英語のみ (*.en) モデルは、特にtinyとbaseバージョンにおいて、英語の精度が少し高くなります。turbo モデルは、わずかな精度のトレードオフで large-v3 を高速化したバージョンです。
クイックスタート (CLI)
# パッケージとffmpegをインストール (音声デコードに必要)
pip install -U openai-whisper
# Ubuntu/Debianではffmpegも必要です:
sudo apt update && sudo apt install ffmpeg
# 1つ以上のファイルを文字起こし (デフォルトは高速な "turbo" モデルを使用)
whisper audio.flac audio.mp3 audio.wav --model turbo
--language <Lang> を使用して言語を強制するか、多言語モデルで --task translate を使用して英語への翻訳を取得できます。
PythonからのWhisperの使用
import whisper
model = whisper.load_model("turbo") # 任意のサイズ名が使用可能
result = model.transcribe("audio.mp3")
print(result["text"])
より低レベルな制御を行うには、以下が可能です:
whisper.load_audio/whisper.pad_or_trimで音声をロードおよびパディング/トリミングする。whisper.log_mel_spectrogramでログMelスペクトログラムに変換する。model.detect_language(mel)で言語を検出する。whisper.decode(model, mel, whisper.DecodingOptions())でデコードする。
インストールに関する注意
- Python 3.8-3.11と最新のPyTorchが必要です。
- このパッケージはOpenAIの高速なトークナイザー tiktoken に依存しています。一部のプラットフォームでは、ビルドにRustツールチェーン (
rustc,cargo) とsetuptools-rustが必要な場合があります。 - CLIおよびPythonでの音声読み込みのために、
ffmpegがシステムパスに設定されている必要があります。
ライセンス
コードとモデルの重みは MIT License の下で公開されています。
詳細情報
- ブログ記事 – https://openai.com/blog/whisper
- 論文 – https://arxiv.org/abs/2212.04356
- モデルカード – https://github.com/openai/whisper/blob/main/model-card.md
- Colabデモ – https://colab.research.google.com/github/openai/whisper/blob/master/notebooks/LibriSpeech.ipynb
- コミュニティの例 – リポジトリの Show and tell ディスカッションカテゴリを参照してください。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch