Repolode
m-bain

m-bain/whisperX

Whisperを基盤とするオープンソースの音声認識ツール。強制アライメントによる単語単位のタイムスタンプと、任意の話者ダイアライゼーションに対応します。

代替できる製品:Otter.aiDescript

スター
24,693
フォーク
2,495
未解決の Issue
229
最終コミット
一昨日

これは何?

WhisperXは、OpenAIのWhisperをバッチ推論対応でラップした自動音声認識用Pythonツールで、バックエンドにはfaster-whisperを使用します。Whisper単体では発話単位のタイムスタンプしか得られず、数秒ずれることもあります。WhisperXはwav2vec2ベースの強制アライメント処理を追加し、単語ごとの正確なタイミングを生成します。

パイプラインでは音声認識の前に音声区間検出を使って音声を分割します。プロジェクトによると、これにより幻覚を減らし、バッチ処理が可能になります。pyannote-audioによる話者ダイアライゼーションでは、各セグメントまたは単語に話者IDを付与でき、既知の場合は話者数を指定できます。

PyPIで公開されており、コマンドライン(`whisperx audio.wav`)またはPython APIから利用できます。英語、フランス語、ドイツ語、スペイン語、イタリア語などのアライメントモデルは自動的に選択され、CPUとGPUの両方で実行できます。

主な機能

  • 01faster-whisperバックエンドによるWhisperのバッチ推論で、文字起こしを高速化します。
  • 02wav2vec2の強制アライメントにより、単語単位のタイムスタンプを生成します。
  • 03pyannote-audioを使った話者ダイアライゼーションで、話者IDを付与します。
  • 04幻覚を減らすため、前処理として音声区間検出を行います。
  • 05コマンドラインとPythonのインターフェースを備え、CPUとCUDA対応GPUで実行できます。

ユースケース

  • 録画した動画や音声から、単語ごとの正確なタイミングを含む字幕(SRT)を作成する。
  • 話者ラベル付きで、複数人が参加する会議やインタビューを書き起こす。
  • アライメント済みの文字起こしが必要な音声データセットや研究用パイプラインを構築する。
  • 言語ごとのアライメントモデルを使って、英語以外の音声を書き起こす。

クイックスタート

  1. 1

    まず CUDA Toolkit 12.8 をインストールします(CPU のみの場合は不要)

  2. 2

    PyPI から WhisperX をインストールします

    pip install whisperx
  3. 3

    音声ファイルを文字起こしします

    whisperx path/to/audio.wav

使う前に知っておきたいこと

  • GPU を高速に使用するには CUDA 12.8 対応の NVIDIA GPU が必要です。CPU で実行する場合は int8 の compute type が必要です。
  • 話者ダイアライゼーションには Hugging Face token が必要で、pyannote model の利用規約への同意も必要です。
  • アライメントモデルの辞書にない文字を含む単語(記号付きの数字など)には、タイミングが割り当てられません。
  • その他の言語には、言語固有の音素アライメントモデルが必要です。

トピック

よくある質問

whisperX とは?
Whisperを基盤とするオープンソースの音声認識ツール。強制アライメントによる単語単位のタイムスタンプと、任意の話者ダイアライゼーションに対応します。 WhisperXは、OpenAIのWhisperをバッチ推論対応でラップした自動音声認識用Pythonツールで、バックエンドにはfaster-whisperを使用します。Whisper単体では発話単位のタイムスタンプしか得られず、数秒ずれることもあります。WhisperXはwav2vec2ベースの強制アライメント処理を追加し、単語ごとの正確なタイミングを生成します。
whisperX は無料で使えますか?ライセンスは?
whisperX は BSD-2-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
whisperX は今もメンテナンスされていますか?
活発にメンテナンス中。whisperX の最終コミットは 2026年10月18日 です。
whisperX は何に使えますか?
録画した動画や音声から、単語ごとの正確なタイミングを含む字幕(SRT)を作成する。 話者ラベル付きで、複数人が参加する会議やインタビューを書き起こす。 アライメント済みの文字起こしが必要な音声データセットや研究用パイプラインを構築する。 言語ごとのアライメントモデルを使って、英語以外の音声を書き起こす。
whisperX のインストール方法は?
まず CUDA Toolkit 12.8 をインストールします(CPU のみの場合は不要) PyPI から WhisperX をインストールします: pip install whisperx 音声ファイルを文字起こしします: whisperx path/to/audio.wav
whisperX はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/m-bain/whisperX

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト