WhisperX on Ubuntu — 高精度タイムスタンプ付き音声文字起こしツール

AI/MLツール




音声ファイルを文字起こしすると、どうしてもタイムスタンプが「ざっくり数秒単位」になりがちです。WhisperX はそれを単語レベルの精度まで引き上げた、OpenAI Whisper の拡張ツールです。結論から言うと、pip install whisperx の1行で導入でき、実際に試したところ最新版 3.8.6 が入りました。

ただし Ubuntu 24.04 では、いきなり pip install するとエラーで止まります。本記事では docker run --rm ubuntu:24.04python:3.12-slim で実際に検証したインストール手順を、コマンドの実出力とともに解説します(2026-06-14 実測)。

この記事のポイント

  • WhisperX は pip install whisperx で導入でき、実測で最新版 3.8.6 が入った(Python 3.12 / 3.11 双方で確認)
  • WhisperX 3.8.6 は torch・faster-whisper・pyannote-audio など12個のパッケージに依存する(pip show で実確認)
  • Ubuntu 24.04 / 22.04 の公式 Docker イメージには python3 すら入っていないので、まず apt install から始める
  • Ubuntu 24.04 はシステム Python への直接 pip がエラーになる(PEP 668)。venv が必須
  • ffmpeg を先に入れておかないと処理が始まらない(Ubuntu 24.04 の候補は 6.1.1)
  • 話者ダイアリゼーション(誰がいつ話したか)には Hugging Face のアクセストークンが必要

目次

  1. WhisperX とは?Whisper との違い
  2. 動作確認済み環境(Ubuntu 22.04 / 24.04 実測)
  3. インストール手順(Ubuntu 24.04)
  4. 基本的な使い方
  5. モデルの選び方
  6. よくあるエラーと解決策
  7. まとめ

WhisperX とは?Whisper との違い

OpenAI の Whisper(音声認識モデル)は高精度ですが、出力されるタイムスタンプは「文のかたまり単位」でしか付きません。字幕ファイルを作ったり、特定の発言タイミングを探したりしようとすると、精度が物足りないことがあります。

WhisperX はこの問題を解決するために作られた拡張ツールです。pip show whisperx で確認すると、Summary には 「Time-Accurate Automatic Speech Recognition using Whisper.」(時間的に正確な音声認識)とあり、作者は Max Bain、ライセンスは BSD-2-Clause です。内部では faster-whisper(CTranslate2 を使った高速推論エンジン)で転写を行ったあと、wav2vec2 モデルで音声と文字を単語レベルで再整合します。さらにオプションで pyannote-audio を使った話者分離(誰がいつ話したかの識別)も行えます。

これらは想像ではなく、実際に pip show whisperxRequires: 欄に ctranslate2faster-whisperpyannote-audio が並んでいることから確認できます。

Whisper vs WhisperX 機能比較(概念図)
Whisper vs WhisperX 機能比較(概念図)

上の比較表のとおり、大きな違いは「タイムスタンプ精度」「推論エンジン」「話者ダイアリゼーションの有無」の3点です。特に単語レベルのタイムスタンプは、会議録や字幕作成で効いてきます。

著者アイコン
著者アイコン

会議録の文字起こしをしていると「この発言は何分何秒?」という確認が頻繁に発生します。WhisperX の単語タイムスタンプはそういうときに本当に助かります。

動作確認済み環境(Ubuntu 22.04 / 24.04 実測)

本記事のコマンドは、Docker 公式イメージで実際にバージョンを確認しながら検証しています。まず、Ubuntu 22.04 と 24.04 で apt が入れてくれる関連パッケージの候補バージョンを比較してみました。

Ubuntu 22.04 vs 24.04 関連パッケージ候補バージョン比較(実測)
Ubuntu 22.04 vs 24.04 関連パッケージ候補バージョン比較(実測)

上の実測データのとおり、Ubuntu 24.04 では python3-venv の候補が 3.12.3-0ubuntu2.1(=Python 3.12.3)、python3-pip24.0+dfsgffmpeg7:6.1.1-3ubuntu5 でした。一方 22.04 は Python 3.10 系・pip 22.0.2・ffmpeg 4.4.2 と一世代古めです(docker run --rm ubuntu:{22.04,24.04} bash -c "apt-cache policy ..." で計測、2026-06-14)。

意外な落とし穴:公式イメージには python3 すら入っていない

検証中に気づいた点ですが、ubuntu:24.04 / ubuntu:22.04 の公式 Docker イメージで python3 --version を打つと python3: command not found が返ってきます。つまり最小構成のため Python 本体すら入っていません。VPS の最小イメージでも同様のことが起きます。python3 -m venv を実行する前に、まず apt install python3 python3-venv が必要です。

インストール手順(Ubuntu 24.04)

手順1:システムパッケージを更新する




ubuntu@linuxlab: ~
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Reading package lists… Done

手順2:ffmpeg と Python 環境をインストールする

WhisperX は音声の読み込みに ffmpeg を使います。先に入れておかないと、あとで FileNotFoundError が出ます。公式イメージには Python も入っていないので、ここでまとめて導入します。




ubuntu@linuxlab: ~
$ sudo apt install -y ffmpeg python3 python3-venv python3-pip
Setting up ubuntu-mono (24.04-0ubuntu1) …
Processing triggers for libc-bin (2.39-0ubuntu8.7) …
$ ffmpeg -version | head -1
ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers

上の ffmpeg version 6.1.1-3ubuntu5docker run --rm ubuntu:24.04 内で実際に apt install したあとの出力です(2026-06-14 実測)。

手順3:Python venv を作成する




ubuntu@linuxlab: ~
$ python3 -m venv ~/whisperx-env
$ source ~/whisperx-env/bin/activate
(whisperx-env) ubuntu@linuxlab: ~$

Ubuntu 24.04 では venv が必須(PEP 668)

Ubuntu 24.04 以降では、システム Python に直接 pip install するとエラーになります(PEP 668)。必ず python3 -m venv で仮想環境を作ってから pip を使ってください。具体的なエラーは後半の「よくあるエラー」で実物をお見せします。

手順4:WhisperX をインストールする

仮想環境を有効化したら、pip install whisperx を実行します。torch などの大きな依存をまとめてダウンロードするので、回線によっては数分かかります。




ubuntu@linuxlab: ~
(whisperx-env) $ pip install whisperx
Installing collected packages: whisperx
Successfully installed whisperx-3.8.6
(whisperx-env) $ pip show whisperx
Name: whisperx
Version: 3.8.6
Summary: Time-Accurate Automatic Speech Recognition using Whisper.
Author: Max Bain
License: BSD-2-Clause
Requires: ctranslate2, faster-whisper, huggingface-hub, nltk, numpy,
omegaconf, pandas, pyannote-audio, torch, torchaudio,
torchvision, transformers
pip install / pip show whisperx の実出力(WhisperX 3.8.6・実測)
pip install / pip show whisperx の実出力(WhisperX 3.8.6・実測)

上のスクリーンショットは docker run --rm python:3.12-slim(Python 3.12.13 / pip 25.0.1)で pip install whisperx を実行した実測結果です。バージョンは 3.8.6、依存パッケージとして ctranslate2faster-whisperpyannote-audiotorch など12個が確認できました。python:3.11-slim(pip 24.0)でも同じく 3.8.6 が入りました(2026-06-14 実測)。

ffmpeg導入→venv→WhisperX導入の実セッション(Ubuntu 24.04 実測)
ffmpeg導入→venv→WhisperX導入の実セッション(Ubuntu 24.04 実測)

基本的な使い方

WhisperX CLI のよく使うコマンドパターン(概念図)
WhisperX CLI のよく使うコマンドパターン(概念図)

①基本的な文字起こし(CPU・日本語)




ubuntu@linuxlab: ~
(whisperx-env) $ whisperx audio.mp3 –model small –language ja –device cpu
Loading Whisper model…
Transcribing audio…
[00:00:00.000 –> 00:00:05.120] こんにちは、本日はよろしくお願いします。
[00:00:05.280 –> 00:00:09.440] まずは最初のアジェンダから始めます。
Aligning whisper output…
Saved output to audio.srt, audio.vtt, audio.txt, audio.tsv, audio.json

出力ファイルは --output_format で絞り込めます。字幕用なら srt、JSON で後処理するなら json が便利です。

②GPU 使用(CUDA・large-v3 モデル)

GPU 環境があれば --device cuda--model large-v3 の組み合わせが最も精度が高くなります。




ubuntu@linuxlab: ~
(whisperx-env) $ whisperx meeting.mp4 –model large-v3 –device cuda –language ja
Loading Whisper model large-v3 on cuda…
Transcribing audio…
Aligning whisper output…
Saved output to meeting.srt, meeting.json …

③話者ダイアリゼーション(複数話者の分離)

会議録などで「誰がいつ話したか」を識別したい場合は --diarize オプションを使います。ただし Hugging Face のアクセストークンが必要です。これは依存に含まれる pyannote-audio が、話者分離モデルを Hugging Face からダウンロードするためです。




ubuntu@linuxlab: ~
(whisperx-env) $ whisperx meeting.mp4 \
–model large-v3 –device cuda –language ja \
–diarize –hf_token hf_xxxxxxxxxxxxxxxx
Loading Whisper model large-v3 on cuda…
Transcribing audio…
Aligning whisper output…
Performing diarization…
[00:00:00 –> 00:00:05] SPEAKER_00: こんにちは、本日はよろしくお願いします。
[00:00:05 –> 00:00:09] SPEAKER_01: こちらこそよろしくお願いします。

Hugging Face トークンの取得方法

話者分離に使う pyannote の話者ダイアリゼーションモデルへのアクセスには、Hugging Face アカウントと利用規約への同意が必要です。Hugging Face のトークン設定ページでアクセストークンを発行し、--hf_token に渡してください。

モデルの選び方

WhisperX で使えるモデルは OpenAI Whisper と同じラインナップです。精度と速度・VRAM 使用量はトレードオフになります。

Whisper モデルサイズと用途の比較(概念図)
Whisper モデルサイズと用途の比較(概念図)

学習・開発用途であれば small モデルがバランスが良く、実用的な速度で動きます。本番品質が必要な場合は large-v3 が最善ですが、GPU VRAM が 10GB 前後必要になります。なお上の表の VRAM・速度はあくまで一般的な目安で、GPU 種別やバッチサイズで変動します。

CPU で動かす場合の注意

  • GPU がなくても動くが、large-v3 は1分の音声に数分かかる場合がある
  • CPU 使用時は --compute_type float32 を明示するとエラーを回避しやすい
  • まず --model tiny で動作確認してから精度の高いモデルに切り替えるのが効率的

よくあるエラーと解決策

① externally-managed-environment エラー

Ubuntu 24.04 で venv を作らずにシステム Python へ pip install すると、実際に次のエラーで止まります。これは想像ではなく、docker run --rm ubuntu:24.04 で再現した実物です。




ubuntu@linuxlab: ~
$ pip install whisperx
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
Ubuntu 24.04 の externally-managed-environment エラー(実測)
Ubuntu 24.04 の externally-managed-environment エラー(実測)

原因:Ubuntu 24.04 以降ではシステム Python への pip install が禁止されています(PEP 668)。

解決策:エラーメッセージ自身が案内しているとおり、python3 -m venv ~/whisperx-env && source ~/whisperx-env/bin/activate で仮想環境を作成してから pip install を実行してください。

② FileNotFoundError: ffmpeg が見つからない




ubuntu@linuxlab: ~
(whisperx-env) $ whisperx audio.mp3 –model tiny
FileNotFoundError: ffmpeg was not found but is required to load audio files.
Please install ffmpeg: sudo apt-get install ffmpeg

原因:ffmpeg がインストールされていません。

解決策:sudo apt install -y ffmpeg を実行してください。Ubuntu 24.04 では候補バージョン 6.1.1 が入ります。

③ CUDA out of memory

GPU の VRAM が不足しています。--model small に下げるか、--device cpu に切り替えてください。バッチサイズを下げる --batch_size 4 も有効です。

まとめ

  • WhisperX は pip install whisperx で導入でき、実測で最新版 3.8.6 が入った(2026-06-14・Python 3.12 / 3.11 双方で確認)
  • WhisperX 3.8.6 は torch・faster-whisper・pyannote-audio など12個のパッケージに依存する
  • Ubuntu の公式 Docker イメージには python3 すら入っていないので、ffmpeg と合わせて apt install から始める
  • Ubuntu 24.04 はシステム Python への直接 pip が PEP 668 で止まるため、venv が必須
  • Ubuntu 24.04 の候補バージョンは Python 3.12.3 / pip 24.0 / ffmpeg 6.1.1 で、22.04 より一世代新しい
  • 話者ダイアリゼーションには Hugging Face アクセストークンが必要

より処理の重い文字起こし(大量の音声ファイル、large-v3 での高精度処理)を行うには、GPU 付きの VPS や GPU クラウドサーバーを使うのが現実的です。手元の CPU だと large-v3 は1分の音声に数分かかることもあるので、本格運用なら GPU 環境を検討してみてください。

コメント

タイトルとURLをコピーしました