3行でいうと
- 公式のREADMEが示す導入は、①ffmpegを入れる、②
pip install -U openai-whisperを実行する、の2段です。Python本体の入れ方はREADMEには書かれていません。 - READMEは、開発者がPython 3.9.9とPyTorch 1.10.1を使い、Python 3.8〜3.11で動く見込みと書いています。同じリポジトリの
pyproject.tomlは、Python 3.8以上で、3.8〜3.13を対応として挙げています(2か所で範囲が違います)。 - モデルのファイルは、初回に
openaipublic.azureedge.netから自動で取得され、既定では~/.cache/whisperに置かれます(公式のコードwhisper/__init__.pyで確認)。初回は通信が必要です。 - GPUは必須とは書かれていません。コマンドの既定の実行先は「CUDAのGPUがあればGPU、なければCPU」です(公式のコード)。モデルごとの必要VRAMの目安はREADMEの表にあります。
- OpenAI APIを使う場合は、APIキーを作り、環境変数
OPENAI_API_KEYに入れ、pip install openaiでSDKを入れます(公式のクイックスタート)。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。手順は「公式の手順を順に並べたもの」です。公式のページは要約の形で取得したため、コマンドは、原文が崩れずに読めたものだけを「公式の写し」として載せ、読み切れなかった所は「原文で確認」と書いています。画面や表記は変わることがあるので、手元の画面と照らして読んでください。
先に結論
- 入れるものは3つ。 ffmpeg(音声を読む道具)、Python(READMEが書く範囲の版)、
openai-whisper(pipで入れるパッケージ)。 - OSごとに違うのは、ほぼffmpegの入れ方だけ。 READMEは、Ubuntu/Debian、Arch Linux、macOS(Homebrew)、Windows(ChocolateyとScoop)の例を載せています。
- モデルは別に入れなくてよい(初回に自動取得)。 通信できない環境では、先にファイルを用意して、その場所を指定する形になります(コードに分岐があります)。
- GPUがなくても動く作りだが、時間や手間は変わりうる。 CPUでは警告が出て、計算の精度の設定が切り替わります(下の「GPUとCPU」)。速さの数字は、この記事には載せません。
- READMEに無いことは「無い」と書く。 Pythonの入れ方、仮想環境、GPU用PyTorchの入れ方、対応OSの一覧、外し方は、READMEに記載が見つかりませんでした。
前提:用語をそろえる
- ターミナル(コマンドライン):文字でコマンドを打つ画面。Windowsでは「PowerShell」や「コマンドプロンプト」、macOSでは「ターミナル」アプリ、Linuxでは各環境のターミナルです。公式READMEは、画面名までは指定していません。
- Python:プログラミング言語。Whisperは、Pythonのパッケージとして配られています。
- pip:Pythonのパッケージを入れる道具。
pip install ○○で入れます。 - ffmpeg:音声や動画のファイルを読み書きするコマンドラインの道具。READMEは「必要」と書き、公式のコード
whisper/audio.pyは、ffmpegを別の処理として呼んで、音声を16000Hz・モノラルに変換して読み込む作りです。 - PyTorch(torch):計算に使うライブラリ。
openai-whisperを入れると、依存として一緒に入ります(pyproject.tomlの依存にtorchがあります)。 - CUDA/GPU/VRAM:NVIDIAのGPUで計算する仕組み/計算用の部品/GPUの作業用メモリ。
- モデルの重み:学習済みの中身のファイル。サイズごとに
tiny、base、small、medium、large、turboの名前があります。 - API キー:OpenAI APIを使うときの、本人確認の長い文字列。他人に見せてはいけないものです。この記事には実際のキーを載せず、
your_api_key_hereのような置き換え用の文字を使います。
たとえ話:「道具箱に3つ入れてから、初回だけ材料を取り寄せる」
作業台(Python)に、読み取り機(ffmpeg)と本体(openai-whisper)を置きます。本体は、初めて仕事をするときに、必要な材料(モデルのファイル)を、配布元から自分で取り寄せます。2回目からは、取り寄せ済みの材料を使います。これは、READMEとコードを読んだうえでの、この記事のたとえです。
入れる前に決めること
| 決めること | 公式に書かれていること | この記事の補足 |
|---|---|---|
| 自分のPCで動かすか、APIか | どちらも公式の資料にあります(01を参照) | この記事の前半はPC、最後がAPI |
| どのモデルを使うか | READMEの表に、6種類と必要VRAMの目安 | 初回の取得量はモデルで変わります。サイズ(ファイルの大きさ)は、READMEには書かれていません |
| Pythonの版 | README:3.8〜3.11で動く見込み。pyproject.toml:3.8以上、3.8〜3.13を対応と記載 |
新しい版を使うなら、2か所の違いを意識してください |
| GPUの有無 | 必須とは書かれていない | 下の「GPUとCPU」 |
モデルの一覧(READMEの表)
| 大きさ | パラメータ数 | 英語専用 | 多言語 | 必要なVRAMの目安 | 相対速度 |
|---|---|---|---|---|---|
| tiny | 39 M | tiny.en |
tiny |
約1 GB | 約10倍 |
| 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 | 1550 M | なし | large |
約10 GB | 1倍 |
| turbo | 809 M | なし | turbo |
約6 GB | 約8倍 |
- 速度は、READMEによると A100 というGPUで測った相対値で、言語、話す速さ、ハードによって変わります。
.enは英語向けで、特にtiny.enとbase.enが英語で良い傾向、とREADMEにあります。日本語の音声には、多言語の名前を使う形です(日本語向けの専用モデルがあるという記述は見つかりませんでした)。- モデルカード(公式)は、turboのパラメータ数を「798M」と書いています。READMEの表(809 M)と数字が違います。理由は、読んだ範囲では書かれていません。
- 公式のコード(
whisper/__init__.py)には、上の名前のほか、large-v1、large-v2、large-v3、large-v3-turboという名前も入っています。largeはlarge-v3と、turboはlarge-v3-turboと、同じファイルを指します。
手順1:ffmpegを入れる(OSごと)
READMEが載せているコマンドです(原文のコードブロックを要約経由で読み、崩れはありませんでした。全文は公式READMEのSetupで確認してください)。
Ubuntu / Debian
sudo apt update && sudo apt install ffmpeg
Arch Linux
sudo pacman -S ffmpeg
macOS(Homebrew)
brew install ffmpeg
Windows(Chocolatey)
choco install ffmpeg
Windows(Scoop)
scoop install ffmpeg
- READMEの書き方は、「ほとんどのパッケージマネージャで入る」という趣旨です。上の5つが例として載っています。
- HomebrewやChocolatey、Scoop自体の入れ方は、READMEには書かれていません。それぞれの公式ページで確認してください(この記事では読んでいません)。
- Windowsで、管理者権限が要るかどうかは、READMEには書かれていません。
- 入ったかどうかの確かめ方は、READMEには書かれていません。この記事の補足として、ターミナルで次を打つ方法があります(ffmpeg一般のコマンドで、Whisperの公式の手順ではありません)。
ffmpeg -version
版の情報が表示されれば、ffmpegが見つかっています。「コマンドが見つからない」といった表示が出る場合は、入れ直す、またはターミナルを開き直す、が考えられます(見立て)。
手順2:Pythonを用意する
- READMEは、Pythonの入手方法を書いていません。Python公式など、別の資料で入れてください。
- 版の目安は、READMEが「開発者はPython 3.9.9とPyTorch 1.10.1で学習・開発し、Python 3.8〜3.11と最近のPyTorchで動く見込み」という趣旨です。
- 同じリポジトリの
pyproject.tomlはrequires-pythonを「3.8以上」とし、分類(classifiers)に3.8、3.9、3.10、3.11、3.12、3.13を挙げています。 - 入っている版を確かめるには、ターミナルで次を打ちます(Python一般のコマンドです。Windowsでは
py --versionが必要な場合があるかどうかは、Whisperの公式には書かれていません)。
python --version
- READMEには、仮想環境(Pythonの環境を作業ごとに分ける仕組み)を使う指示は見つかりませんでした。使う・使わないは、読んだ範囲では指定されていません。
手順3:openai-whisper を入れる
- ターミナルを開きます。
- READMEの基本のコマンドを実行します(公式の写し)。
pip install -U openai-whisper
- 最新のコミットを入れたいときは、READMEが次のコマンドも載せています(公式の写し)。リリース版とは別の、開発中の状態が入ります。
pip install git+https://github.com/openai/whisper.git
- 入る依存パッケージは、
pyproject.tomlに、more-itertools、numba、numpy、tiktoken、torch、tqdmと、条件つきのtriton(Linuxのx86_64のとき、版は2以上)があります。 - コマンドは、
pyproject.tomlでwhisperという名前がwhisper.transcribe:cliに割り当てられています。入った後は、ターミナルでwhisperと打てば動く形です。 - GitHubのリリース一覧では、最新は「v20250625」で、日付は「26 Jun」と表示されています(ページに年の表示は無く、タグ名から2025年6月26日と読めます)。リリースの説明文は「Release 20250625」だけで、中身の詳細は書かれていませんでした。
入れるときのつまずき(READMEの記載)
READMEは、次の2点を載せています。
| 状況 | READMEの案内 | 補足 |
|---|---|---|
tiktoken に、使っている環境向けのビルド済み配布物がない |
Rust(プログラミング言語の処理系)が要る場合がある、と書かれている | Rustの入れ方の細かい手順(コマンド、PATHの設定)は、原文で確認してください。要約では全文を確かめきれていません |
No module named 'setuptools_rust' というエラーが出る |
pip install setuptools-rust を実行する、と書かれている |
公式のコマンドは pip install setuptools-rust(ハイフン)。エラー文のほうは下線(setuptools_rust)ですが、pipはこの2つを同じ名前として扱います |
pip install setuptools-rust
手順4:モデルのダウンロード(初回の動き)
READMEには、モデルを別に入れる手順は見つかりませんでした。公式のコード(whisper/__init__.py の load_model)では、次の動きです。
- 名前(例:
turbo)を渡すと、手元にファイルがあるか調べます。 - 無ければ、
openaipublic.azureedge.netの/main/whisper/models/の下から、ダウンロードします。 - 置き場所(
download_root)の既定は~/.cache/whisperです。環境変数XDG_CACHE_HOMEが設定されていれば、その下のwhisperになります。 - ダウンロード後に、SHA256というハッシュ値で検証します。手元に同じ名前のファイルがあって、ハッシュ値が合えば再利用されます。合わなければ、警告を出して取り直します。新しく取ったファイルが合わない場合はエラー(
RuntimeError)です。 - コマンドでは、
--model_dirで置き場所を変えられます(whisper/transcribe.pyの引数)。 ~(ホームフォルダ)が、Windowsで具体的にどのフォルダになるかは、公式の資料には書かれていません。
| やりたいこと | 公式のコードから読めること |
|---|---|
| 初回だけ通信したい | 名前を渡して実行すれば自動で取得される |
| 通信できない環境で使いたい | load_model は、名前の代わりに「チェックポイントのファイルのパス」を渡せる分岐がある。ファイルを別のPCで用意して持ち込む形になる(具体的な入手手順は、READMEには書かれていません) |
| 置き場所を変えたい | コマンドは --model_dir、Pythonは download_root |
| 使える名前を調べたい | Pythonで whisper.available_models() を呼ぶと、名前の一覧が返る(コードの説明) |
この記事の補足:available_models() は、次のように呼びます(コードの説明から、この記事で組んだ例。動作は確かめていません)。
import whisper
print(whisper.available_models())
手順5:GPUとCPU
| 項目 | 公式に書かれていること |
|---|---|
| GPUは必須か | READMEに、必須とする記述は見つからなかった |
| 実行先の既定 | load_model の device も、コマンドの --device も、既定は「torch.cuda.is_available() が真ならCUDA、そうでなければCPU」 |
| CPUで動かすと | コード上、モデルがCPUにあると「FP16 is not supported on CPU; using FP32 instead」と警告し、FP32(精度の高い計算形式)に切り替えて動く |
| GPUがあるのにCPUで動かすと | 「Performing inference on CPU when CUDA is available」という警告が出る作りです |
| 計算形式の指定 | コマンドの --fp16(既定は True) |
| CPUのスレッド数 | コマンドの --threads(既定は0。PyTorchのCPUスレッド数を指定し、MKLやOMPの環境変数の設定より優先すると説明されています) |
| 必要なVRAM | READMEの表(上)に、モデルごとの目安 |
| GPU用PyTorchの入れ方 | READMEには書かれていません。PyTorchの公式で確認してください(この記事では読んでいません) |
| Apple Siliconなど、CUDA以外のGPU | 読んだ範囲では、記述は見つかりませんでした |
GPUが使われるかを確かめる
READMEには確かめ方がありません。公式のコード(whisper/__init__.py)が使っている判定と同じ関数を、この記事の補足として書きます(この記事で組んだ例。動作は確かめていません)。
python -c "import torch; print(torch.cuda.is_available())"
True なら、既定でGPU(CUDA)が選ばれる状況、False ならCPUです。CPUで警告を出したくない場合は、公式のオプション --fp16 False が使えます。
whisper audio.mp3 --model turbo --device cpu --fp16 False
(--device と --fp16 の名前は公式のコードの引数一覧にあります。この1行は、それを並べたこの記事の例です。)
手順6:動くかを確かめる
- 短い音声ファイルを1つ用意します(
audio.mp3など。READMEの例はaudio.flac、audio.mp3、audio.wavです)。 - ターミナルで、そのファイルのある場所に移り、READMEの例に合わせて実行します。
whisper audio.mp3 --model turbo
- 初回は、モデルのダウンロードが入ります(手順4)。終わると、文字起こしが始まります。
- 実行中は、既定(
--verboseが True)で、進行状況と文字が表示されます。 - 終わると、出力ファイルが
--output_dir(既定は今いるフォルダ.)に書かれます。--output_formatの既定はallで、txt、vtt、srt、tsv、jsonなどが、全部書かれる設定です(jsonlも選択肢にあります)。 - 出力ファイルの名前の決まり方は、公式のコード
whisper/utils.pyを今回の取得で読めなかったため、書けません。実行後に、出力先のフォルダで確認してください。 - オプションの全体は、READMEに「
whisper --help」とあります。
whisper --help
- Pythonから動かして確かめる場合は、READMEの例です(公式の写し)。
import whisper
model = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])
使い方の続きは、06で場面ごとに並べます。
つまずき表
| 症状 | 考えられる原因(公式の記述から) | 確かめること |
|---|---|---|
whisper というコマンドが見つからない |
pip install が別のPythonに入った、またはまだ入っていない(見立て) |
pip install -U openai-whisper を、使いたいPythonで実行したか。README以外の説明は、この記事では確認していません |
音声を読み込めない(Failed to load audio: に続くメッセージ) |
公式のコード(whisper/audio.py)は、ffmpegの実行が失敗すると、このメッセージで例外を出す作り |
ffmpegが入っているか、ffmpeg -version で確認。ファイル自体が壊れていないか。ffmpegがPATHに無い場合の例外の種類は、コードからは確認できていません |
No module named 'setuptools_rust' |
READMEに、この対処が載っている | pip install setuptools-rust |
tiktoken の入れ方で止まる |
READMEが、Rustが必要な場合があると書いている | Rustの入れ方を、READMEの原文で確認 |
| 初回にとても時間がかかる/途中で止まる | モデルのファイルを、配布元からダウンロードしている(コード) | ネットワークがつながっているか。ダウンロード先 ~/.cache/whisper に、ファイルができているか |
| 「FP16 is not supported on CPU; using FP32 instead」と出る | CPUで動いているため、自動でFP32に切り替えた(コードの警告) | 警告であり、動きは続く作り。気になる場合は --fp16 False |
| GPUがあるのに遅い、CPUで動いている気がする | 既定の実行先は、torch.cuda.is_available() の結果で決まる |
python -c "import torch; print(torch.cuda.is_available())"。False なら、PyTorchがGPUを使えない状態(GPU用PyTorchの入れ方は、PyTorchの公式で確認) |
| メモリ(VRAM)が足りない | モデルごとに必要量の目安がある(README) | より小さいモデルの名前に変える |
| 新しい版のPython(3.12、3.13)で入れられない/警告が出る | READMEは3.8〜3.11の見込み、pyproject.toml は3.13まで挙げている |
公式の2か所で範囲が違うので、README側の範囲の版を試す、などが考えられます(見立て) |
外し方(アンインストール)
- READMEには、外し方の記載が見つかりませんでした。
- この記事の補足:pip一般の使い方として、
pip uninstall openai-whisperでパッケージを外せます(Whisperの公式の手順ではありません)。ダウンロードしたモデルは、置き場所(既定は~/.cache/whisper)にファイルとして残る作りです(コードの説明)。消したい場合は、そのフォルダの中を、自分で確かめてから整理してください。 - ffmpegは、入れたときのパッケージマネージャ(Homebrew、Chocolateyなど)で外します。その手順は、それぞれの公式で確認してください。
OpenAI APIで使う場合の準備(公式のクイックスタート)
自分のPCで動かさず、APIに音声を送る場合の準備です。使い方は06、つなぎ方は07にあります。
- ダッシュボードの
https://platform.openai.com/api-keysで、APIキーを作る(クイックスタートの案内)。画面の細かい操作(ボタンの名前など)は、今回読んだ範囲では確認できていません。 - 環境変数
OPENAI_API_KEYに入れる。SDKはこの環境変数を自動で読む、と書かれています(公式の写し)。
macOS / Linux
export OPENAI_API_KEY="your_api_key_here"
Windows(PowerShell)
setx OPENAI_API_KEY "your_api_key_here"
your_api_key_here は置き換え用の文字です。実際のキーは、人に見せる場所や、公開するファイルに書かないでください。クイックスタートは、キーを「安全な場所に保管する」ことと、.zshrc などのファイルに書く例を挙げています。setx で設定した値が、すでに開いているターミナルにも反映されるかどうかは、公式のページには書かれていません(開き直す必要があるかは、確認できていません)。
- SDKを入れる(公式の写し)。
pip install openai
JavaScriptなら npm install openai です。
- 呼び出し例は、06に載せています。
- APIの料金・保存・停止の予定は、01と04に整理しています。文字起こしの旧モデル(
whisper-1を含む)は、公式の「Deprecations」で、2026年8月26日に告知され、2027年2月26日に停止予定と書かれています。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式のREADMEとコードの要約を、順に並べたものです。コマンドは、要約の中で崩れていなかったものだけを写しました。システムに影響するものほど、公式の原文を見て確かめてください。
- 公式の資料同士で、書き方が違う所があります。Pythonの版は、READMEが3.8〜3.11、
pyproject.tomlが3.8〜3.13です。turboのパラメータ数は、READMEが809 M、モデルカードが798Mです。 - READMEに書かれていない次の事項は、この記事でも確認できていません:Pythonの入れ方、仮想環境、GPU用PyTorchの入れ方、Apple Silicon(CUDA以外のGPU)での動き、対応OSの一覧、モデルの各ファイルの大きさ、Windowsでの
~/.cache/whisperの実際の場所、出力ファイルの名前の決まり方(whisper/utils.pyが取得できず未確認)、外し方。 - 初回のモデル取得は通信が起きます。取得先は
openaipublic.azureedge.netです(コードの記述)。会社や学校のネットワークでは、通信の許可が必要な場合があるかもしれませんが、公式の資料には書かれていません(見立て)。 - Whisperは「録音ファイルを文字にする部品」です。モデルカードは、そのままではリアルタイムの文字起こしには使えないと書いています(01を参照)。
- モデルカードは、本人の同意なく録られた個人の録音の文字起こしに使うことを避けるよう警告しています(01を参照)。
- 「API キー」は、他人に見せると、自分の契約で使われるおそれがあります(見立て)。コードやスクリーンショットに入れないでください。キーの取り消しの画面は、今回読んだ範囲では確認できていません。
- 取得したページの中に、AIへの指示のような文は見つかりませんでした。
出典
- openai/whisper README(OpenAI、GitHub、確認日 2026-10-25)
- openai/whisper README(blob表示。ffmpegの各コマンドの確認、OpenAI、GitHub、確認日 2026-10-25)
- whisper/transcribe.py(OpenAI、GitHub、確認日 2026-10-25)
- whisper/init.py(OpenAI、GitHub、確認日 2026-10-25)
- whisper/audio.py(OpenAI、GitHub、確認日 2026-10-25)
- pyproject.toml(OpenAI、GitHub、確認日 2026-10-25)
- Whisper Model Card(OpenAI、GitHub、確認日 2026-10-25)
- Releases(OpenAI、GitHub、確認日 2026-10-25)
- Developer quickstart(OpenAI、確認日 2026-10-25)
- Deprecations(OpenAI、確認日 2026-10-25)