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.
- package/{LICENSE-COMMERCIAL.md → COMMERCIAL-LICENSE.md} +58 -58
- package/LICENSE +40 -40
- package/PRIVACY.es.md +192 -135
- package/PRIVACY.id.md +192 -135
- package/PRIVACY.ja.md +192 -135
- package/PRIVACY.ko.md +192 -135
- package/PRIVACY.md +192 -135
- package/PRIVACY.pl.md +192 -135
- package/PRIVACY.pt-BR.md +192 -135
- package/PRIVACY.ro.md +192 -135
- package/PRIVACY.uk.md +192 -135
- package/PRIVACY.vi.md +192 -135
- package/README.es.md +74 -48
- package/README.id.md +77 -40
- package/README.ja.md +100 -72
- package/README.ko.md +63 -37
- package/README.md +76 -39
- package/README.pl.md +77 -40
- package/README.pt-BR.md +71 -45
- package/README.ro.md +78 -41
- package/README.uk.md +77 -40
- package/README.vi.md +67 -41
- package/ROADMAP.es.md +110 -48
- package/ROADMAP.id.md +77 -104
- package/ROADMAP.ja.md +84 -123
- package/ROADMAP.ko.md +73 -97
- package/ROADMAP.pl.md +104 -44
- package/ROADMAP.pt-BR.md +78 -102
- package/ROADMAP.ro.md +102 -44
- package/ROADMAP.uk.md +65 -97
- package/ROADMAP.vi.md +78 -102
- package/SECURITY.es.md +64 -47
- package/SECURITY.id.md +64 -47
- package/SECURITY.ja.md +64 -47
- package/SECURITY.ko.md +64 -47
- package/SECURITY.md +21 -4
- package/SECURITY.pl.md +64 -47
- package/SECURITY.pt-BR.md +64 -47
- package/SECURITY.ro.md +64 -47
- package/SECURITY.uk.md +64 -47
- package/SECURITY.vi.md +64 -47
- package/TROUBLESHOOTING.es.md +309 -323
- package/TROUBLESHOOTING.id.md +333 -323
- package/TROUBLESHOOTING.ja.md +399 -286
- package/TROUBLESHOOTING.ko.md +309 -323
- package/TROUBLESHOOTING.pl.md +355 -323
- package/TROUBLESHOOTING.pt-BR.md +309 -323
- package/TROUBLESHOOTING.ro.md +355 -323
- package/TROUBLESHOOTING.uk.md +369 -323
- package/TROUBLESHOOTING.vi.md +309 -323
- package/dist/index.js +591 -216
- package/package.json +45 -45
- package/patch_roadmaps.py +0 -72
package/TROUBLESHOOTING.ro.md
CHANGED
|
@@ -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
|
-
##
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
1.
|
|
23
|
-
2.
|
|
24
|
-
3.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- `
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
##
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
Verifică
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
`
|
|
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.
|