meizhong986/WhisperJAV
ASR/STT subtitle generator. Uses Qwen3-ASR, local LLM, Whisper, TEN-VAD. Noise-robust for JAV
WhisperJAV – 日本成人ビデオ用字幕生成ツール
何であるか – WhisperJAVは、デスクトップ(およびCLI)アプリケーションで、日本成人ビデオ(JAV)のオーディオトラックをタイムスタンプ付き字幕ファイル(.srt/.vtt)に変換します。すべての処理はローカルで行われるため、メディアはクラウドにアップロードされません。このツールは、OpenAI Whisperファミリー(および最新の日本語最適化ASRモデル)を基盤としたカスタムパイプラインを構築し、JAVに特有のノイズが多く、長時間にわたるオーディオに対応します。
コアとなる考えと、特別なツールが必要な理由
- ノイズが多く、SNRが低いオーディオ – 呼吸音、うめき声、背景音楽が、通常のWhisperモデルにとって日本語の音節のように見えることがあります。
- 長時間のドリフト – 長編映像では、Whisperのアテンションが繰り返しや架空のテキストを「幻覚」する傾向があります。
- 事前処理のジレンマ – 激しいノイズ除去は、正確な音素判別に必要な高周波成分を削ってしまうことがあります。
WhisperJAVは、これらの3つの失敗要因に対処するために、3つのエンジニアリングブロックを採用しています:
- シーンベースのセグメンテーション – 自然な音響境界で動画を分割し、各チャンクを音響的に均一に保ちます。
- VADクランプ – 音声活動検出器(VAD)がASRに正確な音声発話区間を通知し、沈黙や非音声音をモデルが聴かないようにします。
- 防御的デコードと日本語対応の後処理 – 信頼度閾値、幻覚フィルタ、言語固有のクリーニング(助詞処理、方言パターン、純粋なうめき声行の削除、タイミング修正)。
パイプラインの動作概要(高レベルフロー)
flowchart LR
A[オーディオ抽出] --> B[シーン検出]
B --> C[音声強化(オプション)]
C --> D[音声セグメンテーション(VAD)]
D --> E[ASRモデル]
E --> F[日本語特化の後処理]
F --> G[字幕ファイル(.srt/.vtt)]
- オーディオ抽出 – FFmpegが任意の動画形式からオーディオストリームを抽出します。
- シーン検出 – 意味的クラスタリング、エネルギーベースの
auditok、またはニューラルSileroにより、ファイルをシーンに分割します。 - 音声強化 – オプションのニューラルまたは古典的ノイズ除去(例:
clearvoice,zipenhancer)。デフォルトでは無効です。過剰なクリーニングはWhisperの性能を低下させるためです。 - VAD – 音声の正確な区間を特定し、最終的な字幕のタイムスタンプとして使用します。
- ASR – サポートされている認識エンジン(OpenAI Whisper、Faster-Whisper、Qwen-3-ASR、anime-whisper、HuggingFaceモデルなど)のいずれかで音声を認識します。
- 後処理 – 日本語特化のクリーニング:助詞を中心に文を再構成、純粋なうめき声行を削除、重複を除去、極端に長いタイミングを修正します。
主な機能
| 機能 | 何が得られるか |
|---|---|
| GUI と CLI | 1クリックで使えるデスクトップアプリ(whisperjav-gui)またはシンプルなコマンドライン(whisperjav video.mp4) |
| 複数の処理モード | balanced(デフォルト)、fidelity、fast、faster、qwen、anime-whisper、transformers、crispasr。各モードで異なるASRエンジンと事前処理の攻撃性が選択されます。 |
| 感度プリセット | conservative、balanced、aggressive – VADが静かな音声を検出する意欲を調整します。 |
| 2パスアンサンブル | 同じファイルに対して完全に異なる2つのパイプラインを実行し、結果をマージ(例:anime-whisper + Qwen3-ASR)することで、より高い再現率を得られます。 |
| ミックスアンドマッチ | 各ステージ(シーン検出器、強化器、VAD、ASR)は交換可能。コードを書かずにカスタムパイプラインを構築できます。 |
| AI翻訳 | 転写後、ローカルLLM(Ollama)またはクラウドAPI(Gemini、Claudeなど)を使って字幕を翻訳できます。 |
| ローカルオンリー動作 | すべての処理はあなたのマシン上で行われ、メディアはあなたのコンピュータから出ません。 |
| クロスプラットフォームインストーラ | シングルスタンドアロンのWindows .exe に加え、macOS(Apple Silicon)とLinux用のソースインストールスクリプトも提供。 |
| 自動ハードウェア検出 | NVIDIA GPUを検出し、対応するCUDAビルドをインストール。必要に応じてCPUオンリーにフォールバック。 |
一般的な使用例
- 個人アーカイブ – 第三者サービスに頼らず、個人所有のJAVコレクションに正確な字幕を生成。
- 研究/言語分析 – 口語表現、方言、発声パターンの研究に向けた時間同期日本語対話データの取得。
- コンテンツモデレーション – 動画をプライベートに保ちつつ、禁止語をスキャンするためのトランスクリプトを迅速に取得。
- 翻訳ワークフロー – 日本語トランスクリプトを生成し、それをローカルLLMに投入して1コマンドで英語字幕を生成。
インストールのクイックスタート(Windows例)
- リリースページから最新の
.exeをダウンロード。 - 実行する – ローカルPython環境を構築し、PyTorch、FFmpeg、必要なモデル(初回実行時約3GB)をインストール。
- ショートカットを起動 → GUIが表示される。動画をドラッグ&ドロップ、モードを選択、開始をクリック。
代替案:READMEのトップにあるColabまたはKaggleノートブック(バッジ)を使用して、インストール不要のクラウドフリー実行が可能。
例:コマンドライン実行
# 基本的な転写、デフォルトのbalancedモード
whisperjav video.mp4
# より高速モード、保守的なVAD(非常にノイズの多いクリップに適している)
whisperjav video.mp4 --mode faster --sensitivity conservative
# カスタムマージ戦略付き2パスアンサンブル
whisperjav video.mp4 \
--ensemble \
--pass1-pipeline anime-whisper --pass2-pipeline qwen \
--merge-strategy smart_merge
結果の字幕ファイル(video.srt)は元の動画と同じ場所に生成されます。
制限と注意点
- ドメイン特化 – パイプラインとフィルタはJAV風のオーディオに最適化されています。他の日本語コンテンツ(ニュース、ポッドキャストなど)では結果が劣る可能性があります。
- モデルサイズとVRAM – 高精度モード(例:
whisper-large-v2、Qwen-3-ASR 1.7B)は8GB以上のGPUメモリが必要。それ以外はCPUオンリーにフォールバックされ、大幅に遅くなります。 - 幻覚は完全に排除できない – 防御的デコードを採用しても、極めて低品質な録音では、架空の行や重複テキストが発生する可能性があります。
- 法的・倫理的責任 – このソフトウェアはあなたが既に所有するメディアを処理するのみです。著作権侵害や同意のないコンテンツの配布はユーザーの責任です。
詳細情報の入手先
- ドキュメントサイト – 英語: https://meizhong986.github.io/WhisperJAV/ – 詳細ガイド、ベンチマーク表、トラブルシューティングのヒントを含む。
- GitHubリポジトリ – https://github.com/meizhong986/WhisperJAV – ソースコード、イシュー追跡、リリースアセット。
- コミュニティノートブック – READMEのトップにあるColabおよびKaggleバッジで、即座に実験可能。
WhisperJAVは、汎用音声認識モデル(Whisper)にドメインに特化した事前処理、セグメンテーション、後処理を組み合わせることで、非常に困難な音声ドメインで実用可能になる例です。すべての処理はデバイス内に留まるため、プライバシーを重視するユーザーが、長時間でノイズの多い動画コンテンツに対して日本語字幕を生成する実用的な手段を提供します。
TL;DR – Windowsの.exeをインストール(またはColabノートブックを実行)し、GUIにJAVファイルをドロップ、モード(例:balanced)を選択して開始をクリックするだけで、動画をどこにもアップロードせずに、きれいな.srt字幕ファイルが得られます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト