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 — Depanare
2
-
3
- ---
4
-
5
- ## Listă de verificare rapidă
6
-
7
- Înainte de a investiga mai profund, verifică toate punctele de mai jos:
8
-
9
- - Căile din `claude_desktop_config.json` folosesc **bare oblice inverse duble** (`C:\\whisper\\...`)
10
- - `whisper-cli.exe` există la calea specificată în `WHISPER_CLI_PATH`
11
- - Fișierul model `.bin` există la calea specificată în `WHISPER_MODEL`
12
- - FFmpeg este instalat și accesibil (`ffmpeg -version` funcționează în linia de comandă)
13
- - Claude Desktop a fost **repornit complet** după editarea configurației (ieșit din bara de sistem, nu doar închis fereastra)
14
- - Serverul whisper apare ca **în execuție** (insignă verde) în Setări → Dezvoltator
15
-
16
- ---
17
-
18
- ## "whisper nu este conectat" sau niciun instrument disponibil
19
-
20
- **Cauza cea mai frecventă:** Claude Desktop nu a fost repornit complet după editarea configurației.
21
-
22
- 1. Fă clic dreapta pe pictograma Claude din bara de sistem → Ieși
23
- 2. Redeschide Claude Desktop
24
- 3. Mergi la Setări → Dezvoltator și verifică insigna verde **în execuție** de lângă whisper
25
-
26
- Dacă tot nu apare:
27
-
28
- 1. Deschide `claude_desktop_config.json` și verifică erorile de sintaxă JSON (virgule lipsă, acolade nepotrivite)
29
- 2. Asigură-te că toate căile folosesc bare oblice inverse duble
30
- 3. Rulează `check_config` în Claude Desktop pentru a obține o diagnosticare
31
-
32
- ---
33
-
34
- ## download_model atinge limita de timp pentru modele mari
35
-
36
- Claude Desktop are o limită de timp de 4 minute pentru apelurile instrumentelor MCP. Descărcările de modele mari pe conexiuni lente pot depăși acest lucru.
37
-
38
- **Dimensiunile fișierelor:**
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
- Pe o conexiune rapidă (100 Mbps+), chiar și large-v3 se descarcă în mai puțin de 4 minute. Pe conexiuni mai lente, folosește un browser sau PowerShell pentru a descărca direct și plasează fișierul în directorul de modele manual:
47
-
48
- ```powershell
49
- # Exemplu — descărcare directă 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
- Apoi folosește `switch_model ggml-large-v3-turbo.bin` pentru activare.
55
-
56
- ---
57
-
58
- ## `check_config` raportează că whisper-cli.exe nu a fost găsit
59
-
60
- Calea din configurația ta nu corespunde locației reale a fișierului.
61
-
62
- Verifică dacă fișierul există:
63
- ```
64
- dir C:\whisper\Release\whisper-cli.exe
65
- ```
66
-
67
- Dacă este altundeva, actualizează `WHISPER_CLI_PATH` în configurația ta pentru a corespunde căii reale.
68
-
69
- ---
70
-
71
- ## `check_config` raportează că FFmpeg nu a fost găsit
72
-
73
- FFmpeg nu este instalat sau nu este în PATH-ul sistemului.
74
-
75
- Instalare via winget:
76
- ```
77
- winget install ffmpeg
78
- ```
79
-
80
- Sau descarcă de la [ffmpeg.org](https://ffmpeg.org/download.html), extrage și adaugă folderul `bin` la PATH-ul sistemului.
81
-
82
- După instalare, deschide o nouă linie de comandă și verifică:
83
- ```
84
- ffmpeg -version
85
- ```
86
-
87
- Dacă ai instalat FFmpeg într-o locație non-standard, setează variabila de mediu `FFMPEG_PATH` în configurația Claude Desktop:
88
- ```json
89
- "env": {
90
- "FFMPEG_PATH": "C:\\ffmpeg\\bin\\ffmpeg.exe"
91
- }
92
- ```
93
-
94
- ---
95
-
96
- ## Ieșirea transcrierii este plină de etichete `[FOREIGN]`
97
-
98
- **Cauza:** Folosești un model numai engleză (ex.: `ggml-medium.en.bin`) pe audio în altă limbă decât engleza. Modelele numai engleză nu pot procesa alte limbi și generează `[FOREIGN]` ca substituent pentru fiecare segment pe care nu îl pot gestiona.
99
-
100
- **Soluție:** Descarcă și folosește `ggml-large-v3.bin` — modelul multilingv. Acesta este necesar pentru orice transcriere non-engleză, detectarea automată a limbii sau traducere.
101
-
102
- ```
103
- https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
104
- ```
105
-
106
- Salvează în `C:\whisper\models\` și actualizează configurația:
107
- ```json
108
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-large-v3.bin"
109
- ```
110
-
111
- Sau suprascrie per-transcriere folosind parametrul `model` în `transcribe_audio` sau `generate_subtitles`.
112
-
113
- > **Notă:** Modelele numai engleză (`*.en.bin`) sunt mai rapide și mai precise pentru conținut în engleză, dar sunt complet incapabile să gestioneze alte limbi. Dacă lucrezi cu conținut multilingv, `large-v3` este modelul corect indiferent de hardware.
114
-
115
- ---
116
-
117
- ## Transcrierea nu produce ieșire sau fișier gol
118
-
119
- **Cauze posibile:**
120
-
121
- 1. **Model greșit pentru limbă** — Modelele numai engleză (`*.en.bin`) nu pot transcriere alte limbi. Folosește `ggml-large-v3.bin` pentru conținut multilingv.
122
-
123
- 2. **Calitate audio prea scăzută** — Fișierele cu rată de biți foarte mică (ex.: înregistrări vechi de telefon `.3gp` folosind codec AMR-NB ~12kbps) pot fi la limita a ceea ce whisper poate procesa. Mediile zgomotoase (zgomot de fundal, ecou, vorbitori depărtați) sunt de asemenea dificile. Încearcă `large-v3` care gestionează mai bine audio degradat.
124
-
125
- 3. **Fișier silențios sau corupt** — Rulează `analyze_media` pe fișier pentru a verifica dacă FFprobe detectează un flux audio valid.
126
-
127
- 4. **Eșec de conversie** — Fișierul poate să nu se convertească corect la WAV. Încearcă să convertești manual mai întâi:
128
- ```
129
- ffmpeg -i yourfile.3gp -ar 16000 -ac 1 output.wav
130
- ```
131
- Apoi transcrie WAV-ul direct.
132
-
133
- ---
134
-
135
- ## Sarcina în fundal eșuează pe fișiere cu caractere speciale sau Unicode în nume
136
-
137
- **Cauza:** whisper-cli.exe nu poate scrie fișierul de ieșire când calea conține caractere Unicode (română, japoneză, chineză, emoji, paranteze etc.) sau anumite caractere speciale.
138
-
139
- **Soluție temporară curentă:** Redenumește fișierul pentru a folosi doar caractere ASCII înainte de transcriere, apoi redenumește înapoi dacă este necesar.
140
-
141
- ```
142
- ren "fisier_romanesc.mp4" "temp_transcribe.mp4"
143
- ```
144
-
145
- **Status:** Acesta este un bug cunoscut. O corecție este planificată care va direcționa ieșirea printr-o cale temporară igienizată și va muta rezultatul la destinația corectă după finalizare.
146
-
147
- ---
148
-
149
- ## Sarcina în fundal arată "eșuat" fără ieșire
150
-
151
- **Cauze posibile:**
152
-
153
- 1. **Nume de fișier Unicode** — Vezi mai sus.
154
-
155
- 2. **Cale model greșită** — Procesul detașat nu moștenește căile corectate. Rulează `check_config` pentru a verifica căile.
156
-
157
- 3. **Procesul a fost terminat** — Dacă whisper-cli.exe a fost terminat manual în mijlocul unei sarcini, nu va exista niciun fișier de ieșire. Încearcă din nou.
158
-
159
- 4. **VRAM insuficient** — Modelele mari pe GPU-uri cu VRAM redus pot eșua silențios. Încearcă un model mai mic.
160
-
161
- 5. **Eșec de conversie a fișierului** — Încearcă să transcrii direct un fișier WAV pentru a izola dacă problema este la conversie sau transcriere.
162
-
163
- ---
164
-
165
- ## Transcrierea în fundal nu produce ieșire SRT
166
-
167
- **Cauza:** Modul în fundal (`background=true` în `transcribe_audio`) produce în prezent doar ieșire `.txt`. Formatul SRT în modul fundal nu a fost încă implementat.
168
-
169
- **Soluție temporară:** Pentru fișiere sub ~4 minute, folosește `generate_subtitles` în modul de blocare. Pentru fișiere mai lungi, transcrie mai întâi în modul fundal pentru a obține `.txt`, apoi dacă este nevoie de SRT, folosește `generate_subtitles` pe același fișier (va transcriere din nou).
170
-
171
- **Status:** Suportul SRT în modul fundal este planificat pentru o versiune viitoare.
172
-
173
- ---
174
-
175
- ## GPU-ul nu este folosit (CPU blocat peste 50%)
176
-
177
- **Cauza:** Rulezi binarul numai CPU care vine cu versiunea standard whisper.cpp.
178
-
179
- **Soluție:** Descarcă compilarea cu Vulkan activat de pe [pagina de versiuni](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) și extrage în `C:\whisper\Release\`.
180
-
181
- Verifică că accelerarea GPU este activă:
182
- - Cere lui Claude să ruleze `check_system`
183
- - Caută `✅ Vulkan binary: ggml-vulkan.dll found` în ieșire
184
- - Urmărește Task Manager → Performanță → GPU în timpul unei transcrieri — utilizarea GPU ar trebui să urce la 15–30%
185
-
186
- ---
187
-
188
- ## `check_system` raportează cantitatea greșită de VRAM
189
-
190
- Aceasta este o limitare cunoscută Windows. Comanda `wmic` citește VRAM din registry, care pe multe plăci AMD raportează jumătate din VRAM-ul fizic. Un Vega 56 cu 8GB HBM2 va arăta de obicei 4GB. Aceasta este doar o problemă de afișare — whisper folosește tot VRAM-ul fizic în timpul inferenței.
191
-
192
- ---
193
-
194
- ## Eroarea "Transcrierea este deja în curs"
195
-
196
- Un proces `whisper-cli.exe` rulează dintr-o sarcină anterioară. Așteaptă să se termine, sau:
197
-
198
- 1. Deschide Task Manager → fila Detalii
199
- 2. Găsește `whisper-cli.exe`
200
- 3. Fă clic dreapta → Încheie sarcina
201
-
202
- Apoi încearcă din nou.
203
-
204
- ---
205
-
206
- ## Detectarea automată a limbii este greșită
207
-
208
- Detectarea automată a Whisper rulează pe primele 30 de secunde de audio. Dacă fișierul începe într-o limbă diferită față de cea mai mare parte a conținutului său, detectarea poate fi greșită.
209
-
210
- **Soluție:** Specifică limba explicit (ex.: `language=ro`) în loc să te bazezi pe detectarea automată.
211
-
212
- ---
213
-
214
- ## Generarea subtitrărilor produce "(vorbind în limbă străină)" pe tot videoclipul
215
-
216
- Whisper a detectat vorbire, dar nu a putut transcriere. Cele mai frecvente cauze:
217
-
218
- 1. **Model greșit** — Folosind un model numai engleză pe audio non-englezesc. Folosește `large-v3`.
219
-
220
- 2. **Calitate audio** — Mediile zgomotoase (bucătării, mulțimi, ecou) pot depăși modelul medium. Încearcă `large-v3`.
221
-
222
- 3. **Limbă mixtă** — Fișierele cu două limbi alternante vor avea limba minoritară înlocuită cu substituenți cu setare de limbă unică.
223
-
224
- ---
225
-
226
- ## Traducerea subtitrărilor produce doar engleză
227
-
228
- Acesta este comportamentul intenționat. Indicatorul `--translate` integrat al Whisper traduce doar **în engleză**. Pentru traducere în alte limbi țintă, procesează conținutul fișierului `.srt` separat.
229
-
230
- ---
231
-
232
- ## Transcrierea în lot a încetat să avanseze
233
-
234
- Apelează din nou `check_batch_progress`. Dacă tot este blocată:
235
-
236
- 1. Verifică Task Manager pentru un proces `whisper-cli.exe` care rulează
237
- 2. Verifică jurnalele sarcinilor în `%TEMP%\whisper-mcp-jobs\`
238
- 3. Fișierele cu erori sunt marcate în raportul lotului — rulează-le individual cu `transcribe_audio`
239
-
240
- ---
241
-
242
- ## Curățarea directorului temporar de sarcini
243
-
244
- whisper-windows-mcp scrie fișiere de stare a sarcinilor și jurnale în `%TEMP%\whisper-mcp-jobs\` în timpul transcrierii. Acestea se acumulează în timp și pot consuma spațiu pe disc, în special fișierele `.log` din sarcinile lungi de transcriere.
245
-
246
- Odată ce un lot sau o sarcină este finalizată și ai verificat transcrierile de ieșire, poți șterge în siguranță totul din acest director:
247
-
248
- ```powershell
249
- Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
250
- ```
251
-
252
- Directorul va fi recreat automat la următoarea transcriere. Niciun fișier de ieșire a transcrierii nu este stocat permanent aici — sunt mutate în directorul sursă la finalizare. Rămân doar metadate ale sarcinilor și jurnale.
253
-
254
- **Notă:** Nu șterge acest director în timp ce o transcriere este în curs — fișierele de stare a lotului sunt necesare pentru funcționarea `check_batch_progress`.
255
-
256
- ---
257
-
258
- ## Lot mare nesupravegheit din linia de comandă
259
-
260
- Pentru loturi foarte mari în care vrei să rulezi peste noapte fără Claude, folosește PowerShell.
261
-
262
- **Important:** whisper-cli.exe nu poate citi direct MP4, MKV sau majoritatea formatelor video. FFmpeg trebuie să preconvertească fiecare fișier la WAV mai întâi. Whisper scrie de asemenea transcrierea la stdout și ieșirea de diagnosticare la stderr — folosește `Start-Process -RedirectStandardOutput` pentru a capta corect transcrierea. Folosirea pipe `|` sau redirecționarea stderr cu `2>$null` nu capturează nimic.
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
- Schimbă `*.mp4` cu `*.mkv`, `*.m4a` etc. pentru a corespunde tipurilor tale de fișiere. Verificarea de sărire `Test-Path` înseamnă că rularea din nou a scriptului după o întrerupere nu va reprocesa fișierele deja finalizate.
290
-
291
- Aceasta scrie fișiere `.txt` lângă fiecare sursă. Instrumentele MCP le vor recunoaște ca deja transcrise când rulezi ulterior `analyze_media` sau `start_batch`.
292
-
293
- ---
294
-
295
- ## Locația fișierului de configurare
296
-
297
- ```
298
- C:\Users\NumeUtilizator\AppData\Roaming\Claude\claude_desktop_config.json
299
- ```
300
-
301
- Dacă `AppData` nu este vizibil: Vizualizare → Afișare → Elemente ascunse în File Explorer.
302
-
303
- ---
304
-
305
- ## Exemplu de configurare completă funcțională
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` are implicit valoarea `ffmpeg` (presupune că este în PATH). Setează explicit doar dacă FFmpeg este instalat într-o locație non-standard.
1
+ # whisper-windows-mcp — Depanare
2
+
3
+ ---
4
+
5
+ ## Listă de verificare rapidă
6
+
7
+ Înainte de a investiga mai profund, verifică toate punctele de mai jos:
8
+
9
+ - Căile din `claude_desktop_config.json` folosesc **bare oblice inverse duble** (`C:\\whisper\\...`)
10
+ - `whisper-cli.exe` există la calea specificată în `WHISPER_CLI_PATH`
11
+ - Fișierul model `.bin` există la calea specificată în `WHISPER_MODEL`
12
+ - FFmpeg este instalat și accesibil (`ffmpeg -version` funcționează în linia de comandă)
13
+ - Claude Desktop a fost **repornit complet** după editarea configurației (ieșit din bara de sistem, nu doar închis fereastra)
14
+ - Serverul whisper apare ca **în execuție** (insignă verde) în Setări → Dezvoltator
15
+
16
+ ---
17
+
18
+ ## Instalare și pornire
19
+
20
+ ### Whisper nu apare în Claude Desktop → Setări → Dezvoltator
21
+
22
+ 1. Deschide Claude Desktop → Setări → Dezvoltator → Editează configurația
23
+ 2. Verifică dacă JSON-ul este valid — lipește-l pe [jsonlint.com](https://jsonlint.com) dacă ai îndoieli
24
+ 3. Asigură-te că `WHISPER_CLI_PATH` și `WHISPER_MODEL` indică fișiere care există efectiv
25
+ 4. Ieși din Claude Desktop din bara de sistem (fă clic dreapta pe pictogramă → Ieși)
26
+ 5. Repornește Claude Desktop și verifică din nou
27
+
28
+ Dacă whisper apare dar afișează o insignă de eroare în loc de verde:
29
+ - Întreabă Claude: *"Verifică configurația whisper"* — instrumentul `check_config` returnează un mesaj de eroare specific
30
+ - Verifică Claude Desktop → Setări → Dezvoltator → fă clic pe numele serverului pentru jurnalul de erori
31
+
32
+ ### Eroarea "whisper-cli.exe nu a fost găsit"
33
+
34
+ Calea din `WHISPER_CLI_PATH` nu corespunde locului unde a fost extras binarul.
35
+
36
+ Calea implicită așteptată: `C:\whisper\Release\whisper-cli.exe`
37
+
38
+ Verifică dacă fișierul există:
39
+ ```powershell
40
+ Test-Path "C:\whisper\Release\whisper-cli.exe"
41
+ ```
42
+
43
+ Ar trebui să returneze `True`. Dacă returnează `False`, fie extrage zip-ul versiunii în `C:\whisper\Release\`, fie actualizează `WHISPER_CLI_PATH` în configurație pentru a corespunde locației reale.
44
+
45
+ ### Eroarea "Model negăsit"
46
+
47
+ Calea din `WHISPER_MODEL` nu corespunde locației reale sau numelui fișierului model.
48
+
49
+ Verifică directorul de modele:
50
+ ```powershell
51
+ Get-ChildItem "C:\whisper\models\"
52
+ ```
53
+
54
+ Numele fișierului trebuie să includă numele complet cu sufixul de cuantizare, ex. `ggml-large-v3-turbo-q5_0.bin`, nu `ggml-large-v3-turbo.bin`. Dacă nu sunt instalate modele, folosește `download_model` în Claude Desktop.
55
+
56
+ ---
57
+
58
+ ## Accelerare GPU
59
+
60
+ ### Transcrierea este lentă — doar CPU, fără GPU
61
+
62
+ Întreabă Claude: *"Verifică hardware-ul sistemului"*
63
+
64
+ Instrumentul `check_system` confirmă dacă `ggml-vulkan.dll` este prezent în directorul binarelor whisper. Dacă DLL-ul lipsește, rulezi doar pe CPU indiferent de GPU-ul tău.
65
+
66
+ **Soluție:** Descarcă `whisper-vulkan-win-x64.zip` de pe [pagina de versiuni](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) și extrage în `C:\whisper\Release\`. Zip-ul conține DLL-ul — trebuie să fie în același director cu `whisper-cli.exe`.
67
+
68
+ ### GPU detectat, dar utilizare 0% în timpul transcrierii
69
+
70
+ Binarul rulează, dar nu trimite sarcini la GPU. De obicei înseamnă:
71
+ - Vulkan SDK nu este instalat sau driverul GPU nu expune o interfață Vulkan
72
+ - GPU-ul este mai vechi decât Vulkan 1.0 (rar — majoritatea GPU-urilor din 2016+ îl suportă)
73
+
74
+ Verifică suportul Vulkan:
75
+ ```powershell
76
+ vulkaninfo
77
+ ```
78
+
79
+ Orice ieșire confirmă disponibilitatea Vulkan. Dacă `vulkaninfo` nu funcționează, instalează cel mai recent driver GPU de pe site-ul producătorului.
80
+
81
+ ### VRAM raportat ca jumătate din dimensiunea reală (AMD)
82
+
83
+ Aceasta este o nuanță de raportare Windows pentru GPU-uri AMD. VRAM-ul real disponibil pentru procesare este de obicei de două ori mai mare decât ceea ce raportează `wmic`. Recomandarea modelului poate fi excesiv de conservatoare — poți încerca un model mai mare decât cel recomandat.
84
+
85
+ ---
86
+
87
+ ## Calitatea transcrierii
88
+
89
+ ### Ieșirea conține text halucinat sau fraze repetate
90
+
91
+ Whisper uneori halucinează pe segmente audio silențioase sau de calitate scăzută. Instrumentul aplică implicit `--max-context 0` și `--no-speech-thold 0.6` pentru a minimiza aceasta.
92
+
93
+ Abordări suplimentare:
94
+ - Folosește `temperature=0.2` — o mică aleatoritate ajută la spargerea buclelor de halucinație pe audio zgomotos
95
+ - Folosește un model VAD: descarcă un fișier `.bin` al modelului Silero VAD și transmite calea sa ca `vad_model`. Elimină tăcerea înainte de transcriere — cea mai eficientă remediere pentru halucinații pe înregistrări cu pauze.
96
+ - Folosește un model mai mare (`large-v3` sau `large-v3-turbo`) — modelele mai mici halucinează mai mult pe audio dificil
97
+ - Folosește `prompt` pentru a seta contextul: *"Aceasta este un interviu podcast despre inginerie software."*
98
+
99
+ ### Ieșirea transcrierii este goală sau foarte scurtă
100
+
101
+ Întreabă Claude: *"Analizează acest fișier"* (`analyze_media`) pentru a confirma că fișierul are conținut audio și este un format recunoscut.
102
+
103
+ Dacă FFprobe raportează audio dar transcrierea nu produce nimic:
104
+ - Fișierul poate fi într-o limbă care nu corespunde parametrului `language` configurat
105
+ - Încearcă `language=auto` pentru ca Whisper să detecteze limba
106
+ - Audio-ul poate fi prea silențios sau puternic procesat — transcrierea necesită vorbire inteligibilă
107
+
108
+ ---
109
+
110
+ ## Modul de confidențialitate și poarta de consimțământ
111
+
112
+ ### Nu văd un prompt de consimțământ înainte de transcriere
113
+
114
+ Poarta de consimțământ se activează **o dată per sesiune** în modul standard. Dacă ai confirmat deja o transcriere în această sesiune (de la ultima repornire Claude Desktop), nu se va activa din nou.
115
+
116
+ Alte motive pentru care poarta poate să nu apară:
117
+ - `WHISPER_CONSENT_ACKNOWLEDGED=true` este setat în configurația ta — suprimă complet poarta
118
+ - `WHISPER_PRIVACY_MODE=true` este setat — modul de confidențialitate folosește propria sa poartă separată per operațiune
119
+ - Verifici progresul unei transcrieri de blocare care s-a terminat deja — poarta a fost consumată la începutul sarcinii
120
+
121
+ **Pentru a reseta și a vedea din nou poarta:** repornește complet Claude Desktop (ieși din bara de sistem, repornește).
122
+
123
+ ### Claude procesează fișierul meu fără a întreba
124
+
125
+ Dacă `WHISPER_CONSENT_ACKNOWLEDGED=true` este în configurația ta, poarta este suprimată intenționat. Acesta este comportamentul intenționat pentru utilizatorii care au revizuit implicațiile de confidențialitate.
126
+
127
+ Dacă nu este setat și Claude a continuat fără a întreba, poarta sesiunii a fost deja consumată de o transcriere anterioară în aceeași sesiune. Poarta se activează o dată per sesiune.
128
+
129
+ ### Modul de confidențialitate este activ, dar vreau să citesc o transcriere
130
+
131
+ Transmite `privacy_mode=false` direct instrumentului de transcriere pentru acel apel specific. Suprascrie setarea globală `WHISPER_PRIVACY_MODE=true` doar pentru acel singur apel:
132
+
133
+ - *"Transcrie acest fișier, privacy_mode=false"*
134
+
135
+ Nu este necesară repornirea. Suprascrierea se aplică doar acelui singur apel de instrument.
136
+
137
+ ### Modul de confidențialitate solicită confirmare înainte de fiecare fișier
138
+
139
+ Acesta este comportamentul corect și intenționat. Modul de confidențialitate necesită consimțământ per operațiune — poarta se activează înainte de fiecare transcriere și nu poate fi ocolită când modul de confidențialitate este activ.
140
+
141
+ ### Sarcini în fundal și poarta de consimțământ
142
+
143
+ Pentru transcrierea în fundal (`background=true`) în modul standard, poarta de consimțământ se activează la finalizarea `check_progress`, nu la apelul `transcribe_audio`. La momentul apelului, textul de transcriere nu există încă. Poarta se activează în momentul în care textul de transcriere ar fi returnat pentru prima dată la API.
144
+
145
+ Pentru sarcinile în fundal în modul de confidențialitate, poarta se activează **înainte de pornire** — înainte de orice procesare audio.
146
+
147
+ ### Cum suprim permanent poarta de consimțământ?
148
+
149
+ Setează `WHISPER_CONSENT_ACKNOWLEDGED=true` în secțiunea env a fișierului `claude_desktop_config.json`. Aceasta suprimă dezvăluirea unică per sesiune în modul standard.
150
+
151
+ Notă: nu are efect când modul de confidențialitate este activ.
152
+
153
+ ---
154
+
155
+ ## Transcriere în fundal și lot
156
+
157
+ ### Sarcina în fundal nu apare niciodată ca finalizată
158
+
159
+ Starea sarcinii este urmărită prin ieșirea procesului whisper-cli.exe. Verifică:
160
+
161
+ 1. Întreabă Claude: *"Verifică progresul job_id"* — dacă procesul încă rulează, instrumentul returnează "În progres" cu timpul scurs și ultimul marcaj de timp al segmentului
162
+ 2. Dacă fișierul este foarte lung (2+ ore), oferă mai mult timp — transcrierea GPU a unui fișier de 2 ore durează aproximativ 15–20 de minute pe un GPU mediu
163
+ 3. Dacă timpul scurs pare greșit, deschide Task Manager → Detalii și verifică dacă `whisper-cli.exe` este listat
164
+
165
+ ### Sarcina în fundal finalizată, dar lipsește fișierul de ieșire sau este în locul greșit
166
+
167
+ Sarcinile în fundal scriu ieșirea la o cale temporară în `%TEMP%\whisper-mcp-jobs\` în timpul procesării, apoi mută fișierul în directorul sursă la finalizare. Dacă mutarea eșuează, `check_progress` returnează o eroare specifică.
168
+
169
+ Verifică:
170
+ - Directorul sursă există și este scriibil
171
+ - Există suficient spațiu pe disc
172
+ - Calea țintă nu este prea lungă (Windows are implicit o limită de cale de 260 de caractere)
173
+
174
+ ### Lotul s-a blocat sau nu trece la fișierul următor
175
+
176
+ `start_batch` folosește un callback de ieșire pentru a avansa automat fără interogare. Dacă lotul pare blocat:
177
+
178
+ 1. Apelează `check_batch_progress` — forțează verificarea progresului și reevaluează starea curentă
179
+ 2. Dacă fișierul curent încă rulează, lasă-l să se termine — verifică Task Manager pentru `whisper-cli.exe`
180
+ 3. Dacă `check_batch_progress` arată fișierul curent ca eșuat, va încerca să treacă la fișierul următor
181
+
182
+ ### Lotul raportează fișierul ca "eșuat" deși pare finalizat
183
+
184
+ Validatorul verifică că fișierul de ieșire nu este gol și are cel puțin un rând la fiecare 30 de secunde de audio. Fișierele scurte sau înregistrările cu secțiuni lungi silențioase pot produce ieșiri pe care validatorul le consideră suspect de scurte.
185
+
186
+ Dacă transcrierea pare corectă la deschidere — rulează-o din nou prin `transcribe_audio` individual și verifică rezultatul manual.
187
+
188
+ ---
189
+
190
+ ## Generarea subtitrărilor
191
+
192
+ ### Fișierul SRT salvat, dar cu nume greșit sau în locul greșit
193
+
194
+ Fișierele SRT și VTT sunt salvate lângă fișierul sursă cu codul de limbă adăugat când limba sursă nu este engleza:
195
+ - Sursă engleză: `numefisier.srt`
196
+ - Sursă română: `numefisier.ro.srt`
197
+ - Cu traducere în engleză: `numefisier.ro.srt` + `numefisier.en.srt`
198
+
199
+ ### Ieșire VTT pentru web — cum încarc în player desktop?
200
+
201
+ VLC suportă VTT prin Subtitrări → Adaugă fișier de subtitrări → selectează fișierul `.vtt`. Majoritatea celorlalte playere desktop suportă mai bine SRT decât VTT. Folosește `output_format=srt` pentru compatibilitate maximă cu playerele desktop.
202
+
203
+ VTT este cel mai bun pentru elemente HTML5 `<video>` și playere video web.
204
+
205
+ ### Fișierele LRC nu se afișează în player
206
+
207
+ Fișierele LRC (`.lrc`) sunt destinate playerelor cu funcții de afișare versuri/karaoke: foobar2000, Winamp, AIMP și diverse playere mobile. Playerele video standard nu afișează LRC. Dacă ai nevoie de subtitrări sincronizate pentru video, folosește `srt` sau `vtt`.
208
+
209
+ ### Generarea subtitrărilor atinge limita de timp cu eroare de 4 minute
210
+
211
+ `generate_subtitles` rulează implicit sincron și poate atinge limita de timp MCP de 4 minute a Claude Desktop pe fișiere lungi. Folosește `background=true` pentru fișiere de peste 10 minute:
212
+
213
+ - *"Generează subtitrări pentru acest fișier, background=true"*
214
+
215
+ Apoi monitorizează progresul prin `check_progress`. Notă: `translate_to_english=true` nu este disponibil în modul fundal. Rulează o a doua trecere după finalizarea sarcinii în fundal pentru a genera traducerea.
216
+
217
+ ---
218
+
219
+ ## Gestionarea modelelor
220
+
221
+ ### `download_model` eșuează cu eroare de rețea
222
+
223
+ Instrumentul descarcă de la Hugging Face. Asigură-te că calculatorul tău are acces la internet și că `huggingface.co` nu este blocat de firewall sau proxy.
224
+
225
+ Dacă descărcarea începe dar nu se termină, fișierul `.part` este șters automat. Rulează din nou `download_model` pentru a reîncerca.
226
+
227
+ ### `switch_model` spune că modelul nu este în directorul de modele
228
+
229
+ Instrumentul `switch_model` acceptă doar fișiere în directorul configurat în `WHISPER_MODEL` (mai exact, directorul care conține acel fișier).
230
+
231
+ Dacă modelul tău este într-o altă locație, fie mută-l în directorul de modele, fie actualizează `WHISPER_MODEL` în configurație pentru a indica un fișier din același director cu modelele tale.
232
+
233
+ ### Modelul activ revine la modelul din configurație după repornirea Claude Desktop
234
+
235
+ `switch_model` este cu domeniu de sesiune prin design. Pentru a face schimbarea modelului permanentă, actualizează `WHISPER_MODEL` în `claude_desktop_config.json` și repornește Claude Desktop.
236
+
237
+ ---
238
+
239
+ ## Căi de fișiere și formate
240
+
241
+ ### Numele de fișiere Unicode cauzează eșecuri silențioase ale transcrierii
242
+
243
+ Transcrierea în fundal direcționează toată ieșirea printr-o cale temporară igienizată ASCII bazată pe ID sarcină, care gestionează corect numele de fișiere Unicode. Dacă vezi un eșec cu un nume de fișier Unicode în modul de blocare, verifică dacă fișierul este accesibil:
244
+
245
+ ```powershell
246
+ Test-Path "C:\Users\NumeUtilizator\Documents\inregistrare_romana.mp4"
247
+ ```
248
+
249
+ Ar trebui să returneze `True`. Dacă calea este inaccesibilă pentru PowerShell, va fi inaccesibilă și pentru serverul MCP.
250
+
251
+ ### Fișierul video nu produce ieșire sau eroare imediată
252
+
253
+ FFmpeg este necesar pentru toate formatele video. Verifică dacă FFmpeg este instalat:
254
+ ```
255
+ ffmpeg -version
256
+ ```
257
+
258
+ Dacă FFmpeg nu este în PATH, setează `FFMPEG_PATH` în configurație la calea completă a `ffmpeg.exe`.
259
+
260
+ Dacă FFmpeg este instalat dar un anumit video eșuează, poate fi un fișier corupt sau un variant de codec neobișnuit. Încearcă să convertești manual:
261
+ ```
262
+ ffmpeg -i input.mp4 -ar 16000 -ac 1 output.wav
263
+ ```
264
+ Apoi transcrie WAV-ul direct.
265
+
266
+ ### Eroarea "Fișier prea mare"
267
+
268
+ Instrumentul respinge fișierele peste 10 GB. Aceasta este o limită de securitate pentru a preveni epuizarea resurselor. Fișierele care se apropie de această dimensiune trebuie împărțite înainte de transcriere.
269
+
270
+ ### Respingere cale UNC
271
+
272
+ Căile care încep cu `\\server\share` (căi UNC la partajări de rețea) sunt respinse de validatorul de intrări. Montează partajarea de rețea ca literă de unitate (ex. `Z:\`) și folosește acea cale.
273
+
274
+ ---
275
+
276
+ ## Curățarea fișierelor temporare
277
+
278
+ Fișierele de stare a sarcinilor (`.json` și `.log`) din `%TEMP%\whisper-mcp-jobs\` sunt curățate automat la pornire pentru fișierele mai vechi de 7 zile. Curățarea manuală rămâne posibilă dacă este necesar:
279
+
280
+ ```powershell
281
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Force
282
+ ```
283
+
284
+ Fișierele WAV temporare de conversie (`whisper_tmp_*.wav` în `%TEMP%`) sunt șterse imediat după fiecare transcriere. Dacă o transcriere a căzut la mijloc, pot rămâne. Șterge-le manual:
285
+
286
+ ```powershell
287
+ Remove-Item "$env:TEMP\whisper_tmp_*.wav" -Force
288
+ ```
289
+
290
+ ---
291
+
292
+ ## Lot mare nesupravegheit din linia de comandă
293
+
294
+ Pentru loturi foarte mari fără Claude, folosește direct PowerShell.
295
+
296
+ **Important:** whisper-cli.exe nu poate citi direct MP4, MKV sau majoritatea formatelor video. FFmpeg trebuie să preconvertească fiecare fișier la WAV mai întâi. Whisper scrie transcrierea la stdout și diagnosticele la stderr — folosește `Start-Process -RedirectStandardOutput` pentru a capta corect.
297
+
298
+ ```powershell
299
+ $whisper = "C:\whisper\Release\whisper-cli.exe"
300
+ $model = "C:\whisper\models\ggml-medium.en.bin"
301
+ $dir = "C:\calea\catre\folderul\tau"
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 "SARI (există): $($_.Name)"
309
+ return
310
+ }
311
+ Write-Host "Conversie: $($_.Name)"
312
+ & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
313
+ Write-Host "Transcriere: $($_.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 "Gata: $($_.BaseName).txt"
317
+ }
318
+
319
+ Remove-Item $tmp -ErrorAction SilentlyContinue
320
+ Write-Host "Totul gata."
321
+ ```
322
+
323
+ Schimbă `*.mp4` cu `*.mkv`, `*.m4a` etc. pentru a corespunde tipurilor tale de fișiere. Verificarea de sărire `Test-Path` înseamnă că rularea din nou a scriptului după o întrerupere nu va reprocesa fișierele deja finalizate.
324
+
325
+ ---
326
+
327
+ ## Locația fișierului de configurare
328
+
329
+ ```
330
+ C:\Users\NumeUtilizator\AppData\Roaming\Claude\claude_desktop_config.json
331
+ ```
332
+
333
+ Dacă `AppData` nu este vizibil: Vizualizare → Afișare → Elemente ascunse în File Explorer.
334
+
335
+ ---
336
+
337
+ ## Exemplu de configurare completă funcțională
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` are implicit valoarea `ffmpeg` (presupune că este în PATH). Setează explicit doar dacă FFmpeg este instalat într-o locație non-standard.