whisper-windows-mcp 2.2.1 → 2.2.2

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/README.ro.md ADDED
@@ -0,0 +1,393 @@
1
+ # whisper-windows-mcp
2
+
3
+ Server MCP (Model Context Protocol) nativ pentru Windows. Folosește [whisper.cpp](https://github.com/ggml-org/whisper.cpp) pentru transcrierea locală a fișierelor audio și video în Claude Desktop — cu accelerare GPU, suport multilingv și procesare în lot. Toată transcrierea se execută local — niciun fișier audio, video sau cale de fișier nu este trimis în exterior.
4
+
5
+ > **De ce există acest pachet?**
6
+ > Pachetul popular `whisper-mcp` a fost creat pentru macOS și presupune un mediu Unix. Nu funcționează pe Windows. Acest pachet a fost scris special pentru utilizatorii Windows care doresc transcriere AI locală integrată cu Claude Desktop.
7
+
8
+ ---
9
+
10
+ ## Ce poți face
11
+
12
+ După instalare, poți spune direct în Claude Desktop:
13
+
14
+ - *"Transcrie C:\Users\Me\Downloads\meeting.mp3"*
15
+ - *"Transcrie toate înregistrările din acest folder și salvează fiecare ca fișier text"*
16
+ - *"Creează subtitrări în română și engleză pentru acest video"*
17
+ - *"Începe transcrierea în lot a tuturor fișierelor din acest folder"*
18
+ - *"Cât timp va dura să transcrii aceste fișiere?"*
19
+ - *"Verifică dacă accelerarea GPU funcționează"*
20
+
21
+ ---
22
+
23
+ ## Cerințe
24
+
25
+ 1. **Node.js 18 sau mai nou** — [nodejs.org](https://nodejs.org)
26
+ 2. **Binar whisper.cpp cu suport Vulkan GPU** — vezi Pasul 1
27
+ 3. **Fișier model Whisper** — vezi Pasul 2
28
+ 4. **FFmpeg** — necesar pentru fișiere video și formate audio altele decât WAV/MP3
29
+
30
+ ---
31
+
32
+ ## Pasul 1 — Instalarea binarelor whisper.cpp
33
+
34
+ ### Opțiunea A — Versiune Vulkan precompilată (recomandat)
35
+
36
+ Descarcă `whisper-vulkan-win-x64.zip` de pe [pagina de versiuni](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0).
37
+
38
+ Aceasta este o compilare personalizată cu **accelerare Vulkan GPU** activată. Funcționează cu GPU-uri AMD, NVIDIA și Intel — fără a necesita SDK-uri specifice producătorului.
39
+
40
+ Extrage în `C:\whisper\Release\`. Ar trebui să ai:
41
+
42
+ ```
43
+ C:\whisper\Release\whisper-cli.exe
44
+ C:\whisper\Release\ggml-vulkan.dll
45
+ C:\whisper\Release\ggml.dll
46
+ C:\whisper\Release\ggml-base.dll
47
+ C:\whisper\Release\ggml-cpu.dll
48
+ C:\whisper\Release\whisper.dll
49
+ ```
50
+
51
+ Accelerarea GPU este activată automat — nu este necesară configurație suplimentară.
52
+
53
+ ### Opțiunea B — Compilare din sursă
54
+
55
+ Necesar: Git, CMake, Visual Studio Build Tools 2022+ cu "Desktop development with C++", Vulkan SDK de la [lunarg.com](https://vulkan.lunarg.com/sdk/home#windows).
56
+
57
+ ```
58
+ git clone https://github.com/ggml-org/whisper.cpp
59
+ cd whisper.cpp
60
+ cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
61
+ cmake --build build --config Release --target whisper-cli
62
+ ```
63
+
64
+ Copiază binarele din `build\bin\Release\` în `C:\whisper\Release\`.
65
+
66
+ > **Notă:** Versiunile oficiale whisper.cpp pentru Windows pe GitHub nu includ compilarea Vulkan. Folosește versiunea precompilată de mai sus sau compilează din sursă cu `-DGGML_VULKAN=ON`.
67
+
68
+ ---
69
+
70
+ ## Pasul 2 — Descărcarea modelului Whisper
71
+
72
+ | Model | Dimensiune | Viteză | Precizie | Cel mai bun pentru |
73
+ |---|---|---|---|---|
74
+ | `ggml-tiny.en.bin` | 75 MB | Foarte rapid | De bază | Teste rapide |
75
+ | `ggml-base.en.bin` | 142 MB | Rapid | Bună | Engleză zilnică |
76
+ | `ggml-small.en.bin` | 466 MB | Moderat | Mai bună | Înregistrări importante |
77
+ | `ggml-medium.en.bin` | 1,5 GB | Rapid pe GPU | Foarte bună | Engleză de cea mai înaltă calitate |
78
+ | `ggml-large-v3-turbo.bin` | 1,6 GB | Rapid pe GPU | Excelentă | **Recomandat pentru lot GPU — ~6x mai rapid decât large-v3 cu pierdere minimă de precizie** |
79
+ | `ggml-large-v3.bin` | 2,9 GB | Rapid pe GPU | Excelentă | Multilingv, precizie maximă |
80
+ | `ggml-medium.en-q5_0.bin` | 514 MB | Rapid | Foarte bună | **Cea mai bună alegere CPU-only pentru engleză — precizie ridicată cu memorie redusă** |
81
+ | `ggml-large-v3-turbo-q5_0.bin` | 547 MB | Rapid | Excelentă | **Cea mai bună alegere CPU-only multilingv** |
82
+ | `ggml-large-v3-q5_0.bin` | 1,1 GB | Moderat pe CPU | Excelentă | Multilingv, prietenos cu CPU |
83
+
84
+ Folosește `download_model` în Claude Desktop pentru instalare directă. Pentru **numai engleză**: `large-v3-turbo` (GPU) sau `medium.en-q5_0` (CPU). Pentru **multilingv**: `large-v3-turbo` sau `large-v3-turbo-q5_0` (CPU). Modelele numai engleză (`*.en.bin`) generează `[FOREIGN]` pentru audio care nu este în engleză și nu pot fi folosite pentru alte limbi.
85
+
86
+ ---
87
+
88
+ ## Pasul 3 — Instalarea FFmpeg
89
+
90
+ FFmpeg este necesar pentru fișiere video și formate audio native.
91
+
92
+ Instalare via winget:
93
+ ```
94
+ winget install ffmpeg
95
+ ```
96
+
97
+ Sau descarcă de la [ffmpeg.org](https://ffmpeg.org/download.html) și adaugă la PATH.
98
+
99
+ Verificare:
100
+ ```
101
+ ffmpeg -version
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Pasul 4 — Instalarea serverului MCP
107
+
108
+ ```
109
+ npm install -g whisper-windows-mcp
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Pasul 5 — Configurarea Claude Desktop
115
+
116
+ Deschide Claude Desktop → Setări → Dezvoltator → Editează configurația.
117
+
118
+ Adaugă intrarea `whisper`:
119
+
120
+ ```json
121
+ {
122
+ "mcpServers": {
123
+ "whisper": {
124
+ "command": "npx",
125
+ "args": ["-y", "whisper-windows-mcp"],
126
+ "env": {
127
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
128
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin"
129
+ }
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ Locația fișierului de configurare: `C:\Users\NumeUtilizator\AppData\Roaming\Claude\claude_desktop_config.json`
136
+
137
+ > Folosește **bare oblice inverse duble** în toate căile.
138
+
139
+ Salvează și **repornește complet** Claude Desktop. Vei vedea **whisper** listat cu o insignă verde "în execuție" în Setări → Dezvoltator.
140
+
141
+ ---
142
+
143
+ ## Pasul 6 — Verificarea instalării
144
+
145
+ În Claude Desktop, întreabă:
146
+
147
+ > *"Verifică configurația whisper"*
148
+
149
+ Apoi:
150
+
151
+ > *"Verifică hardware-ul sistemului"*
152
+
153
+ Aceasta confirmă că GPU-ul tău a fost detectat și accelerarea Vulkan este activă.
154
+
155
+ ---
156
+
157
+ ## Instrumente disponibile
158
+
159
+ ### `transcribe_audio`
160
+ Transcrie un singur fișier. Suportă modul de blocare (implicit) sau în fundal pentru fișiere lungi.
161
+
162
+ | Parametru | Descriere |
163
+ |---|---|
164
+ | `file_path` | Calea absolută către fișier (obligatoriu) |
165
+ | `language` | Cod limbă (`ro`, `en`, `ja` etc.) sau `auto` pentru detectare automată. Implicit: `en` |
166
+ | `output_format` | `text` (implicit), `timestamps`, `json` sau `srt` |
167
+ | `save_to_file` | Salvează transcrierea ca .txt lângă fișierul sursă |
168
+ | `background` | Rulează ca sarcină separată — returnează imediat ID-ul sarcinii. Folosește `check_progress` pentru monitorizare. Recomandat pentru fișiere de peste 10 minute. |
169
+ | `threads` | Suprascrie numărul de fire CPU |
170
+ | `temperature` | Temperatura de eșantionare 0,0–1,0. Implicit 0,0 (determinist). Valori mai mari reduc halucinațiile în audio zgomotos. |
171
+ | `prompt` | Șir de context anterior — îmbunătățește precizia pentru vocabular specific domeniului sau nume de vorbitori. Ex.: `"Nume: Keemstar, DramaAlert."` |
172
+ | `condition_on_prev_text` | Reactivează condiționarea contextului între segmente. Implicit false. |
173
+ | `beam_size` | Lățimea de căutare beam. Mai mare = mai precis, mai lent. Implicit 5. |
174
+ | `best_of` | Numărul de secvențe candidate evaluate. Implicit 5. |
175
+ | `gpu_device` | Indexul dispozitivului GPU pentru sisteme multi-GPU. Implicit 0. |
176
+ | `processors` | Numărul de procesoare paralele. Implicit 1. |
177
+ | `word_timestamps` | Un cuvânt pe segment cu marcaj de timp. Util pentru alinierea clipurilor. |
178
+ | `max_segment_length` | Lungimea maximă a segmentului în caractere. |
179
+ | `diarize` | Diarizare vorbitori stereo — necesită audio stereo cu vorbitori pe canale separate. |
180
+ | `vad_model` | Calea către fișierul .bin al modelului Silero VAD. Elimină tăcerea înainte de transcriere — reduce halucinațiile în fișierele zgomotoase. |
181
+ | `offset_t` | Decalajul de pornire în milisecunde. |
182
+ | `duration` | Durata de procesat în milisecunde de la decalaj. |
183
+
184
+ ---
185
+
186
+ ### `check_progress`
187
+ Monitorizează o sarcină de transcriere în fundal pornită cu `transcribe_audio` (background=true).
188
+
189
+ Returnează timpul scurs, ultimul marcaj de timp procesat, procentul și transcrierea completă la finalizare.
190
+
191
+ | Parametru | Descriere |
192
+ |---|---|
193
+ | `job_id` | ID-ul sarcinii returnat de `transcribe_audio` |
194
+
195
+ ---
196
+
197
+ ### `start_batch`
198
+ Transcrie automat și secvențial toate fișierele netranscrise dintr-un folder. Sortează după durată (cele mai scurte primele), procesează câte unul ca sarcini în fundal și validează fiecare ieșire.
199
+
200
+ | Parametru | Descriere |
201
+ |---|---|
202
+ | `folder_path` | Calea către folder (obligatoriu) |
203
+ | `language` | Cod limbă. Implicit: `en` |
204
+ | `threads` | Suprascrie numărul de fire CPU |
205
+
206
+ ---
207
+
208
+ ### `check_batch_progress`
209
+ Monitorizează un lot în execuție. Avansează automat la fișierul următor când cel curent se termină. Returnează progresul general, fișierul curent cu marcaj de timp, ETA și fișierele cu erori.
210
+
211
+ | Parametru | Descriere |
212
+ |---|---|
213
+ | `batch_id` | ID-ul lotului returnat de `start_batch` |
214
+
215
+ ---
216
+
217
+ ### `transcribe_batch` (interactiv)
218
+ Procesează fișierele unul câte unul cu previzualizare și confirmare înaintea fiecăruia. Util când vrei să revizuiești pe parcurs.
219
+
220
+ | Parametru | Descriere |
221
+ |---|---|
222
+ | `folder_path` | Calea către folder (obligatoriu) |
223
+ | `file_index` | Ce fișier să proceseze (începând de la 1). Omite pentru a lista fișierele mai întâi. |
224
+ | `language` | Cod limbă. Implicit: `en` |
225
+ | `recursive` | Include subdirectoare |
226
+
227
+ ---
228
+
229
+ ### `generate_subtitles`
230
+ Generează fișiere de subtitrări SRT. Suportă detectarea automată a limbii și ieșire cu traducere în engleză.
231
+
232
+ | Parametru | Descriere |
233
+ |---|---|
234
+ | `file_path` | Calea către fișier (obligatoriu) |
235
+ | `language` | Cod limbă sau `auto` pentru detectare automată. Implicit: `en` |
236
+ | `translate_to_english` | Generează și `.en.srt` cu traducere în engleză. Se aplică doar când sursa nu este în engleză. |
237
+ | `threads` | Suprascrie numărul de fire CPU |
238
+
239
+ Când ambele sunt solicitate, două fișiere sunt salvate lângă sursă:
240
+ - `numefisier.ro.srt` — limba originală
241
+ - `numefisier.en.srt` — traducere în engleză
242
+
243
+ > Traducerea încorporată Whisper traduce doar **în engleză**. Pentru alte limbi țintă, procesează conținutul fișierului .srt separat.
244
+
245
+ ---
246
+
247
+ ### `analyze_media`
248
+ Analizează un fișier înainte de transcriere. Returnează durata, dimensiunea, codecul și timpul estimat de transcriere pe CPU și GPU. Pentru foldere, afișează toate fișierele într-un tabel sortabil cu starea transcrierii.
249
+
250
+ | Parametru | Descriere |
251
+ |---|---|
252
+ | `path` | Calea către un singur fișier sau folder (obligatoriu) |
253
+ | `sort_by` | Pentru foldere: `duration` (implicit), `name` sau `size` |
254
+
255
+ ---
256
+
257
+ ### `check_config`
258
+ Verifică dacă whisper-cli.exe, fișierul model și FFmpeg sunt toate accesibile. Rulează aceasta mai întâi dacă ceva nu funcționează.
259
+
260
+ ---
261
+
262
+ ### `list_models`
263
+ Listează toate fișierele model Whisper instalate în directorul tău de modele. Afișează numele fișierului, dimensiunea, dacă este activ, starea de cuantizare și cazurile de utilizare recomandate. Fără apeluri de rețea — citește doar sistemul de fișiere local.
264
+
265
+ ---
266
+
267
+ ### `download_model`
268
+ Descarcă un model Whisper direct de la Hugging Face în directorul tău de modele. Acceptă numele modelului (ex.: `large-v3-turbo`, `medium.en-q5_0`) și gestionează automat descărcarea. Descarcă doar din spații de nume Hugging Face de încredere. După descărcare, folosește `switch_model` pentru activare.
269
+
270
+ | Parametru | Descriere |
271
+ |---|---|
272
+ | `model_name` | Numele modelului de descărcat, ex.: `large-v3-turbo`, `large-v3-turbo-q5_0`, `medium.en-q5_0` |
273
+
274
+ ---
275
+
276
+ ### `switch_model`
277
+ Schimbă modelul Whisper activ pentru sesiunea curentă fără a reporni Claude Desktop. Modificarea este valabilă doar pentru sesiune — nu persistă după repornire. Pentru a face permanentă, actualizează `WHISPER_MODEL` în configurația ta.
278
+
279
+ | Parametru | Descriere |
280
+ |---|---|
281
+ | `model_name` | Numele fișierului model (ex.: `ggml-large-v3-turbo.bin`) sau calea completă. Trebuie să fie un fișier `.bin` în directorul de modele configurat. |
282
+
283
+ ---
284
+
285
+ ### `check_system`
286
+ Detectează hardware-ul GPU și confirmă dacă accelerarea Vulkan este disponibilă. Raportează numele GPU, VRAM, prezența `ggml-vulkan.dll` și recomandă cea mai bună dimensiune de model pentru hardware-ul tău.
287
+
288
+ ---
289
+
290
+ ## Formate suportate
291
+
292
+ | Tip | Formate |
293
+ |---|---|
294
+ | Native (fără conversie) | `mp3`, `wav` |
295
+ | Video (convertit automat prin FFmpeg) | `mp4`, `mkv`, `avi`, `mov`, `webm`, `flv`, `wmv`, `m4v`, `ts`, `3gp` |
296
+ | Audio (convertit automat prin FFmpeg) | `m4a`, `ogg`, `flac` |
297
+
298
+ ---
299
+
300
+ ## Accelerare GPU
301
+
302
+ Versiunea Vulkan precompilată activează automat accelerarea GPU. Testat pe AMD Radeon RX Vega 56 (GCN generația 5). Orice GPU cu suport Vulkan 1.0+ ar trebui să funcționeze, inclusiv NVIDIA și Intel Arc.
303
+
304
+ **Comparație performanță (model medium.en, fișier audio ~5 minute):**
305
+
306
+ | Hardware | Timp |
307
+ |---|---|
308
+ | Numai CPU (Ryzen 7 2700x, 8 fire) | 8–12 minute |
309
+ | GPU (Vega 56 prin Vulkan) | 20–40 secunde |
310
+
311
+ Utilizarea GPU în timpul transcrierii este de obicei 15–20%, revenind la inactiv între fișiere. CPU-ul se menține la aproximativ 15%.
312
+
313
+ ---
314
+
315
+ ## Suport multilingv
316
+
317
+ Whisper poate detecta automat limba vorbită și transcriere în acea limbă. Modelul de traducere încorporat traduce doar **în engleză**.
318
+
319
+ Pentru cea mai bună precizie multilingvă, folosește modelul `large-v3`. Modelele numai engleză (`*.en.bin`) nu pot detecta sau transcriere alte limbi.
320
+
321
+ **Exemplu — video în limbă străină cu subtitrări:**
322
+ 1. Cere lui Claude să genereze subtitrări cu `language=auto` și `translate_to_english=true`
323
+ 2. Whisper detectează limba și generează SRT în limba originală
324
+ 3. O a doua trecere generează SRT cu traducere în engleză
325
+ 4. Încarcă oricare fișier în VLC prin Subtitrări → Adaugă fișier de subtitrări
326
+
327
+ ---
328
+
329
+ ## Proiectat pentru utilizatorii planului gratuit
330
+
331
+ Acest instrument a fost creat pentru a minimiza interacțiunile cu API-ul Claude. Întregul flux de lucru de transcriere — scanare, analiză, coadă, execuție, validare — este proiectat să necesite cât mai puține interacțiuni Claude posibil. Munca grea se face local pe calculatorul tău.
332
+
333
+ ---
334
+
335
+ ## Variabile de mediu opționale
336
+
337
+ | Variabilă | Descriere |
338
+ |---|---|
339
+ | `WHISPER_CLI_PATH` | Calea către whisper-cli.exe (obligatoriu) |
340
+ | `WHISPER_MODEL` | Calea către fișierul model .bin (obligatoriu) |
341
+ | `WHISPER_THREADS` | Suprascrie numărul de fire CPU |
342
+ | `FFMPEG_PATH` | Calea către ffmpeg dacă nu este în PATH-ul sistemului |
343
+ | `WHISPER_PRIVACY_MODE` | **Planificat.** Când este setat la `true`, răspunsurile instrumentelor returnează doar metadate — niciun text de transcriere nu este returnat lui Claude. Pentru conținut reglementat sau confidențial. Vezi [PRIVACY.md](PRIVACY.md). |
344
+
345
+ ---
346
+
347
+ ## Depanare
348
+
349
+ Vezi [TROUBLESHOOTING.md](TROUBLESHOOTING.md) pentru soluții detaliate. Vezi [PRIVACY.md](PRIVACY.md) dacă gestionezi conținut reglementat.
350
+
351
+ Listă de verificare rapidă:
352
+ - Căile din configurație folosesc **bare oblice inverse duble** (`C:\\whisper\\...`)
353
+ - `whisper-cli.exe` există la calea configurată
354
+ - Fișierul model `.bin` există la calea configurată
355
+ - FFmpeg instalat și în PATH (`ffmpeg -version` funcționează)
356
+ - Claude Desktop a fost **repornit complet** după editarea configurației
357
+ - Whisper apare ca **în execuție** (insignă verde) în Setări → Dezvoltator
358
+
359
+ ---
360
+
361
+ ## Securitate și confidențialitate
362
+
363
+ whisper-windows-mcp a fost proiectat cu securitatea ca principiu central.
364
+
365
+ **Audio-ul nu părăsește niciodată calculatorul tău.** Niciun fișier audio sau video, cale de fișier sau telemetrie nu este transmis vreunui server. Niciun API cloud nu este necesar pentru funcționalitatea de bază.
366
+
367
+ **Textul de transcriere și limita API.** Când un răspuns al instrumentului include text de transcriere, acel text este procesat de API-ul Claude — părăsește calculatorul tău local. Pentru majoritatea utilizatorilor (conținut public, podcasturi, înregistrări streaming) acesta este un comportament așteptat. Dacă gestionezi înregistrări medicale, juridice, financiare sau alte înregistrări reglementate, vezi [PRIVACY.md](PRIVACY.md) pentru îndrumări privind conformitatea și opțiuni de configurare.
368
+
369
+ Variabila de mediu `WHISPER_PRIVACY_MODE` este planificată și va limita toate răspunsurile instrumentelor doar la metadate (numele fișierului, durata, numărul de cuvinte) — niciun text de transcriere nu va fi returnat lui Claude. Aceasta este configurația corectă pentru conținut reglementat sau confidențial.
370
+
371
+ **Validarea intrărilor.** Toate căile de fișiere sunt validate înainte de utilizare — căile UNC (`\\server\share`) și secvențele de traversare a directoarelor (`..`) sunt respinse. Fișierele peste 10 GB sunt respinse pentru a preveni epuizarea resurselor.
372
+
373
+ **Conștientizarea injecției de transcriere.** Fișierele audio pot conține conținut vorbit care, atunci când este transcris, seamănă cu instrucțiuni. Apărările încorporate ale Claude gestionează acest lucru, dar merită să știi că serverul MCP în sine tratează conținutul de transcriere ca date — niciodată ca instrucțiuni.
374
+
375
+ **Descărcările de modele sunt restricționate.** Instrumentul `download_model` descarcă doar din două spații de nume Hugging Face de încredere (`ggerganov/whisper.cpp` și `ggml-org`). URL-urile arbitrare sunt respinse. Redirecționările sunt validate față de o listă de permise înainte de a fi urmate.
376
+
377
+ **Schimbarea modelelor este sandboxată.** `switch_model` acceptă doar fișiere `.bin` în directorul de modele configurat. Căile din afara acelui director sunt respinse.
378
+
379
+ **Fără dependențe noi de rețea.** Descărcările de modele folosesc `https`-ul integrat al Node.js — nicio bibliotecă HTTP externă nu este adăugată la pachet.
380
+
381
+ ---
382
+
383
+ ## Licență
384
+
385
+ **Utilizare non-comercială:** MIT — gratuit pentru uz personal, educațional și non-comercial. Vezi [LICENSE](LICENSE).
386
+
387
+ **Utilizare comercială:** Este necesar un acord de licență comercială separat pentru orice utilizare în afaceri, profesională sau generatoare de venituri. Vezi [LICENSE-COMMERCIAL.md](LICENSE-COMMERCIAL.md) pentru termeni și informații de contact.
388
+
389
+ ## Contribuții
390
+
391
+ Pull request-urile sunt binevenite. Vezi [ROADMAP.md](ROADMAP.md) pentru funcțiile planificate.
392
+
393
+ Dacă ai testat accelerarea GPU pe hardware nelistat mai sus, deschide un issue cu rezultatele — modelul GPU, VRAM, dimensiunea modelului și debitul observat.