whisper-windows-mcp 2.2.2 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/{LICENSE-COMMERCIAL.md → COMMERCIAL-LICENSE.md} +58 -58
  2. package/LICENSE +40 -40
  3. package/PRIVACY.es.md +192 -135
  4. package/PRIVACY.id.md +192 -135
  5. package/PRIVACY.ja.md +192 -135
  6. package/PRIVACY.ko.md +192 -135
  7. package/PRIVACY.md +192 -135
  8. package/PRIVACY.pl.md +192 -135
  9. package/PRIVACY.pt-BR.md +192 -135
  10. package/PRIVACY.ro.md +192 -135
  11. package/PRIVACY.uk.md +192 -135
  12. package/PRIVACY.vi.md +192 -135
  13. package/README.es.md +74 -48
  14. package/README.id.md +77 -40
  15. package/README.ja.md +100 -72
  16. package/README.ko.md +63 -37
  17. package/README.md +76 -39
  18. package/README.pl.md +77 -40
  19. package/README.pt-BR.md +71 -45
  20. package/README.ro.md +78 -41
  21. package/README.uk.md +77 -40
  22. package/README.vi.md +67 -41
  23. package/ROADMAP.es.md +110 -48
  24. package/ROADMAP.id.md +77 -104
  25. package/ROADMAP.ja.md +84 -123
  26. package/ROADMAP.ko.md +73 -97
  27. package/ROADMAP.pl.md +104 -44
  28. package/ROADMAP.pt-BR.md +78 -102
  29. package/ROADMAP.ro.md +102 -44
  30. package/ROADMAP.uk.md +65 -97
  31. package/ROADMAP.vi.md +78 -102
  32. package/SECURITY.es.md +64 -47
  33. package/SECURITY.id.md +64 -47
  34. package/SECURITY.ja.md +64 -47
  35. package/SECURITY.ko.md +64 -47
  36. package/SECURITY.md +21 -4
  37. package/SECURITY.pl.md +64 -47
  38. package/SECURITY.pt-BR.md +64 -47
  39. package/SECURITY.ro.md +64 -47
  40. package/SECURITY.uk.md +64 -47
  41. package/SECURITY.vi.md +64 -47
  42. package/TROUBLESHOOTING.es.md +309 -323
  43. package/TROUBLESHOOTING.id.md +333 -323
  44. package/TROUBLESHOOTING.ja.md +399 -286
  45. package/TROUBLESHOOTING.ko.md +309 -323
  46. package/TROUBLESHOOTING.pl.md +355 -323
  47. package/TROUBLESHOOTING.pt-BR.md +309 -323
  48. package/TROUBLESHOOTING.ro.md +355 -323
  49. package/TROUBLESHOOTING.uk.md +369 -323
  50. package/TROUBLESHOOTING.vi.md +309 -323
  51. package/dist/index.js +591 -216
  52. package/package.json +45 -45
  53. package/patch_roadmaps.py +0 -72
@@ -1,286 +1,399 @@
1
- # whisper-windows-mcp — トラブルシューティング
2
-
3
- ---
4
-
5
- ## 簡易チェックリスト
6
-
7
- 詳しい調査の前に、以下をすべて確認してください:
8
-
9
- - `claude_desktop_config.json`のパスに**バックスラッシュを2つ**使用している(`C:\\whisper\\...`)
10
- - `WHISPER_CLI_PATH`に指定したパスに`whisper-cli.exe`が存在する
11
- - `WHISPER_MODEL`に指定したパスにモデル`.bin`ファイルが存在する
12
- - FFmpegがインストールされPATHが通っている(コマンドプロンプトで`ffmpeg -version`が動作する)
13
- - 設定ファイル編集後にClaude Desktopを**完全に再起動**した(システムトレイから終了)
14
- - 設定 → 開発者でwhisperが緑色の**実行中**バッジで表示されている
15
-
16
- ---
17
-
18
- ## 「whisperに接続できない」またはツールが表示されない
19
-
20
- **最も多い原因:** 設定ファイル編集後にClaude Desktopを完全に再起動していない。
21
-
22
- 1. システムトレイのClaudeアイコンを右クリック → 終了
23
- 2. Claude Desktopを再起動
24
- 3. 設定 → 開発者でwhisperの緑色の**実行中**バッジを確認
25
-
26
- それでも表示されない場合:
27
-
28
- 1. `claude_desktop_config.json`のJSON構文エラーを確認(カンマの漏れ、括弧の不一致など)
29
- 2. すべてのパスでバックスラッシュを2つ使用していることを確認
30
- 3. Claude Desktopで`check_config`(設定確認)を実行して診断情報を取得
31
-
32
- ---
33
-
34
- ## download_modelが大きなモデルでタイムアウトする
35
-
36
- Claude DesktopはMCPツール呼び出しに4分のタイムアウトを設定しています。遅い接続では大きなモデルのダウンロードがこれを超える可能性があります。
37
-
38
- **ファイルサイズ:**
39
- - `large-v3` — 2.9 GB
40
- - `large-v3-turbo` — 1.6 GB
41
- - `large-v3-q5_0` — 1.1 GB
42
- - `large-v3-turbo-q5_0` — 547 MB
43
- - `medium.en` — 1.5 GB
44
- - `medium.en-q5_0` — 514 MB
45
-
46
- 高速接続(100 Mbps以上)では、large-v3でも4分以内にダウンロードできます。遅い接続では、ブラウザまたはPowerShellで直接ダウンロードしてモデルディレクトリに配置してください:
47
-
48
- ```powershell
49
- # 例 — large-v3-turboを直接ダウンロード
50
- Invoke-WebRequest -Uri "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin" `
51
- -OutFile "C:\whisper\models\ggml-large-v3-turbo.bin"
52
- ```
53
-
54
- その後、`switch_model ggml-large-v3-turbo.bin`でアクティベートしてください。
55
-
56
- ---
57
-
58
- ## `check_config`がwhisper-cli.exeを見つけられない
59
-
60
- 設定のパスが実際のファイルの場所と一致していません。
61
-
62
- ファイルの存在を確認:
63
- ```
64
- dir C:\whisper\Release\whisper-cli.exe
65
- ```
66
-
67
- 別の場所にある場合は、設定の`WHISPER_CLI_PATH`を実際のパスに更新してください。
68
-
69
- ---
70
-
71
- ## `check_config`がFFmpegを見つけられない
72
-
73
- FFmpegがインストールされていないか、システムPATHに含まれていません。
74
-
75
- wingetでインストール:
76
- ```
77
- winget install ffmpeg
78
- ```
79
-
80
- または[ffmpeg.org](https://ffmpeg.org/download.html)からダウンロードして、`bin`フォルダをシステムPATHに追加してください。
81
-
82
- インストール後、新しいコマンドプロンプトで確認:
83
- ```
84
- ffmpeg -version
85
- ```
86
-
87
- FFmpegを標準以外の場所にインストールした場合は、Claude Desktop設定で`FFMPEG_PATH`環境変数を設定してください:
88
- ```json
89
- "env": {
90
- "FFMPEG_PATH": "C:\\ffmpeg\\bin\\ffmpeg.exe"
91
- }
92
- ```
93
-
94
- ---
95
-
96
- ## 文字起こし結果が`[FOREIGN]`タグばかりになる
97
-
98
- **原因:** 英語専用モデル(例:`ggml-medium.en.bin`)を英語以外の音声に使用しています。英語専用モデルは他の言語を処理できず、認識できないすべてのセグメントに`[FOREIGN]`を出力します。
99
-
100
- **修正方法:** `ggml-large-v3.bin`(多言語モデル)をダウンロードして使用してください。英語以外の文字起こし、言語自動検出、翻訳にはこのモデルが必要です。
101
-
102
- ```
103
- https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
104
- ```
105
-
106
- `C:\whisper\models\`に保存して設定を更新:
107
- ```json
108
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-large-v3.bin"
109
- ```
110
-
111
- > **注意:** 英語専用モデル(`*.en.bin`)は英語コンテンツでは速く精度が高いですが、他の言語は一切処理できません。多言語コンテンツを扱う場合は、ハードウェアに関わらず`large-v3`が正しいモデルです。
112
-
113
- ---
114
-
115
- ## ファイル名にUnicodeや特殊文字が含まれる場合のバックグラウンドジョブの失敗
116
-
117
- **原因:** パスに日本語・中国語・絵文字・括弧などのUnicode文字や特殊文字が含まれる場合、whisper-cli.exeが出力ファイルを書き込めません。
118
-
119
- **現在の回避方法:** 文字起こし前にファイル名をASCII文字のみに変更してください。
120
-
121
- ```
122
- ren "日本語ファイル名.mp4" "temp_transcribe.mp4"
123
- ```
124
-
125
- **状況:** 既知のバグです。出力をサニタイズされた一時パスに書き込んでから正しい場所に移動する修正を計画中です。
126
-
127
- ---
128
-
129
- ## バックグラウンドジョブが失敗して出力がない
130
-
131
- **考えられる原因:**
132
-
133
- 1. **Unicodeファイル名** — 上記参照。
134
- 2. **モデルパスが間違っている** — `check_config`でパスを確認してください。
135
- 3. **プロセスが強制終了された** — 処理中にwhisper-cli.exeを強制終了すると出力ファイルが存在しません。再実行してください。
136
- 4. **VRAMが不足している** — より小さいモデルを試してください。
137
-
138
- ---
139
-
140
- ## バックグラウンドモードでSRT出力が作成されない
141
-
142
- **原因:** バックグラウンドモード(`transcribe_audio`の`background=true`)は現在`.txt`出力のみに対応しています。
143
-
144
- **回避方法:** 約4分未満のファイルには`generate_subtitles`をブロッキングモードで使用してください。長いファイルの場合は、先にバックグラウンドモードで`.txt`を作成してから、同じファイルで`generate_subtitles`を実行してください(再度文字起こしが行われます)。
145
-
146
- **状況:** バックグラウンドモードでのSRT対応は将来のリリースで予定されています。
147
-
148
- ---
149
-
150
- ## GPUが使用されていない(CPUが50%以上で高負荷)
151
-
152
- **原因:** 標準のwhisper.cppリリースに付属するCPU専用バイナリを使用しています。
153
-
154
- **修正方法:** [リリースページ](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0)からVulkan対応ビルドをダウンロードして`C:\whisper\Release\`に展開してください。
155
-
156
- GPU加速の確認方法:
157
- - `check_system`(システム確認)を実行
158
- - `✅ Vulkan binary: ggml-vulkan.dll found`が表示されることを確認
159
- - 文字起こし中にタスクマネージャー → パフォーマンス → GPUでGPU使用率が15〜30%に上昇することを確認
160
-
161
- ---
162
-
163
- ## `check_system`のVRAM表示が実際と異なる
164
-
165
- Windowsの既知の制限です。`wmic`コマンドはレジストリからVRAMを読み取りますが、多くのAMDカードでは物理VRAMの半分の値が表示されます。これは表示の問題のみで、whisperは実際の物理VRAMを完全に使用します。
166
-
167
- ---
168
-
169
- ## 「文字起こしが既に進行中」エラー
170
-
171
- 前のジョブの`whisper-cli.exe`プロセスが実行中です。完了を待つか:
172
-
173
- 1. タスクマネージャー → 詳細タブ
174
- 2. `whisper-cli.exe`を見つける
175
- 3. 右クリック → タスクの終了
176
-
177
- その後、再試行してください。
178
-
179
- ---
180
-
181
- ## 言語自動検出が間違っている
182
-
183
- Whisperの自動検出は音声の最初の30秒で行われます。ファイルの最初がコンテンツの大部分と異なる言語の場合、検出が間違う可能性があります。
184
-
185
- **修正方法:** 自動検出に頼らず、言語を明示的に指定してください(例:`language=ja`)。
186
-
187
- ---
188
-
189
- ## 字幕生成が全編「(外国語で話しています)」になる
190
-
191
- Whisperが音声を検出したが文字起こしできていません。最も多い原因:
192
-
193
- 1. **間違ったモデル** — 英語専用モデルを英語以外の音声に使用。`large-v3`を使用してください。
194
- 2. **音声品質** — 雑音のある環境(厨房、群衆、反響)はmediumモデルでは難しい場合があります。`large-v3`を試してください。
195
- 3. **混合言語** — 2つの言語が交互に話されるファイルは、単一言語設定では少数派の言語がプレースホルダーになります。
196
-
197
- ---
198
-
199
- ## 字幕翻訳が英語にしか対応していない
200
-
201
- これは仕様です。Whisperの組み込み`--translate`フラグは**英語へのみ**翻訳します。他の言語への翻訳は、生成された`.srt`ファイルを別途翻訳ツールで処理してください。
202
-
203
- ---
204
-
205
- ## 一時ジョブディレクトリのクリーンアップ
206
-
207
- whisper-windows-mcpは文字起こし中に`%TEMP%\whisper-mcp-jobs\`にジョブ状態とログファイルを書き込みます。特に長い文字起こしジョブの`.log`ファイルは時間とともに蓄積され、ディスクスペースを消費します。
208
-
209
- バッチまたはジョブが完了し、出力トランスクリプトを確認したら、このディレクトリ内のすべてを安全に削除できます:
210
-
211
- ```powershell
212
- Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
213
- ```
214
-
215
- ディレクトリは次の文字起こし時に自動的に再作成されます。トランスクリプトの出力ファイルはここに永続的に保存されません — 完了時にソースディレクトリに移動されます。ジョブのメタデータとログのみが残ります。
216
-
217
- **注意:** 文字起こしが進行中の間はこのディレクトリを削除しないでください — `check_batch_progress`が機能するためにバッチ状態ファイルが必要です。
218
-
219
- ---
220
-
221
- ## コマンドラインからの大規模バッチ処理
222
-
223
- Claudeなしで一晩中実行したい大規模バッチには、PowerShellを使用してください。
224
-
225
- **重要:** whisper-cli.exeはMP4、MKVなどのほとんどの動画フォーマットを直接読み込めません。FFmpegで事前にWAVに変換する必要があります。またwhisperはトランスクリプトをstdoutに、診断情報をstderrに出力します。`Start-Process -RedirectStandardOutput`を使用してトランスクリプトを正しくキャプチャしてください。`|`でパイプしたり`2>$null`でstderrを抑制しても、何もキャプチャされません。
226
-
227
- ```powershell
228
- $whisper = "C:\whisper\Release\whisper-cli.exe"
229
- $model = "C:\whisper\models\ggml-medium.en.bin"
230
- $dir = "C:\path\to\your\folder"
231
- $ffmpeg = "ffmpeg"
232
- $tmp = "$env:TEMP\whisper_convert.wav"
233
-
234
- Get-ChildItem "$dir\*.mp4" | ForEach-Object {
235
- $out = ($_.FullName -replace '\.mp4$', '') + ".txt"
236
- if (Test-Path $out) {
237
- Write-Host "SKIP (exists): $($_.Name)"
238
- return
239
- }
240
- Write-Host "Converting: $($_.Name)"
241
- & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
242
- Write-Host "Transcribing: $($_.Name)"
243
- $wArgs = "-m `"$model`" -f `"$tmp`" --threads 8 --condition-on-previous-text 0 --no-speech-thold 0.6"
244
- Start-Process -FilePath $whisper -ArgumentList $wArgs -RedirectStandardOutput $out -Wait -NoNewWindow
245
- Write-Host "Done: $($_.BaseName).txt"
246
- }
247
-
248
- Remove-Item $tmp -ErrorAction SilentlyContinue
249
- Write-Host "All done."
250
- ```
251
-
252
- `*.mp4`をファイルタイプに合わせて`*.mkv`や`*.m4a`などに変更してください。`Test-Path`のスキップチェックにより、中断後にスクリプトを再実行しても完了済みファイルは再処理されません。
253
-
254
- これにより各ソースファイルの隣に`.txt`ファイルが書き込まれます。その後`analyze_media`や`start_batch`を実行すると、MCPツールはこれらを文字起こし済みとして認識します。
255
-
256
- ---
257
-
258
- ## 設定ファイルの場所
259
-
260
- ```
261
- C:\Users\ユーザー名\AppData\Roaming\Claude\claude_desktop_config.json
262
- ```
263
-
264
- `AppData`が表示されない場合:エクスプローラーで「表示」→「隠しファイル」を有効にしてください。
265
-
266
- ---
267
-
268
- ## 完全な設定例
269
-
270
- ```json
271
- {
272
- "mcpServers": {
273
- "whisper": {
274
- "command": "npx",
275
- "args": ["-y", "whisper-windows-mcp"],
276
- "env": {
277
- "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
278
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin",
279
- "FFMPEG_PATH": "ffmpeg"
280
- }
281
- }
282
- }
283
- }
284
- ```
285
-
286
- `FFMPEG_PATH`のデフォルトは`ffmpeg`(PATHにあることを前提)です。FFmpegが標準以外の場所にインストールされている場合のみ明示的に設定してください。
1
+ # トラブルシューティング — whisper-windows-mcp
2
+
3
+ ---
4
+
5
+ ## 簡易チェックリスト
6
+
7
+ 詳しい調査の前に、以下をすべて確認してください:
8
+
9
+ - `claude_desktop_config.json`のパスに**バックスラッシュを2つ**使用している(`C:\\whisper\\Release\\whisper-cli.exe`)
10
+ - `WHISPER_CLI_PATH`に指定したパスに`whisper-cli.exe`が存在する
11
+ - `WHISPER_MODEL`に指定したパスにモデル`.bin`ファイルが存在する
12
+ - FFmpegがインストールされPATHが通っている(ターミナルで`ffmpeg -version`が動作する)
13
+ - 設定ファイル編集後にClaude Desktopを**完全に再起動**した(システムトレイから終了、ウィンドウを閉じるだけではない)
14
+ - 設定 → 開発者でwhisperが**緑色の実行中バッジ**で表示されている
15
+
16
+ ---
17
+
18
+ ## インストールと起動
19
+
20
+ ### Claude Desktop → 設定 → 開発者にWhisperが表示されない
21
+
22
+ 1. Claude Desktop → 設定 → 開発者 → 設定を編集を開く
23
+ 2. JSONが有効であることを確認 — 不明な場合は[jsonlint.com](https://jsonlint.com)に貼り付けて確認
24
+ 3. `WHISPER_CLI_PATH`と`WHISPER_MODEL`が実際に存在するファイルを指していることを確認
25
+ 4. システムトレイからClaude Desktopを終了(トレイアイコンを右クリック → 終了)
26
+ 5. Claude Desktopを再起動して再確認
27
+
28
+ Whisperは表示されているがエラーバッジが表示されている場合:
29
+ - Claudeに*「whisperの設定を確認して」*と聞く — `check_config`ツールが具体的なエラーメッセージを返す
30
+ - Claude Desktop → 設定 → 開発者 → サーバー名をクリックしてエラーログを確認
31
+
32
+ ### 「whisper-cli.exeが見つからない」エラー
33
+
34
+ `WHISPER_CLI_PATH`のパスがバイナリの実際の場所と一致していません。
35
+
36
+ デフォルトの期待パス:`C:\whisper\Release\whisper-cli.exe`
37
+
38
+ ファイルの存在を確認:
39
+ ```powershell
40
+ Test-Path "C:\whisper\Release\whisper-cli.exe"
41
+ ```
42
+
43
+ `True`が返されるべきです。`False`が返された場合は、リリースzipを`C:\whisper\Release\`に展開するか、設定の`WHISPER_CLI_PATH`を実際の場所に合わせて更新してください。
44
+
45
+ ### 「モデルが見つからない」エラー
46
+
47
+ `WHISPER_MODEL`のパスが実際のモデルファイルの場所または名前と一致していません。
48
+
49
+ モデルディレクトリを確認:
50
+ ```powershell
51
+ Get-ChildItem "C:\whisper\models\"
52
+ ```
53
+
54
+ 量子化サフィックスを含む完全なファイル名が必要です(例:`ggml-large-v3-turbo-q5_0.bin`、`ggml-large-v3-turbo.bin`ではない)。モデルがインストールされていない場合は、Claude Desktopで`download_model`を使用してください。
55
+
56
+ ---
57
+
58
+ ## GPU加速
59
+
60
+ ### 文字起こしが遅い — CPUのみ、GPUを使用していない
61
+
62
+ Claudeに*「システムハードウェアを確認して」*と聞く
63
+
64
+ `check_system`ツールがwhisperバイナリディレクトリに`ggml-vulkan.dll`が存在するかどうかを確認します。DLLが見つからない場合は、GPUに関わらずCPUのみで動作しています。
65
+
66
+ **修正方法:** [リリースページ](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0)から`whisper-vulkan-win-x64.zip`をダウンロードして`C:\whisper\Release\`に展開してください。zipにはDLLが含まれています — `whisper-cli.exe`と同じディレクトリに置く必要があります。
67
+
68
+ ### GPUが検出されているが文字起こし中の使用率が0%
69
+
70
+ バイナリは動作しているがGPUにディスパッチされていません。通常の原因:
71
+ - Vulkan SDKがインストールされていないか、GPUドライバーがVulkanインターフェースを公開していない
72
+ - GPUがVulkan 1.0より古い(まれ — 2016年以降のほとんどのGPUはサポート)
73
+
74
+ Vulkanサポートを確認:
75
+ ```powershell
76
+ vulkaninfo
77
+ ```
78
+
79
+ 出力があればVulkanが利用可能です。`vulkaninfo`が失敗する場合は、GPUベンダーのサイトから最新のGPUドライバーをインストールしてください。
80
+
81
+ ### VRAMが実際のサイズの半分として報告される(AMD)
82
+
83
+ AMDのGPUでの既知のWindowsの報告上の問題です。実際の処理に使用可能なVRAMは`wmic`が報告する値の通常2倍です。モデルの推奨が過度に保守的になる場合があります — 推奨より大きなモデルを試して文字起こしが正常に完了するか確認できます。
84
+
85
+ ---
86
+
87
+ ## 文字起こし品質
88
+
89
+ ### 出力に幻覚テキストや繰り返しフレーズが含まれる
90
+
91
+ Whisperは無音または低品質の音声セグメントで幻覚を起こすことがあります。ツールはデフォルトで`--max-context 0`と`--no-speech-thold 0.6`を適用してこれを最小化しています。
92
+
93
+ 追加のアプローチ:
94
+ - `temperature=0.2`を使用 — わずかなランダム性がノイズの多い音声での幻覚ループを解消するのに役立つ
95
+ - VAD(音声活動検出)モデルを使用:Silero VADモデルの`.bin`ファイルをダウンロードして`vad_model`としてパスを渡す。これが無音区間のある録音での幻覚に対して最も効果的な修正
96
+ - より大きなモデル(`large-v3`または`large-v3-turbo`)を使用 — 小さいモデルは難しい音声でより多く幻覚する
97
+ - `prompt`でコンテキストを設定:*「これはソフトウェアエンジニアリングについてのポッドキャストインタビューです。」*
98
+
99
+ ### 文字起こし出力が空またはとても短い
100
+
101
+ Claudeに*「このファイルを分析して」*(`analyze_media`)と聞き、ファイルに音声コンテンツがあり認識されたフォーマットであることを確認してください。
102
+
103
+ FFprobeが音声を報告しているが文字起こしが何も生成しない場合:
104
+ - ファイルが設定された`language`パラメーターと一致しない言語である可能性がある
105
+ - `language=auto`を試してWhisperに言語を検出させる
106
+ - 音声が小さすぎるか過度に処理されている可能性がある — 文字起こしには聞き取れる音声が必要
107
+
108
+ ### タイムスタンプモードの出力がSRTと異なる
109
+
110
+ `timestamps`モードでは、出力はwhisperのstdoutにプレーンな`[HH:MM:SS.mmm --> HH:MM:SS.mmm] テキスト`の行として出力されます。`srt`モードでは、whisperは番号付きSRTブロックとしてフォーマットします。2つのパスが異なる出力フラグを使用するため、セグメントの境界が若干異なる場合があります。どちらも有効です — 字幕ファイル形式が必要な場合は`srt`または`vtt`を、生のタイムスタンプ付きテキストが必要な場合は`timestamps`を使用してください。
111
+
112
+ ---
113
+
114
+ ## プライバシーモードと同意ゲート
115
+
116
+ ### 文字起こし前に同意プロンプトが表示されない
117
+
118
+ 同意ゲートは標準モードで**セッションに1回**表示されます。このセッション(最後のClaude Desktop再起動以降)で既に文字起こしを確認した場合は、再度表示されません。
119
+
120
+ ゲートが表示されない他の理由:
121
+ - 設定に`WHISPER_CONSENT_ACKNOWLEDGED=true`が設定されている — これはゲートを完全に抑制する
122
+ - `WHISPER_PRIVACY_MODE=true`が設定されている — プライバシーモードは同意ゲートではなく独自の操作ごとのゲートを使用する
123
+ - 既に完了したブロッキング文字起こしの進捗を確認している — ゲートはジョブ開始時に消費された
124
+
125
+ **ゲートを再度表示するには:** Claude Desktopを完全に再起動してください(システムトレイから終了して再起動)。
126
+
127
+ ### Claudeが確認なしにファイルを処理している
128
+
129
+ 設定に`WHISPER_CONSENT_ACKNOWLEDGED=true`がある場合、ゲートは意図的に抑制されています。プライバシーへの影響を確認済みでリマインダーが不要なユーザーへの意図した動作です。
130
+
131
+ 設定されていないのにClaudeが確認なしに進んだ場合、セッションゲートは同じセッション内の以前の文字起こしで消費されています。ゲートはセッションに1回表示されます。
132
+
133
+ セッション状態に関わらずすべての文字起こしで操作ごとの確認が必要な場合は、プライバシーモードを有効にしてください:`privacy_mode=true`を渡すか、設定に`WHISPER_PRIVACY_MODE=true`を設定してください。
134
+
135
+ ### プライバシーモードが有効だが1つのトランスクリプトを読みたい
136
+
137
+ その特定の呼び出しに対して`privacy_mode=false`を文字起こしツールに直接渡してください。これはその1回の呼び出しに対してのみグローバルの`WHISPER_PRIVACY_MODE=true`設定を上書きします:
138
+
139
+ - *「このファイルを文字起こしして、privacy_mode=false」*
140
+
141
+ 再起動は不要です。上書きはその単一のツール呼び出しにのみ適用されます。
142
+
143
+ ### プライバシーモードがすべてのファイルの前に確認を求める
144
+
145
+ これは正しい意図された動作です。プライバシーモードは操作ごとの同意が必要です — ゲートはすべての文字起こし前に表示され、プライバシーモードが有効な間はバイパスできません。
146
+
147
+ 多くのファイルをper-fileの確認なしに文字起こしする必要があり、コンテンツが機密でない場合は、プライバシーモードを無効にしてください:
148
+ - 設定から`WHISPER_PRIVACY_MODE=true`を削除してClaude Desktopを再起動
149
+ - または特定の機密でないファイルに対してper-callで`privacy_mode=false`を渡す
150
+
151
+ ### プライバシーモードは毎回確認するのに同意ゲートは1回だけなのはなぜ?
152
+
153
+ 2つのゲートは異なる要件を持つ異なるユーザーに対応しています。
154
+
155
+ **同意ゲート**(標準モード)は一回限りの情報開示です。トランスクリプトテキストがClaudeのAPIに送信されることを理解したら、このセッション中に再度知らされる必要はありません。
156
+
157
+ **プライバシーモードゲート**は毎回表示されます。これを必要とする人々 — 医療提供者、弁護士、金融の専門家 — はコンプライアンスワークフローの一環として操作ごとの肯定的な確認が必要だからです。抑制することは目的を損ないます。
158
+
159
+ ### バックグラウンドジョブと同意ゲート
160
+
161
+ 標準モードでのバックグラウンド文字起こし(`background=true`)では、同意ゲートはジョブ開始時の`transcribe_audio`ではなく、トランスクリプトが返される`check_progress`完了時に表示されます。ジョブ開始時点では、トランスクリプトはまだ存在しません。ジョブ開始前にゲートを表示すると、音声処理を不必要にブロックすることになります。ゲートはトランスクリプトテキストが初めてAPIに返される瞬間に表示されます。
162
+
163
+ プライバシーモードのバックグラウンドジョブでは、ゲートはスポーン**前**に表示されます — 音声処理が始まる前です。
164
+
165
+ ### 同意ゲートを永続的にスキップするには?
166
+
167
+ `claude_desktop_config.json`のenv セクションに`WHISPER_CONSENT_ACKNOWLEDGED=true`を設定してください。これは標準モードでの一回限りのセッション開示を抑制します。
168
+
169
+ 注意:プライバシーモードが有効な場合には効果がありません。
170
+
171
+ ---
172
+
173
+ ## バックグラウンド文字起こしとバッチ
174
+
175
+ ### バックグラウンドジョブが完了として表示されない
176
+
177
+ ジョブ状態はwhisper-cli.exeプロセスの終了によって追跡されます。確認:
178
+
179
+ 1. Claudeに*「job_idの進捗を確認して」*と聞く — プロセスがまだ実行中の場合、ツールは経過時間と最後のセグメントタイムスタンプとともに「処理中」を返す
180
+ 2. ファイルが非常に長い場合(2時間以上)、より多くの時間を確保してください — ミッドレンジGPUでの2時間ファイルのGPU文字起こしには約15〜20分かかる
181
+ 3. 経過時間がおかしいと思われる場合は、タスクマネージャー → 詳細を開いて`whisper-cli.exe`がリストにあるか確認
182
+
183
+ `whisper-cli.exe`が実行中でないのに`check_progress`が「処理中」を表示している場合:
184
+ - プロセスがエラーで終了し、出力ファイルが存在しない
185
+ - Claudeに*「job_idの進捗を確認して」*と聞く — ツールがPIDなし・出力ファイルなしを検出して最後のログ行とともにエラーを報告する
186
+
187
+ ### バックグラウンドジョブが完了したが出力ファイルが見つからないまたは間違った場所にある
188
+
189
+ バックグラウンドジョブは処理中に`%TEMP%\whisper-mcp-jobs\`の一時パスに出力を書き込み、完了時にソースディレクトリにファイルを移動します。移動が失敗した場合(ディスク容量不足、権限の問題、またはパスの長さ)、`check_progress`は具体的なエラーを返します:
190
+
191
+ > 「出力ファイルの書き込みに失敗しました。文字起こしは完了しましたが、次のパスに書き込めませんでした:[パス]」
192
+
193
+ 確認:
194
+ - ソースディレクトリが存在し書き込み可能であること
195
+ - 十分なディスクスペースがあること
196
+ - ターゲットパスが長すぎないこと(Windowsのデフォルトのパス長制限は260文字)
197
+
198
+ 生の出力がジョブIDベースのファイル名で`%TEMP%\whisper-mcp-jobs\`にまだ残っている可能性があります。
199
+
200
+ ### バッチが停止または次のファイルに進まない
201
+
202
+ `start_batch`は終了コールバックを使用してポーリングなしで自動的に進みます。バッチが停止しているように見える場合:
203
+
204
+ 1. `check_batch_progress`を呼び出す — これにより進捗チェックが強制され現在の状態が再評価される
205
+ 2. 現在のファイルがまだ実行中の場合は完了を待つ — タスクマネージャーで`whisper-cli.exe`を確認
206
+ 3. `check_batch_progress`が現在のファイルを失敗として表示した場合、次のファイルへの進行を試みる
207
+
208
+ 注意:v2.3.0以降、バッチは各ファイルが完了すると終了コールバックで自動的に進みます。繰り返しポーリングする必要はありません — しばらく時間が経過した後に`check_batch_progress`を1回呼び出すだけで状態の更新が得られます。
209
+
210
+ ### バッチが完了しているように見えるファイルを「失敗」として報告する
211
+
212
+ バリデーターは出力ファイルが空でなく、音声30秒あたり少なくとも1行あることを確認します。短いファイルや長い無音区間のある録音は、バリデーターが疑わしいほど短いと判断する出力を生成することがあります。
213
+
214
+ トランスクリプトを開いて正しいように見える場合:
215
+ - このファイルに対してバリデーションが過度に保守的
216
+ - `transcribe_audio`で個別に再実行して結果を手動で確認
217
+
218
+ 出力が本当に間違っている場合:
219
+ - 言語が設定された言語と一致しない可能性がある場合は`language=auto`を試す
220
+ - より良い精度のためにより大きなモデルを試す
221
+
222
+ ### バッチの開始時に複数のファイルが即座に失敗する
223
+
224
+ これは通常whisper-cli.exeがまったく機能していないことを意味します。`check_config`を実行してすべてのパスを確認し、`transcribe_audio`で単一ファイルを試して具体的なエラーを確認してください。
225
+
226
+ ---
227
+
228
+ ## 字幕生成
229
+
230
+ ### SRTファイルは保存されているが名前が間違っているまたは間違った場所にある
231
+
232
+ SRTおよびVTTファイルはソースファイルと同じ場所に保存され、ソース言語が英語でない場合は言語コードが付加されます:
233
+ - 英語ソース:`filename.srt`
234
+ - 日本語ソース:`filename.ja.srt`
235
+ - 英語翻訳付き:`filename.ja.srt` + `filename.en.srt`
236
+
237
+ 一時WAVの隣にファイルが表示される場合は、ソースファイルがフォーマット変換を必要としたか確認してください(mp3/wav以外のフォーマットはFFmpegを通過します)。出力先ロジックは一時ファイルパスではなく元の`file_path`を使用します。
238
+
239
+ ### VTT出力はウェブ用 — デスクトッププレーヤーで読み込むには?
240
+
241
+ VLCはSubtitle → Add Subtitle File → `.vtt`ファイルを選択することでVTTをサポートします。ほとんどの他のデスクトッププレーヤーはVTTよりSRTをより良くサポートします。デスクトッププレーヤーとの最大互換性には`output_format=srt`を使用してください。
242
+
243
+ VTTはHTML5の`<video>`要素やウェブベースのビデオプレーヤーに最適です。
244
+
245
+ ### LRCファイルがメディアプレーヤーで表示されない
246
+
247
+ LRC(`.lrc`)ファイルは歌詞/カラオケ表示機能を持つプレーヤー用です:foobar2000、Winamp、AIMP、および各種モバイルプレーヤー。標準的なビデオプレーヤーはLRCを表示しません。ビデオの同期字幕が必要な場合は`srt`または`vtt`を使用してください。
248
+
249
+ ### CSV出力 — フォーマットは?
250
+
251
+ CSV出力には行ごとにセグメントの開始時間、終了時間、テキストが含まれます。スプレッドシートツールや下流の分析スクリプトへのインポート用に設計されています。正確な列フォーマットはwhisper.cppの`-ocsv`出力に一致します。実際の字幕表示には`srt`または`vtt`を使用してください。
252
+
253
+ ### 字幕生成が4分エラーでタイムアウトする
254
+
255
+ `generate_subtitles`はデフォルトで同期的に実行され、長いファイルではClaude Desktopの4分MCPタイムアウトに達する可能性があります。10分以上のファイルには`background=true`を使用してください:
256
+
257
+ - *「このファイルの字幕を生成して、background=true」*
258
+
259
+ 次に`check_progress`で進捗を確認してください。注意:`translate_to_english=true`はバックグラウンドモードでは使用できません。英語翻訳を生成するにはバックグラウンドジョブが完了した後に2回目のパスを実行してください。
260
+
261
+ ---
262
+
263
+ ## モデル管理
264
+
265
+ ### `download_model`がネットワークエラーで失敗する
266
+
267
+ ツールはHugging Faceからダウンロードします。マシンがインターネットにアクセスできること、`huggingface.co`がファイアウォールやプロキシでブロックされていないことを確認してください。
268
+
269
+ ダウンロードが開始したが途中で失敗した場合、`.part`ファイルは自動的に削除されます。`download_model`を再実行して再試行してください。
270
+
271
+ ### `switch_model`がモデルがモデルディレクトリにないと言う
272
+
273
+ `switch_model`ツールは`WHISPER_MODEL`で設定されたディレクトリ内のファイルのみを受け付けます。
274
+
275
+ モデルが別の場所にある場合は、モデルディレクトリに移動するか、設定の`WHISPER_MODEL`をモデルと同じディレクトリのファイルを指すように更新してください。
276
+
277
+ ### Claude Desktop再起動後にアクティブモデルが設定のモデルに戻る
278
+
279
+ `switch_model`は設計上セッションスコープです。モデルの切り替えを永続的にするには、`claude_desktop_config.json`の`WHISPER_MODEL`を更新してClaude Desktopを再起動してください。
280
+
281
+ ---
282
+
283
+ ## ファイルパスとフォーマット
284
+
285
+ ### Unicodeファイル名で文字起こしが無音で失敗する
286
+
287
+ バックグラウンド文字起こしはすべての出力をサニタイズされたASCIIジョブIDベースの一時パスを通してルーティングし、Unicodeファイル名を正しく処理します。ブロッキングモードでUnicodeファイル名の失敗が見られる場合は、ファイル自体がアクセス可能か確認してください:
288
+
289
+ ```powershell
290
+ Test-Path "C:\Users\YourName\Documents\会議録音.mp4"
291
+ ```
292
+
293
+ `True`が返されるべきです。PowerShellでパスにアクセスできない場合、MCPサーバーもアクセスできません。
294
+
295
+ ### 動画ファイルが出力なしまたは即座にエラーになる
296
+
297
+ FFmpegはすべての動画フォーマットに必要です。FFmpegがインストールされていることを確認:
298
+ ```
299
+ ffmpeg -version
300
+ ```
301
+
302
+ FFmpegがPATHにない場合は、設定の`FFMPEG_PATH`を`ffmpeg.exe`のフルパスに設定してください。
303
+
304
+ FFmpegがインストールされているが特定の動画が失敗する場合は、破損したファイルか珍しいコーデックのバリアントである可能性があります。手動で変換を試みてください:
305
+ ```
306
+ ffmpeg -i input.mp4 -ar 16000 -ac 1 output.wav
307
+ ```
308
+ その後WAVファイルを直接文字起こしてください。
309
+
310
+ ### 「ファイルが大きすぎる」エラー
311
+
312
+ ツールは10GBを超えるファイルを拒否します。これはメモリの暴走を防ぐための安全制限です。このサイズに近いファイルは文字起こし前に分割してください。
313
+
314
+ ### UNCパスの拒否
315
+
316
+ `\\server\share`で始まるパス(ネットワーク共有へのUNCパス)は入力バリデーターによって拒否されます。ネットワーク共有をドライブレター(例:`Z:\`)としてマウントしてそのパスを使用してください。
317
+
318
+ ---
319
+
320
+ ## 一時ファイルのクリーンアップ
321
+
322
+ `%TEMP%\whisper-mcp-jobs\`のジョブ状態ファイル(`.json`と`.log`)はサーバー起動時に7日以上経過したファイルが自動的にクリーンアップされます。必要な場合は手動クリーンアップも可能です:
323
+
324
+ ```powershell
325
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Force
326
+ ```
327
+
328
+ 一時WAV変換ファイル(`%TEMP%`の`whisper_tmp_*.wav`)は各文字起こし完了後に即座に削除されます。文字起こし中にクラッシュした場合、これらが残ることがあります。手動で削除してください:
329
+
330
+ ```powershell
331
+ Remove-Item "$env:TEMP\whisper_tmp_*.wav" -Force
332
+ ```
333
+
334
+ ---
335
+
336
+ ## コマンドラインからの大規模バッチ処理
337
+
338
+ Claudeなしで一晩中実行したい大規模バッチには、PowerShellを使用してください。
339
+
340
+ **重要:** whisper-cli.exeはMP4、MKVなどのほとんどの動画フォーマットを直接読み込めません。FFmpegで事前にWAVに変換する必要があります。またwhisperはトランスクリプトをstdoutに、診断情報をstderrに出力します。`Start-Process -RedirectStandardOutput`を使用してトランスクリプトを正しくキャプチャしてください。
341
+
342
+ ```powershell
343
+ $whisper = "C:\whisper\Release\whisper-cli.exe"
344
+ $model = "C:\whisper\models\ggml-medium.en.bin"
345
+ $dir = "C:\path\to\your\folder"
346
+ $ffmpeg = "ffmpeg"
347
+ $tmp = "$env:TEMP\whisper_convert.wav"
348
+
349
+ Get-ChildItem "$dir\*.mp4" | ForEach-Object {
350
+ $out = ($_.FullName -replace '\.mp4$', '') + ".txt"
351
+ if (Test-Path $out) {
352
+ Write-Host "SKIP (exists): $($_.Name)"
353
+ return
354
+ }
355
+ Write-Host "Converting: $($_.Name)"
356
+ & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
357
+ Write-Host "Transcribing: $($_.Name)"
358
+ $wArgs = "-m `"$model`" -f `"$tmp`" --threads 8 --condition-on-previous-text 0 --no-speech-thold 0.6"
359
+ Start-Process -FilePath $whisper -ArgumentList $wArgs -RedirectStandardOutput $out -Wait -NoNewWindow
360
+ Write-Host "Done: $($_.BaseName).txt"
361
+ }
362
+
363
+ Remove-Item $tmp -ErrorAction SilentlyContinue
364
+ Write-Host "All done."
365
+ ```
366
+
367
+ `*.mp4`をファイルタイプに合わせて`*.mkv`や`*.m4a`などに変更してください。`Test-Path`のスキップチェックにより、中断後にスクリプトを再実行しても完了済みファイルは再処理されません。
368
+
369
+ ---
370
+
371
+ ## 設定ファイルの場所
372
+
373
+ ```
374
+ C:\Users\ユーザー名\AppData\Roaming\Claude\claude_desktop_config.json
375
+ ```
376
+
377
+ `AppData`が表示されない場合:エクスプローラーで「表示」→「隠しファイル」を有効にしてください。
378
+
379
+ ---
380
+
381
+ ## 完全な設定例
382
+
383
+ ```json
384
+ {
385
+ "mcpServers": {
386
+ "whisper": {
387
+ "command": "npx",
388
+ "args": ["-y", "whisper-windows-mcp"],
389
+ "env": {
390
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
391
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin",
392
+ "FFMPEG_PATH": "ffmpeg"
393
+ }
394
+ }
395
+ }
396
+ }
397
+ ```
398
+
399
+ `FFMPEG_PATH`のデフォルトは`ffmpeg`(PATHにあることを前提)です。FFmpegが標準以外の場所にインストールされている場合のみ明示的に設定してください。