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,323 +1,355 @@
1
- # whisper-windows-mcp — Rozwiązywanie problemów
2
-
3
- ---
4
-
5
- ## Szybka lista kontrolna
6
-
7
- Przed głębszym śledztwem zweryfikuj wszystkie poniższe punkty:
8
-
9
- - Ścieżki w `claude_desktop_config.json` używają **podwójnych ukośników odwrotnych** (`C:\\whisper\\...`)
10
- - `whisper-cli.exe` istnieje pod ścieżką podaną w `WHISPER_CLI_PATH`
11
- - Plik modelu `.bin` istnieje pod ścieżką podaną w `WHISPER_MODEL`
12
- - FFmpeg jest zainstalowany i dostępny (`ffmpeg -version` działa w wierszu poleceń)
13
- - Claude Desktop został **w pełni uruchomiony ponownie** po edycji konfiguracji (wyjście z zasobnika systemowego, a nie tylko zamknięcie okna)
14
- - Serwer whisper wyświetla się jako **uruchomiony** (zielony znaczek) w Ustawieniach → Deweloper
15
-
16
- ---
17
-
18
- ## "whisper nie jest połączony" lub brak dostępnych narzędzi
19
-
20
- **Najczęstsza przyczyna:** Claude Desktop nie został w pełni uruchomiony ponownie po edycji konfiguracji.
21
-
22
- 1. Kliknij prawym przyciskiem myszy ikonę Claude w zasobniku systemowym → Wyjdź
23
- 2. Ponownie otwórz Claude Desktop
24
- 3. Przejdź do Ustawień → Deweloper i sprawdź zielony znaczek **uruchomiony** obok whisper
25
-
26
- Jeśli nadal nie wyświetla się:
27
-
28
- 1. Otwórz `claude_desktop_config.json` i sprawdź błędy składni JSON (brakujące przecinki, niezgodne nawiasy klamrowe)
29
- 2. Upewnij się, że wszystkie ścieżki używają podwójnych ukośników odwrotnych
30
- 3. Uruchom `check_config` w Claude Desktop, aby uzyskać diagnostykę
31
-
32
- ---
33
-
34
- ## download_model przekracza limit czasu dla dużych modeli
35
-
36
- Claude Desktop ma 4-minutowy limit czasu dla wywołań narzędzi MCP. Pobieranie dużych modeli przy wolnym połączeniu może go przekroczyć.
37
-
38
- **Rozmiary plików:**
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
- Przy szybkim połączeniu (100 Mbps+) nawet large-v3 pobiera się w mniej niż 4 minuty. Przy wolniejszych połączeniach użyj przeglądarki lub PowerShell do bezpośredniego pobierania i umieść plik w katalogu modeli ręcznie:
47
-
48
- ```powershell
49
- # Przykład — bezpośrednie pobieranie 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
- Następnie użyj `switch_model ggml-large-v3-turbo.bin` do aktywacji.
55
-
56
- ---
57
-
58
- ## `check_config` raportuje brak whisper-cli.exe
59
-
60
- Ścieżka w konfiguracji nie odpowiada rzeczywistej lokalizacji pliku.
61
-
62
- Zweryfikuj istnienie pliku:
63
- ```
64
- dir C:\whisper\Release\whisper-cli.exe
65
- ```
66
-
67
- Jeśli jest gdzie indziej, zaktualizuj `WHISPER_CLI_PATH` w konfiguracji, aby odpowiadał rzeczywistej ścieżce.
68
-
69
- ---
70
-
71
- ## `check_config` raportuje brak FFmpeg
72
-
73
- FFmpeg nie jest zainstalowany lub nie ma go w systemowym PATH.
74
-
75
- Instalacja przez winget:
76
- ```
77
- winget install ffmpeg
78
- ```
79
-
80
- Lub pobierz z [ffmpeg.org](https://ffmpeg.org/download.html), wypakuj i dodaj folder `bin` do systemowego PATH.
81
-
82
- Po instalacji otwórz nowy wiersz poleceń i zweryfikuj:
83
- ```
84
- ffmpeg -version
85
- ```
86
-
87
- Jeśli zainstalowałeś FFmpeg w niestandardowej lokalizacji, ustaw zmienną środowiskową `FFMPEG_PATH` w konfiguracji Claude Desktop:
88
- ```json
89
- "env": {
90
- "FFMPEG_PATH": "C:\\ffmpeg\\bin\\ffmpeg.exe"
91
- }
92
- ```
93
-
94
- ---
95
-
96
- ## Wynik transkrypcji jest pełen tagów `[FOREIGN]`
97
-
98
- **Przyczyna:** Używasz modelu tylko angielskiego (np. `ggml-medium.en.bin`) na audio w innym języku niż angielski. Modele tylko angielskie nie mogą przetwarzać innych języków i wypisują `[FOREIGN]` jako placeholder dla każdego segmentu, którego nie mogą obsłużyć.
99
-
100
- **Rozwiązanie:** Pobierz i użyj `ggml-large-v3.bin` — modelu wielojęzycznego. Jest to wymagane do jakiejkolwiek transkrypcji innej niż angielska, automatycznego wykrywania języka lub tłumaczenia.
101
-
102
- ```
103
- https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
104
- ```
105
-
106
- Zapisz w `C:\whisper\models\` i zaktualizuj konfigurację:
107
- ```json
108
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-large-v3.bin"
109
- ```
110
-
111
- Lub zastąp dla każdej transkrypcji używając parametru `model` w `transcribe_audio` lub `generate_subtitles`.
112
-
113
- > **Uwaga:** Modele tylko angielskie (`*.en.bin`) są szybsze i dokładniejsze dla treści angielskich, ale całkowicie nie radzą sobie z innymi językami. Jeśli pracujesz z treściami wielojęzycznymi, `large-v3` jest właściwym modelem niezależnie od sprzętu.
114
-
115
- ---
116
-
117
- ## Transkrypcja nie produkuje wyników lub pusty plik
118
-
119
- **Możliwe przyczyny:**
120
-
121
- 1. **Zły model dla języka** — Modele tylko angielskie (`*.en.bin`) nie mogą transkrybować innych języków. Używaj `ggml-large-v3.bin` dla treści wielojęzycznych.
122
-
123
- 2. **Zbyt niska jakość audio** — Pliki o bardzo niskiej przepływności (np. stare nagrania telefoniczne `.3gp` używające kodeka AMR-NB ~12kbps) mogą być na granicy możliwości whispera. Hałaśliwe środowiska (hałas w tle, echo, odlegli mówcy) są również trudne. Spróbuj `large-v3`, który lepiej radzi sobie z degradowanym audio.
124
-
125
- 3. **Plik jest cichy lub uszkodzony** — Uruchom `analyze_media` na pliku, aby sprawdzić czy FFprobe wykrywa prawidłowy strumień audio.
126
-
127
- 4. **Błąd konwersji** — Plik może nie konwertować się do WAV poprawnie. Spróbuj najpierw ręcznie przekonwertować:
128
- ```
129
- ffmpeg -i yourfile.3gp -ar 16000 -ac 1 output.wav
130
- ```
131
- Następnie transkrybuj WAV bezpośrednio.
132
-
133
- ---
134
-
135
- ## Zadanie w tle nie działa dla plików ze znakami specjalnymi lub Unicode w nazwie
136
-
137
- **Przyczyna:** whisper-cli.exe nie może zapisać pliku wyjściowego gdy ścieżka zawiera znaki Unicode (polskie, japońskie, chińskie, emoji, nawiasy itp.) lub niektóre znaki specjalne.
138
-
139
- **Aktualne obejście:** Zmień nazwę pliku, aby używał tylko znaków ASCII przed transkrypcją, a następnie zmień nazwę z powrotem jeśli to konieczne.
140
-
141
- ```
142
- ren "plik_po_polsku.mp4" "temp_transcribe.mp4"
143
- ```
144
-
145
- **Status:** Jest to znany błąd. Planowana jest poprawka, która będzie kierować wyjście przez oczyszczoną tymczasową ścieżkę i przenosić wynik do właściwego miejsca docelowego po zakończeniu.
146
-
147
- ---
148
-
149
- ## Zadanie w tle pokazuje "błąd" bez wyników
150
-
151
- **Możliwe przyczyny:**
152
-
153
- 1. **Nazwa pliku Unicode** — Patrz wyżej.
154
-
155
- 2. **Zła ścieżka modelu** — Odłączony proces nie dziedziczy poprawionych ścieżek. Uruchom `check_config`, aby zweryfikować ścieżki.
156
-
157
- 3. **Proces został zakończony** — Jeśli whisper-cli.exe został ręcznie zakończony w trakcie zadania, plik wyjściowy nie będzie istniał. Spróbuj ponownie.
158
-
159
- 4. **Niewystarczająca VRAM** — Duże modele na GPU z małą VRAM mogą po cichu kończyć się błędem. Spróbuj mniejszego modelu.
160
-
161
- 5. **Błąd konwersji pliku** — Spróbuj transkrybować plik WAV bezpośrednio, aby ustalić czy problem leży w konwersji czy transkrypcji.
162
-
163
- ---
164
-
165
- ## Transkrypcja w tle nie produkuje wyników SRT
166
-
167
- **Przyczyna:** Tryb w tle (`background=true` w `transcribe_audio`) obecnie produkuje tylko wyjście `.txt`. Format SRT w trybie w tle nie jest jeszcze zaimplementowany.
168
-
169
- **Obejście:** Dla plików poniżej ~4 minut użyj `generate_subtitles` w trybie blokującym. Dla dłuższych plików najpierw transkrybuj w trybie w tle, aby uzyskać `.txt`, następnie jeśli potrzebujesz SRT użyj `generate_subtitles` na tym samym pliku (będzie transkrybować ponownie).
170
-
171
- **Status:** Obsługa SRT w trybie w tle jest planowana na przyszłe wydanie.
172
-
173
- ---
174
-
175
- ## GPU nie jest używany (CPU zablokowany powyżej 50%)
176
-
177
- **Przyczyna:** Uruchamiasz binarium tylko CPU, które jest dostarczane ze standardowym wydaniem whisper.cpp.
178
-
179
- **Rozwiązanie:** Pobierz kompilację z włączonym Vulkan ze [strony wydań](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) i wypakuj do `C:\whisper\Release\`.
180
-
181
- Zweryfikuj, czy akceleracja GPU jest aktywna:
182
- - Poproś Claude o uruchomienie `check_system`
183
- - Szukaj `✅ Vulkan binary: ggml-vulkan.dll found` w wynikach
184
- - Obserwuj Menedżer zadań → Wydajność → GPU podczas transkrypcji — wykorzystanie GPU powinno wzrosnąć do 15–30%
185
-
186
- ---
187
-
188
- ## `check_system` raportuje błędną ilość VRAM
189
-
190
- Jest to znane ograniczenie Windows. Polecenie `wmic` odczytuje VRAM z rejestru, który na wielu kartach AMD raportuje połowę fizycznej VRAM. Vega 56 z 8GB HBM2 zazwyczaj będzie pokazywać 4GB. Jest to tylko problem wyświetlania — whisper używa pełnej fizycznej VRAM podczas wnioskowania.
191
-
192
- ---
193
-
194
- ## Błąd "Transkrypcja już w toku"
195
-
196
- Proces `whisper-cli.exe` działa z poprzedniego zadania. Poczekaj na jego zakończenie lub:
197
-
198
- 1. Otwórz Menedżer zadań → zakładka Szczegóły
199
- 2. Znajdź `whisper-cli.exe`
200
- 3. Kliknij prawym przyciskiem myszy → Zakończ zadanie
201
-
202
- Następnie spróbuj ponownie.
203
-
204
- ---
205
-
206
- ## Automatyczne wykrywanie języka jest błędne
207
-
208
- Automatyczne wykrywanie Whisper działa na pierwszych 30 sekundach audio. Jeśli plik zaczyna się w innym języku niż większość jego zawartości, wykrywanie może być błędne.
209
-
210
- **Rozwiązanie:** Podaj język jawnie (np. `language=pl`) zamiast polegać na automatycznym wykrywaniu.
211
-
212
- ---
213
-
214
- ## Generowanie napisów produkuje "(mówi w obcym języku)" przez cały film
215
-
216
- Whisper wykrył mowę, ale nie mógł transkrybować. Najczęstsze przyczyny:
217
-
218
- 1. **Zły model** — Używanie modelu tylko angielskiego na audio w innym języku. Użyj `large-v3`.
219
-
220
- 2. **Jakość audio** — Hałaśliwe środowiska (kuchnie, tłumy, echo) mogą pokonać model medium. Spróbuj `large-v3`.
221
-
222
- 3. **Mieszane języki** — Pliki z dwoma językami naprzemiennie będą miały mniejszościowy język zastąpiony placeholderami przy ustawieniu jednego języka.
223
-
224
- ---
225
-
226
- ## Tłumaczenie napisów produkuje tylko angielski
227
-
228
- Jest to zamierzone zachowanie. Wbudowana flaga `--translate` Whisper tłumaczy tylko **na angielski**. Dla tłumaczenia na inne języki docelowe przetwórz zawartość pliku `.srt` osobno.
229
-
230
- ---
231
-
232
- ## Wsadowa transkrypcja przestała się posuwać
233
-
234
- Wywołaj ponownie `check_batch_progress`. Jeśli nadal utknęła:
235
-
236
- 1. Sprawdź Menedżer zadań pod kątem działającego procesu `whisper-cli.exe`
237
- 2. Sprawdź logi zadań w `%TEMP%\whisper-mcp-jobs\`
238
- 3. Pliki z błędami są oznaczone w raporcie partii — uruchom je indywidualnie przez `transcribe_audio`
239
-
240
- ---
241
-
242
- ## Czyszczenie tymczasowego katalogu zadań
243
-
244
- whisper-windows-mcp zapisuje pliki stanu zadań i logi w `%TEMP%\whisper-mcp-jobs\` podczas transkrypcji. Gromadzą się one z czasem i mogą zużywać miejsce na dysku, szczególnie pliki `.log` z długich zadań transkrypcji.
245
-
246
- Po zakończeniu partii lub zadania i zweryfikowaniu transkrypcji wyjściowych możesz bezpiecznie usunąć wszystko w tym katalogu:
247
-
248
- ```powershell
249
- Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
250
- ```
251
-
252
- Katalog zostanie automatycznie odtworzony przy następnej transkrypcji. Żadne pliki wyjściowe transkrypcji nie są tu przechowywane na stałe — są przenoszone do katalogu źródłowego po zakończeniu. Pozostają tylko metadane zadań i logi.
253
-
254
- **Uwaga:** Nie usuwaj tego katalogu podczas trwającej transkrypcji — pliki stanu partii są potrzebne do działania `check_batch_progress`.
255
-
256
- ---
257
-
258
- ## Duża nienadzorowana partia z wiersza poleceń
259
-
260
- Dla bardzo dużych partii, gdzie chcesz uruchomić przez noc bez Claude, użyj PowerShell.
261
-
262
- **Ważne:** whisper-cli.exe nie może bezpośrednio odczytywać MP4, MKV ani większości formatów wideo. FFmpeg musi wcześniej przekonwertować każdy plik do WAV. Whisper zapisuje również transkrypcję do stdout, a dane diagnostyczne do stderr — użyj `Start-Process -RedirectStandardOutput`, aby poprawnie przechwycić transkrypcję. Używanie pipe `|` lub przekierowywanie stderr przez `2>$null` nic nie przechwytuje.
263
-
264
- ```powershell
265
- $whisper = "C:\whisper\Release\whisper-cli.exe"
266
- $model = "C:\whisper\models\ggml-medium.en.bin"
267
- $dir = "C:\path\to\your\folder"
268
- $ffmpeg = "ffmpeg"
269
- $tmp = "$env:TEMP\whisper_convert.wav"
270
-
271
- Get-ChildItem "$dir\*.mp4" | ForEach-Object {
272
- $out = ($_.FullName -replace '\.mp4$', '') + ".txt"
273
- if (Test-Path $out) {
274
- Write-Host "SKIP (exists): $($_.Name)"
275
- return
276
- }
277
- Write-Host "Converting: $($_.Name)"
278
- & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
279
- Write-Host "Transcribing: $($_.Name)"
280
- $wArgs = "-m `"$model`" -f `"$tmp`" --threads 8 --condition-on-previous-text 0 --no-speech-thold 0.6"
281
- Start-Process -FilePath $whisper -ArgumentList $wArgs -RedirectStandardOutput $out -Wait -NoNewWindow
282
- Write-Host "Done: $($_.BaseName).txt"
283
- }
284
-
285
- Remove-Item $tmp -ErrorAction SilentlyContinue
286
- Write-Host "All done."
287
- ```
288
-
289
- Zmień `*.mp4` na `*.mkv`, `*.m4a` itp., aby dopasować do typów plików. Sprawdzenie pominięcia `Test-Path` oznacza, że ponowne uruchomienie skryptu po przerwaniu nie będzie ponownie przetwarzać już ukończonych plików.
290
-
291
- Skrypt zapisuje pliki `.txt` obok każdego źródła. Narzędzia MCP rozpoznają je jako już transkrybowane po uruchomieniu `analyze_media` lub `start_batch`.
292
-
293
- ---
294
-
295
- ## Lokalizacja pliku konfiguracyjnego
296
-
297
- ```
298
- C:\Users\NazwaUżytkownika\AppData\Roaming\Claude\claude_desktop_config.json
299
- ```
300
-
301
- Jeśli `AppData` nie jest widoczne: Widok → Pokaż → Ukryte elementy w Eksploratorze plików.
302
-
303
- ---
304
-
305
- ## Pełny przykład działającej konfiguracji
306
-
307
- ```json
308
- {
309
- "mcpServers": {
310
- "whisper": {
311
- "command": "npx",
312
- "args": ["-y", "whisper-windows-mcp"],
313
- "env": {
314
- "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
315
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin",
316
- "FFMPEG_PATH": "ffmpeg"
317
- }
318
- }
319
- }
320
- }
321
- ```
322
-
323
- `FFMPEG_PATH` domyślnie przyjmuje wartość `ffmpeg` (zakłada obecność w PATH). Ustaw jawnie tylko jeśli FFmpeg jest zainstalowany w niestandardowej lokalizacji.
1
+ # whisper-windows-mcp — Rozwiązywanie problemów
2
+
3
+ ---
4
+
5
+ ## Szybka lista kontrolna
6
+
7
+ Przed głębszym śledztwem zweryfikuj wszystkie poniższe punkty:
8
+
9
+ - Ścieżki w `claude_desktop_config.json` używają **podwójnych ukośników odwrotnych** (`C:\\whisper\\...`)
10
+ - `whisper-cli.exe` istnieje pod ścieżką podaną w `WHISPER_CLI_PATH`
11
+ - Plik modelu `.bin` istnieje pod ścieżką podaną w `WHISPER_MODEL`
12
+ - FFmpeg jest zainstalowany i dostępny (`ffmpeg -version` działa w wierszu poleceń)
13
+ - Claude Desktop został **w pełni uruchomiony ponownie** po edycji konfiguracji (wyjście z zasobnika systemowego, a nie tylko zamknięcie okna)
14
+ - Serwer whisper wyświetla się jako **uruchomiony** (zielony znaczek) w Ustawieniach → Deweloper
15
+
16
+ ---
17
+
18
+ ## Instalacja i uruchamianie
19
+
20
+ ### Whisper nie pojawia się w Claude Desktop → Ustawienia → Deweloper
21
+
22
+ 1. Otwórz Claude Desktop → Ustawienia → Deweloper → Edytuj konfigurację
23
+ 2. Sprawdź, czy JSON jest prawidłowy — wklej go na [jsonlint.com](https://jsonlint.com) w razie wątpliwości
24
+ 3. Upewnij się, że `WHISPER_CLI_PATH` i `WHISPER_MODEL` wskazują na pliki, które faktycznie istnieją
25
+ 4. Wyjdź z Claude Desktop z zasobnika systemowego (kliknij prawym przyciskiem myszy ikonę w zasobniku → Wyjdź)
26
+ 5. Uruchom ponownie Claude Desktop i sprawdź ponownie
27
+
28
+ Jeśli whisper pojawia się, ale pokazuje znaczek błędu zamiast zielonego:
29
+ - Zapytaj Claude: *"Sprawdź konfigurację whisper"* — narzędzie `check_config` zwraca konkretny komunikat błędu
30
+ - Sprawdź Claude Desktop → Ustawienia → Deweloper → kliknij nazwę serwera dla dziennika błędów
31
+
32
+ ### Błąd "whisper-cli.exe nie znaleziony"
33
+
34
+ Ścieżka w `WHISPER_CLI_PATH` nie odpowiada miejscu, gdzie binarium zostało rozpakowane.
35
+
36
+ Domyślna oczekiwana ścieżka: `C:\whisper\Release\whisper-cli.exe`
37
+
38
+ Sprawdź istnienie pliku:
39
+ ```powershell
40
+ Test-Path "C:\whisper\Release\whisper-cli.exe"
41
+ ```
42
+
43
+ Powinno zwrócić `True`. Jeśli zwraca `False`, albo rozpakuj plik zip wydania do `C:\whisper\Release\` albo zaktualizuj `WHISPER_CLI_PATH` w konfiguracji, aby odpowiadał rzeczywistej lokalizacji.
44
+
45
+ ### Błąd "Model nie znaleziony"
46
+
47
+ Ścieżka w `WHISPER_MODEL` nie odpowiada rzeczywistej lokalizacji lub nazwie pliku modelu.
48
+
49
+ Sprawdź katalog modeli:
50
+ ```powershell
51
+ Get-ChildItem "C:\whisper\models\"
52
+ ```
53
+
54
+ Nazwa pliku musi zawierać pełną nazwę z sufiksem kwantyzacji, np. `ggml-large-v3-turbo-q5_0.bin`, a nie `ggml-large-v3-turbo.bin`. Jeśli nie ma zainstalowanych modeli, użyj `download_model` w Claude Desktop.
55
+
56
+ ---
57
+
58
+ ## Akceleracja GPU
59
+
60
+ ### Transkrypcja jest wolna — tylko CPU, bez GPU
61
+
62
+ Zapytaj Claude: *"Sprawdź sprzęt systemowy"*
63
+
64
+ Narzędzie `check_system` potwierdza, czy `ggml-vulkan.dll` jest obecny w katalogu binariów whisper. Jeśli DLL brakuje, działasz tylko na CPU niezależnie od GPU.
65
+
66
+ **Rozwiązanie:** Pobierz `whisper-vulkan-win-x64.zip` ze [strony wydań](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) i rozpakuj do `C:\whisper\Release\`. Zip zawiera DLL — musi być w tym samym katalogu co `whisper-cli.exe`.
67
+
68
+ ### GPU wykryte, ale wykorzystanie 0% podczas transkrypcji
69
+
70
+ Binarium działa, ale nie wysyła zadań do GPU. Zazwyczaj oznacza to:
71
+ - Vulkan SDK nie jest zainstalowany lub sterownik GPU nie udostępnia interfejsu Vulkan
72
+ - GPU jest starszy niż Vulkan 1.0 (rzadkie — większość GPU od 2016 roku to obsługuje)
73
+
74
+ Sprawdź obsługę Vulkan:
75
+ ```powershell
76
+ vulkaninfo
77
+ ```
78
+
79
+ Jakikolwiek wynik potwierdza dostępność Vulkan. Jeśli `vulkaninfo` nie działa, zainstaluj najnowszy sterownik GPU ze strony producenta.
80
+
81
+ ### VRAM raportowany jako połowa rzeczywistego rozmiaru (AMD)
82
+
83
+ Jest to znany nюanс raportowania Windows dla GPU AMD. Rzeczywisty dostępny VRAM do przetwarzania jest zazwyczaj dwukrotnie większy niż to, co raportuje `wmic`. Rekomendacja modelu może być nadmiernie konserwatywna — możesz spróbować większego modelu niż zalecany.
84
+
85
+ ---
86
+
87
+ ## Jakość transkrypcji
88
+
89
+ ### Wyjście zawiera halucynowany tekst lub powtarzające się frazy
90
+
91
+ Whisper czasem halucynuje na cichych lub niskiej jakości segmentach audio. Narzędzie domyślnie stosuje `--max-context 0` i `--no-speech-thold 0.6`, aby to zminimalizować.
92
+
93
+ Dodatkowe podejścia:
94
+ - Użyj `temperature=0.2` — niewielka losowość pomaga przerwać pętle halucynacji na hałaśliwym audio
95
+ - Użyj modelu VAD: pobierz plik `.bin` modelu Silero VAD i przekaż jego ścieżkę jako `vad_model`. Usuwa ciszę przed transkrypcją — najskuteczniejsza naprawa halucynacji na nagraniach z przerwami.
96
+ - Użyj większego modelu (`large-v3` lub `large-v3-turbo`) — mniejsze modele halucynują bardziej na trudnym audio
97
+ - Użyj `prompt` do ustawienia kontekstu: *"To jest wywiad podcastowy o inżynierii oprogramowania."*
98
+
99
+ ### Wyjście transkrypcji jest puste lub bardzo krótkie
100
+
101
+ Zapytaj Claude: *"Przeanalizuj ten plik"* (`analyze_media`), aby potwierdzić, że plik ma zawartość audio i jest rozpoznanym formatem.
102
+
103
+ Jeśli FFprobe raportuje audio, ale transkrypcja nie daje nic:
104
+ - Plik może być w języku, który nie odpowiada skonfigurowanemu parametrowi `language`
105
+ - Spróbuj `language=auto`, aby Whisper wykrył język
106
+ - Audio może być zbyt ciche lub mocno przetworzone — transkrypcja wymaga wyraźnej mowy
107
+
108
+ ---
109
+
110
+ ## Tryb prywatności i brama zgody
111
+
112
+ ### Nie widzę monitu o zgodę przed transkrypcją
113
+
114
+ Brama zgody uruchamia się **raz na sesję** w trybie standardowym. Jeśli już potwierdziłeś transkrypcję w tej sesji (od ostatniego restartu Claude Desktop), nie uruchomi się ponownie.
115
+
116
+ Inne powody, dla których brama może się nie pojawić:
117
+ - `WHISPER_CONSENT_ACKNOWLEDGED=true` jest ustawione w konfiguracji — całkowicie pomija bramę
118
+ - `WHISPER_PRIVACY_MODE=true` jest ustawione — tryb prywatności używa własnej osobnej bramy per operację
119
+ - Sprawdzasz postęp blokującej transkrypcji, która już się zakończyła — brama została zużyta na początku zadania
120
+
121
+ **Aby zresetować i ponownie zobaczyć bramę:** w pełni uruchom ponownie Claude Desktop (wyjdź z zasobnika systemowego, uruchom ponownie).
122
+
123
+ ### Claude przetwarza mój plik bez pytania
124
+
125
+ Jeśli `WHISPER_CONSENT_ACKNOWLEDGED=true` jest w konfiguracji, brama jest pomijana celowo. Jest to zamierzone zachowanie dla użytkowników, którzy zapoznali się z implikacjami dla prywatności.
126
+
127
+ Jeśli nie jest ustawione, a Claude kontynuował bez pytania, brama sesji została już zużyta przez wcześniejszą transkrypcję w tej samej sesji. Brama uruchamia się raz na sesję.
128
+
129
+ ### Tryb prywatności jest aktywny, ale chcę przeczytać jedną transkrypcję
130
+
131
+ Przekaż `privacy_mode=false` bezpośrednio do narzędzia transkrypcji dla tego konkretnego wywołania. Zastępuje globalne ustawienie `WHISPER_PRIVACY_MODE=true` tylko dla tego jednego wywołania:
132
+
133
+ - *"Transkrybuj ten plik, privacy_mode=false"*
134
+
135
+ Restart nie jest wymagany. Zastąpienie dotyczy tylko tego jednego wywołania narzędzia.
136
+
137
+ ### Tryb prywatności prosi o potwierdzenie przed każdym plikiem
138
+
139
+ Jest to prawidłowe i celowe zachowanie. Tryb prywatności wymaga zgody per operację — brama uruchamia się przed każdą transkrypcją i nie może być pominięta gdy tryb prywatności jest aktywny.
140
+
141
+ ### Zadania w tle i brama zgody
142
+
143
+ Dla transkrypcji w tle (`background=true`) w trybie standardowym brama zgody uruchamia się przy `check_progress`, gdy zwracana jest transkrypcja — **nie** przy `transcribe_audio`, gdy zadanie się uruchamia. W momencie uruchamiania tekst transkrypcji jeszcze nie istnieje. Brama uruchamia się w momencie, gdy tekst transkrypcji byłby po raz pierwszy zwrócony do API.
144
+
145
+ Dla zadań w tle w trybie prywatności brama uruchamia się **przed uruchomieniem** — przed jakimkolwiek przetwarzaniem audio.
146
+
147
+ ### Jak trwale pominąć bramę zgody?
148
+
149
+ Ustaw `WHISPER_CONSENT_ACKNOWLEDGED=true` w sekcji env pliku `claude_desktop_config.json`. Pomija to jednorazowe ujawnienie dla sesji w trybie standardowym.
150
+
151
+ Uwaga: nie ma efektu gdy tryb prywatności jest aktywny.
152
+
153
+ ---
154
+
155
+ ## Transkrypcja w tle i partia
156
+
157
+ ### Zadanie w tle nigdy nie pokazuje się jako ukończone
158
+
159
+ Stan zadania jest śledzony przez wyjście procesu whisper-cli.exe. Sprawdź:
160
+
161
+ 1. Zapytaj Claude: *"Sprawdź postęp job_id"* — jeśli proces nadal działa, narzędzie zwraca "W toku" z czasem, który upłynął i ostatnim znacznikiem czasu segmentu
162
+ 2. Jeśli plik jest bardzo długi (2+ godziny), daj więcej czasu — transkrypcja GPU 2-godzinnego pliku zajmuje około 15–20 minut na średnim GPU
163
+ 3. Jeśli czas wydaje się nieprawidłowy, otwórz Menedżer zadań → Szczegóły i sprawdź, czy `whisper-cli.exe` jest na liście
164
+
165
+ ### Zadanie w tle ukończone, ale brak pliku wyjściowego lub jest w złym miejscu
166
+
167
+ Zadania w tle zapisują wyjście do tymczasowej ścieżki w `%TEMP%\whisper-mcp-jobs\` podczas przetwarzania, następnie przenoszą plik do katalogu źródłowego po zakończeniu. Jeśli przeniesienie nie powiedzie się, `check_progress` zwraca konkretny błąd.
168
+
169
+ Sprawdź:
170
+ - Katalog źródłowy istnieje i jest zapisywalny
171
+ - Jest wystarczająco dużo miejsca na dysku
172
+ - Docelowa ścieżka nie jest zbyt długa (Windows domyślnie ma limit ścieżki 260 znaków)
173
+
174
+ ### Partia utknęła lub nie przechodzi do następnego pliku
175
+
176
+ `start_batch` używa callbacku wyjścia do samodzielnego przesuwania bez odpytywania. Jeśli partia wydaje się utknięta:
177
+
178
+ 1. Wywołaj `check_batch_progress` — wymusza sprawdzenie postępu i ponownie ocenia bieżący stan
179
+ 2. Jeśli bieżący plik nadal działa, pozwól mu się zakończyć — sprawdź Menedżer zadań na `whisper-cli.exe`
180
+ 3. Jeśli `check_batch_progress` pokazuje bieżący plik jako nieudany, spróbuje przejść do następnego pliku
181
+
182
+ ### Partia raportuje plik jako "nieudany", choć wygląda na ukończony
183
+
184
+ Walidator sprawdza, że plik wyjściowy nie jest pusty i ma co najmniej jeden wiersz na każde 30 sekund audio. Krótkie pliki lub nagrania z długimi cichymi sekcjami mogą dać wyjście, które walidator uważa za podejrzanie krótkie.
185
+
186
+ Jeśli transkrypcja wygląda poprawnie po otwarciu — uruchom ją ponownie przez `transcribe_audio` indywidualnie i sprawdź wynik ręcznie.
187
+
188
+ ---
189
+
190
+ ## Generowanie napisów
191
+
192
+ ### Plik SRT zapisany, ale z nieprawidłową nazwą lub w złym miejscu
193
+
194
+ Pliki SRT i VTT są zapisywane obok pliku źródłowego z kodem języka dodanym gdy język źródłowy nie jest angielski:
195
+ - Źródło angielskie: `nazwapliku.srt`
196
+ - Źródło polskie: `nazwapliku.pl.srt`
197
+ - Z tłumaczeniem na angielski: `nazwapliku.pl.srt` + `nazwapliku.en.srt`
198
+
199
+ ### Wyjście VTT dla web — jak wczytać w odtwarzaczu desktopowym?
200
+
201
+ VLC obsługuje VTT przez Napisy → Dodaj plik napisów → wybierz plik `.vtt`. Większość innych odtwarzaczy desktopowych lepiej obsługuje SRT niż VTT. Użyj `output_format=srt` dla maksymalnej kompatybilności z odtwarzaczami desktopowymi.
202
+
203
+ VTT najlepiej nadaje się dla elementów HTML5 `<video>` i webowych odtwarzaczy wideo.
204
+
205
+ ### Pliki LRC nie wyświetlają się w odtwarzaczu
206
+
207
+ Pliki LRC (`.lrc`) są przeznaczone dla odtwarzaczy z funkcjami wyświetlania tekstu/karaoke: foobar2000, Winamp, AIMP i różne odtwarzacze mobilne. Standardowe odtwarzacze wideo nie wyświetlają LRC. Jeśli potrzebujesz zsynchronizowanych napisów do wideo, użyj `srt` lub `vtt`.
208
+
209
+ ### Generowanie napisów przekracza limit czasu z błędem 4 minut
210
+
211
+ `generate_subtitles` domyślnie działa synchronicznie i może osiągnąć 4-minutowy limit czasu MCP Claude Desktop na długich plikach. Użyj `background=true` dla plików dłuższych niż 10 minut:
212
+
213
+ - *"Wygeneruj napisy do tego pliku, background=true"*
214
+
215
+ Następnie sprawdzaj postęp przez `check_progress`. Uwaga: `translate_to_english=true` nie jest dostępne w trybie tle. Uruchom drugi przebieg po zakończeniu zadania w tle, aby wygenerować tłumaczenie.
216
+
217
+ ---
218
+
219
+ ## Zarządzanie modelami
220
+
221
+ ### `download_model` kończy się błędem sieci
222
+
223
+ Narzędzie pobiera z Hugging Face. Upewnij się, że komputer ma dostęp do internetu i `huggingface.co` nie jest zablokowane przez zaporę lub proxy.
224
+
225
+ Jeśli pobieranie zaczyna się, ale nie kończy, plik `.part` jest usuwany automatycznie. Uruchom ponownie `download_model`, aby spróbować ponownie.
226
+
227
+ ### `switch_model` mówi, że model nie jest w katalogu modeli
228
+
229
+ Narzędzie `switch_model` akceptuje tylko pliki w katalogu skonfigurowanym w `WHISPER_MODEL` (konkretnie katalog zawierający ten plik).
230
+
231
+ Jeśli model jest w innej lokalizacji, albo przenieś go do katalogu modeli, albo zaktualizuj `WHISPER_MODEL` w konfiguracji, aby wskazywał na plik w tym samym katalogu co twoje modele.
232
+
233
+ ### Aktywny model wraca do modelu z konfiguracji po restarcie Claude Desktop
234
+
235
+ `switch_model` jest zasięgiem sesji z projektu. Aby uczynić przełączenie modelu trwałym, zaktualizuj `WHISPER_MODEL` w `claude_desktop_config.json` i uruchom ponownie Claude Desktop.
236
+
237
+ ---
238
+
239
+ ## Ścieżki plików i formaty
240
+
241
+ ### Nazwy plików Unicode powodują ciche niepowodzenia transkrypcji
242
+
243
+ Transkrypcja w tle kieruje całe wyjście przez oczyszczoną ścieżkę tymczasową opartą na ID zadania w ASCII, która poprawnie obsługuje nazwy plików Unicode. Jeśli widzisz niepowodzenie z nazwą pliku Unicode w trybie blokującym, sprawdź, czy plik jest dostępny:
244
+
245
+ ```powershell
246
+ Test-Path "C:\Users\NazwaUżytkownika\Documents\nagranie_po_polsku.mp4"
247
+ ```
248
+
249
+ Powinno zwrócić `True`. Jeśli ścieżka jest niedostępna dla PowerShell, będzie też niedostępna dla serwera MCP.
250
+
251
+ ### Plik wideo nie daje wyjścia lub natychmiastowy błąd
252
+
253
+ FFmpeg jest wymagany dla wszystkich formatów wideo. Sprawdź, czy FFmpeg jest zainstalowany:
254
+ ```
255
+ ffmpeg -version
256
+ ```
257
+
258
+ Jeśli FFmpeg nie jest w PATH, ustaw `FFMPEG_PATH` w konfiguracji na pełną ścieżkę do `ffmpeg.exe`.
259
+
260
+ Jeśli FFmpeg jest zainstalowany, ale konkretne wideo nie działa, może to być uszkodzony plik lub nietypowy wariant kodeka. Spróbuj ręcznie przekonwertować:
261
+ ```
262
+ ffmpeg -i input.mp4 -ar 16000 -ac 1 output.wav
263
+ ```
264
+ Następnie transkrybuj plik WAV bezpośrednio.
265
+
266
+ ### Błąd "Plik zbyt duży"
267
+
268
+ Narzędzie odrzuca pliki powyżej 10 GB. Jest to limit bezpieczeństwa zapobiegający nadmiernemu zużyciu pamięci. Pliki zbliżające się do tego rozmiaru powinny być podzielone przed transkrypcją.
269
+
270
+ ### Odrzucenie ścieżki UNC
271
+
272
+ Ścieżki zaczynające się od `\\server\share` (ścieżki UNC do udziałów sieciowych) są odrzucane przez walidator wejść. Zamontuj udział sieciowy jako literę dysku (np. `Z:\`) i użyj tej ścieżki.
273
+
274
+ ---
275
+
276
+ ## Czyszczenie plików tymczasowych
277
+
278
+ Pliki stanu zadań (`.json` i `.log`) w `%TEMP%\whisper-mcp-jobs\` są automatycznie czyszczone przy uruchomieniu dla plików starszych niż 7 dni. Ręczne czyszczenie jest nadal możliwe w razie potrzeby:
279
+
280
+ ```powershell
281
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Force
282
+ ```
283
+
284
+ Tymczasowe pliki WAV konwersji (`whisper_tmp_*.wav` w `%TEMP%`) są usuwane natychmiast po każdej transkrypcji. Jeśli transkrypcja ulegnie awarii w trakcie, mogą pozostać. Usuń je ręcznie:
285
+
286
+ ```powershell
287
+ Remove-Item "$env:TEMP\whisper_tmp_*.wav" -Force
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Duża nienadzorowana partia z wiersza poleceń
293
+
294
+ Dla bardzo dużych partii bez Claude użyj PowerShell bezpośrednio.
295
+
296
+ **Ważne:** whisper-cli.exe nie może bezpośrednio odczytywać MP4, MKV ani większości formatów wideo. FFmpeg musi wcześniej przekonwertować każdy plik do WAV. Whisper zapisuje transkrypcję do stdout, a diagnostykę do stderr — użyj `Start-Process -RedirectStandardOutput` do poprawnego przechwycenia.
297
+
298
+ ```powershell
299
+ $whisper = "C:\whisper\Release\whisper-cli.exe"
300
+ $model = "C:\whisper\models\ggml-medium.en.bin"
301
+ $dir = "C:\ścieżka\do\twojego\folderu"
302
+ $ffmpeg = "ffmpeg"
303
+ $tmp = "$env:TEMP\whisper_convert.wav"
304
+
305
+ Get-ChildItem "$dir\*.mp4" | ForEach-Object {
306
+ $out = ($_.FullName -replace '\.mp4$', '') + ".txt"
307
+ if (Test-Path $out) {
308
+ Write-Host "POMIŃ (istnieje): $($_.Name)"
309
+ return
310
+ }
311
+ Write-Host "Konwertowanie: $($_.Name)"
312
+ & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
313
+ Write-Host "Transkrypcja: $($_.Name)"
314
+ $wArgs = "-m `"$model`" -f `"$tmp`" --threads 8 --max-context 0 --no-speech-thold 0.6"
315
+ Start-Process -FilePath $whisper -ArgumentList $wArgs -RedirectStandardOutput $out -Wait -NoNewWindow
316
+ Write-Host "Gotowe: $($_.BaseName).txt"
317
+ }
318
+
319
+ Remove-Item $tmp -ErrorAction SilentlyContinue
320
+ Write-Host "Wszystko gotowe."
321
+ ```
322
+
323
+ Zmień `*.mp4` na `*.mkv`, `*.m4a` itp., aby dopasować do typów plików. Sprawdzenie pominięcia `Test-Path` oznacza, że ponowne uruchomienie skryptu po przerwaniu nie będzie ponownie przetwarzać już ukończonych plików.
324
+
325
+ ---
326
+
327
+ ## Lokalizacja pliku konfiguracyjnego
328
+
329
+ ```
330
+ C:\Users\NazwaUżytkownika\AppData\Roaming\Claude\claude_desktop_config.json
331
+ ```
332
+
333
+ Jeśli `AppData` nie jest widoczne: Widok → Pokaż → Ukryte elementy w Eksploratorze plików.
334
+
335
+ ---
336
+
337
+ ## Pełny przykład działającej konfiguracji
338
+
339
+ ```json
340
+ {
341
+ "mcpServers": {
342
+ "whisper": {
343
+ "command": "npx",
344
+ "args": ["-y", "whisper-windows-mcp"],
345
+ "env": {
346
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
347
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin",
348
+ "FFMPEG_PATH": "ffmpeg"
349
+ }
350
+ }
351
+ }
352
+ }
353
+ ```
354
+
355
+ `FFMPEG_PATH` domyślnie przyjmuje wartość `ffmpeg` (zakłada obecność w PATH). Ustaw jawnie tylko jeśli FFmpeg jest zainstalowany w niestandardowej lokalizacji.