WhisperXをローカルで使うのは安全か

文字起こし本体は端末内で完結します。ただし、モデルの取得と話者分離では、Hugging Faceという外部サービスへの依存が生じます。GitHubとHugging Faceの公式記載だけを使って、通信が発生する箇所と確認方法を整理しました。

最終更新:2026年9月18日

このページの立場

本ページは、WhisperXの公式リポジトリ(GitHub m-bain/whisperX のREADME・ライセンス・ソースコード)と、WhisperXが依存する話者分離モデル pyannote のHugging Faceモデルカードに書かれている内容を引用・整理したものです。公式に確認できない仕様やセキュリティ上の問題を推測で書くことはしていません。記載は最終更新時点のもので、仕様や配布条件は変更されることがあります。判断の前に必ず提供元の最新の記載をご確認ください。WhisperXはMax Bain氏らが公開しているオープンソースソフトウェアです。

WhisperXは3つの処理と3種類のモデルで動く

WhisperXは、GitHubで公開されているオープンソースの文字起こしツールです。公式リポジトリには、「fast automatic speech recognition (70x realtime with large-v2) with word-level timestamps and speaker diarization」と説明されており、OpenAIのWhisperを高速化したうえで、単語単位のタイムスタンプと話者分離を追加することを目的としています。

安全性を考えるうえで押さえておきたいのは、WhisperXは単一のモデルではなく、3つの処理を3種類のモデルで順に行う「パイプライン」だという点です。それぞれのモデルは取得元と配布条件が異なります。

処理使われるもの(公式記載)モデルの取得元
1. 文字起こし faster-whisper(CTranslate2)をバックエンドに、Whisperモデルをバッチ推論。「Batched inference for 70x realtime transcription using whisper large-v2」 Hugging Face Hub(faster-whisperが自動でダウンロード)
2. 単語タイムスタンプ wav2vec2による音素アライメント。「Accurate word-level timestamps using wav2vec2 alignment」。言語ごとに別のモデルが必要 torchaudioのパイプライン、または Hugging Face Hub(日本語はHugging Face上の第三者公開モデル)
3. 話者分離 pyannote.audioの話者分離パイプライン。「Multispeaker ASR using speaker diarization from pyannote-audio」。既定は pyannote/speaker-diarization-community-1 Hugging Face Hub(アクセストークンと利用条件への同意が必要

出典:m-bain/whisperX READMEalignment.pydiarize.pySYSTRAN/faster-whisper README

このうち、推論そのものはすべて手元の端末で実行されます。一方、モデルを手元に用意する段階では、Hugging Face Hubとの通信と、場合によってはアカウント登録が必要になります。以下ではこの2つを分けて確認します。

音声はどこへ行くか

WhisperXの文字起こし本体は、faster-whisper(CTranslate2)を使って端末上で推論します。faster-whisperの公式READMEには「faster-whisper is a reimplementation of OpenAI's Whisper model using CTranslate2, which is a fast inference engine for Transformer models.」と記載されており、推論エンジンはローカルで動作するライブラリです。単語タイムスタンプ(wav2vec2)と話者分離(pyannote.audio)も、いずれもPyTorch上で端末内で実行されます。

当サイトがWhisperXの公式README、およびコマンドライン・文字起こし・話者分離を担うソースコード(__main__.pyasr.pydiarize.py)を確認した範囲では、音声そのものを外部サーバーへ送信する仕組みは確認できませんでした。したがって、モデルを取得した後の日常利用については、Whisper単体をローカルで動かす場合と同じく「送信先・保管期間・学習利用という論点が構造的に発生しない」と整理できます。

ただし、次の2点は正確に区別しておく必要があります。

通信が発生するのはどこか

公式記載とソースコードから確認できる、ネットワーク通信が発生する箇所は次のとおりです。いずれもモデルの取得に関するもので、音声の送信ではありません。

タイミング何が通信するか公式記載
導入時 pip install whisperx によるパッケージ取得。PyTorch・CTranslate2などの依存ライブラリも含む README「Setup」
初回の文字起こし 指定したサイズのWhisperモデル(CTranslate2形式)を Hugging Face Hub からダウンロード。「the corresponding CTranslate2 model is automatically downloaded from the Hugging Face Hub」 faster-whisper README
初回のアライメント 言語ごとのwav2vec2モデルを取得。日本語は jonatasgrosman/wav2vec2-large-xlsr-53-japanese(Hugging Face上で第三者が公開) alignment.py の DEFAULT_ALIGN_MODELS_HF
初回の話者分離 pyannoteの話者分離パイプラインを Hugging Face Hub から取得。アクセストークンが必要Pipeline.from_pretrained(model_config, token=token, cache_dir=cache_dir) diarize.py

なお、利用統計やテレメトリの送信については、READMEと上記の主要なソースコードに記載・処理を確認できませんでした。ただし、当サイトが依存ライブラリを含む全コードを監査したわけではありません。「確認できなかった」であって「存在しないことを保証する」ではない点にご注意ください。厳密な確認が必要な場合は、ネットワークを遮断した状態で動作を試す、または通信を監視する方法が確実です。

話者分離で生じる「外部サービスへの依存」

WhisperXを「競合と比べて安全か」という観点で検討する人がもっとも見落としやすいのが、この点です。公式READMEには、話者分離を有効にする手順が次のように記載されています。

To enable Speaker Diarization, include your Hugging Face access token (read) that you can generate from Here after the --hf_token argument and accept the user agreement for the speaker-diarization-community-1 model.

つまり、話者分離を使うには次の3つが前提になります。

  1. Hugging Faceのアカウントを作成する
  2. 読み取り用のアクセストークンを発行し、--hf_token(またはコード上の token)に渡す。CLIのヘルプでは「Hugging Face Access Token to access PyAnnote gated models」と説明されています。
  3. モデルページで利用条件に同意するspeaker-diarization-community-1 のモデルカードは、利用条件に同意したユーザーだけがファイルを取得できる「ゲート付き」の配布になっており、同意時に連絡先情報の共有を求められます。モデルカードには「we may email you occasionally with important news about pyannote models, invitations to try premium pipelines」(pyannoteのモデルに関する重要なニュースやプレミアムパイプラインの案内を、時折メールで送ることがある)と記載されています。

ここで正確に理解しておきたいのは、音声はHugging Faceに送られないということです。トークンと同意は「モデルのファイルをダウンロードする資格」のためのもので、ダウンロードが済めば推論は端末内で行われます。モデルカードにも、CPUで既定で動作し、GPUも使えること、ディスクから読み込めば「works without internet connection」(インターネット接続なしで動作する)ことが記載されています。

一方で、社内審査の観点では次の点が「外部サービスへの依存」として整理されます。

これはWhisperXやpyannoteの問題ではなく、オープンソースのモデルを組み合わせて自分で運用する場合に一般的に発生する手続きです。話者分離を使わないのであれば、この依存は生じません(--diarize を付けなければ、トークンは不要です)。

閉域網で使うには、モデルを先に持ち込む

インターネットに接続できない端末でWhisperXを使う方法は、公式のコマンドラインオプションとモデルカードに記載があります。

手順としては、接続できる環境で文字起こしモデル・言語ごとのアライメントモデル・話者分離モデルの3種類をすべて取得し、閉域網の端末へ持ち込んでから --model_dir--model_cache_only を指定して実行する、という流れになります。1種類でも欠けていると初回実行時にダウンロードを試みて失敗するため、持ち込み前に接続を切った状態で完走するかを確認しておくことをおすすめします。

出典:whisperx/__main__.py(CLIオプションのヘルプ文)、pyannote/speaker-diarization-community-1

自分で構築する場合に必要なもの

公式リポジトリとパッケージ定義に記載されている要件は次のとおりです。

項目公式の記載
ライセンス(本体)BSD 2-Clause License(Copyright (c) 2024, Max Bain)。ソース・バイナリの再配布時に著作権表示・条件・免責事項の保持が必要
ライセンス(モデル)speaker-diarization-community-1 は CC-BY-4.0。speaker-diarization-3.1・segmentation-3.0 は MIT。アライメントモデルは言語ごとに公開者・条件が異なる
Python3.10以上、3.14未満(requires-python
主な依存faster-whisper、ctranslate2、pyannote-audio(4.0以上)、torch、torchaudio、transformers、huggingface-hub など
GPU利用時(Windows)「For Windows users, download and install the CUDA toolkit 12.8」。faster-whisper側は cuBLAS for CUDA 12 と cuDNN 9 for CUDA 12 を要求
CPU実行whisperx path/to/audio.wav --compute_type int8 --device cpu が公式に例示されている
その他「You may also need to install ffmpeg, rust etc.」(ffmpegやrustが別途必要になる場合がある)
公式が示す制限「Overlapping speech is not handled particularly well」「Diarization is far from perfect」「Language specific wav2vec2 model is needed」など、READMEの Limitations に記載

出典:m-bain/whisperX READMELICENSEpyproject.tomlSYSTRAN/faster-whisper READMEpyannote/speaker-diarization-community-1pyannote/speaker-diarization-3.1pyannote/segmentation-3.0。仕様は更新されることがあります。

実務上の注意点として、WhisperXはWhisper単体よりも構成要素が多いぶん、環境構築と保守の手間も増えます。CUDA・cuDNNとPyTorch・CTranslate2のバージョン組み合わせ、言語ごとのアライメントモデル、話者分離モデルのトークン管理を、更新のたびに整合させる必要があります。1台で技術者が使うなら十分に運用できますが、部署単位で配る場合は、この保守を誰が担うかを先に決めておく必要があります。

自前構築が向く人・向かない人

WhisperXの自前構築が向いている

  • 単語単位のタイムスタンプや話者分離を、自分のスクリプトやシステムに組み込みたい
  • コマンド操作に抵抗がなく、CUDA・Pythonの環境構築を自分で解決できる
  • Hugging Faceのアカウントとトークンを業務で管理できる体制がある
  • 使うのは自分(または技術者)だけ

WhisperXの自前構築が向いていない

  • 使うのが技術者ではない(総務・医療事務・士業の補助担当など)
  • 外部サービスへのアカウント登録やトークン発行が社内規程で認められていない
  • 端末にソフトを自由にインストールできない、または閉域網で複数台に配布する必要がある
  • 環境構築や更新に時間を使えない/トラブル時に頼れる窓口が要る

右側に当てはまる場合は、「ローカルで動かす」という要件は変えずに、環境構築とモデル管理を肩代わりする方法を検討することになります。手順の全体像はローカル文字起こしガイドにまとめています。

ローカルでも残るリスク

端末内で完結させても、安全になるのは「外部送信」に関する部分だけです。次のリスクは残ります。

具体的な運用は安全に運用する7つの実践にまとめています。

環境構築なしで端末内完結にする選択肢

当サイトで提供している「完全ローカル文字起こし」は、ローカル実行に必要なものをあらかじめ同梱したWindows向けソフトです。事実関係のみ記載します。

音声ファイルをPC内だけで文字起こしし、結果を一覧・検索できるソフトのメイン画面
録音・文字起こし・要約をすべてPC内で完結させる例(完全ローカル文字起こし)

情報システム部門への申請に使える回答例はセキュリティガイドの審査項目に、法人での導入条件は法人向けページにまとめています。Whisper単体をローカルで使う場合との違いはWhisperをローカルで使う安全性をご覧ください。

よくある質問

文字起こし・単語タイムスタンプ・話者分離の推論はいずれも手元の端末で実行される構成であり、公式リポジトリの説明とソースコードに、音声そのものを外部サーバーへ送る仕組みは確認できませんでした。ただし、モデルの重みは初回実行時にHugging Face Hubからダウンロードされるため、導入時には通信が発生します。また、話者分離で使うpyannoteのモデルは、Hugging Faceのアカウントでアクセストークンを発行し、モデルごとの利用条件に同意しなければ取得できません。「音声は送られない」ことと「外部サービスへの依存がない」ことは別の話なので、この2つを分けて理解することが重要です。

音声は送られません。トークンが必要なのは、WhisperXが既定で使う話者分離モデル pyannote/speaker-diarization-community-1 が、Hugging Face上で「利用条件に同意したユーザーだけがファイルを取得できる」ゲート付きモデルとして配布されているためです。公式リポジトリには、Hugging Faceの読み取り用アクセストークンを --hf_token に渡し、当該モデルの利用条件に同意するよう記載されています。モデルカードには、同意時に共有された連絡先情報を通じて、pyannoteのモデルに関するニュースやプレミアムパイプラインの案内を送ることがある旨も記載されています。トークンとアカウントはモデルの取得のためのものであり、取得後の推論は端末内で行われます。

WhisperX本体のコードは BSD 2-Clause License(著作権者 Max Bain)で公開されており、条件を満たせば商用利用を含めて再配布・利用できる寛容なライセンスです。ただし、実際に動かすには複数のモデルを組み合わせる必要があり、それぞれのライセンスは別に確認する必要があります。既定の話者分離モデル pyannote/speaker-diarization-community-1 は CC-BY-4.0、以前の既定だった pyannote/speaker-diarization-3.1 と pyannote/segmentation-3.0 は MIT で公開されています。日本語の単語タイムスタンプに使うアライメントモデルは第三者がHugging Faceで公開しているものです。組み合わせて使う以上、各モデルの条件をご自身で確認してください。

公式のパッケージ定義では Python 3.10以上3.14未満が必要とされ、pip install whisperx で導入します。GPUを使う場合は、Windowsでは事前にCUDA Toolkit 12.8をインストールするよう公式リポジトリに記載されています。ffmpegやrustが別途必要になる場合がある旨も記載されています。GPUは必須ではなく、--compute_type int8 --device cpu を指定してCPUで実行する方法が公式に示されていますが、処理時間は長くなります。環境構築の手間を避けたい場合は、必要なものをあらかじめ同梱したソフトを使う方法もあります。

事前にモデルを取得して持ち込めば可能です。WhisperXのコマンドラインには、モデルの保存先を指定する --model_dir と、ダウンロードを試みずキャッシュ済みのモデルだけを使う --model_cache_only が用意されています。話者分離モデルのモデルカードにも、git-lfsでリポジトリを複製しておけば「インターネット接続なしで動作する」形でディスクから読み込めることが記載されています。ただし、文字起こしモデル・アライメントモデル・話者分離モデルの3種類すべてを、接続できる環境で先に取得しておく必要があります。

公式リポジトリのREADMEと、コマンドライン・文字起こし・話者分離を担う主要なソースコードを確認した範囲では、利用統計やテレメトリを送信する記載や処理は確認できませんでした。ただし、当サイトが依存ライブラリを含む全コードを監査したわけではありません。確認できたのは「モデル取得のためのHugging Face Hubとの通信」のみです。厳密に保証が必要な場合は、ネットワークを遮断した状態で動作させる、または通信を監視して確認してください。

いいえ。外部送信に伴うリスクは排除できますが、端末側のリスクは残ります。保存したテキストを共有フォルダやチャットに貼り付ければそこから漏れますし、PCの紛失・盗難、マルウェア感染、退職者のアカウント放置は依然として脅威です。話者分離で人物ごとに発言が整理されたテキストは、個人を特定しやすい情報になる点にも注意が必要です。ドライブの暗号化、保存先フォルダのアクセス権設定、不要になった記録の廃棄ルールを組み合わせて初めて安全な運用になります。

※ 本記事は一般的な情報であり、法的助言ではありません。ライセンスの解釈や具体的な事案については、自社の法務部門や専門家にご確認ください。第三者の製品・サービス・オープンソースソフトウェアの仕様や配布条件は、当該提供元の公式情報が優先します。

環境構築なしで始める

ローカル実行はそのまま、手間だけ省く。

インストール不要・GPU不要・オフライン動作・アカウント登録不要。個人利用は無料です(Windows版)。

無料ダウンロード 製品詳細