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,369 @@
1
- # whisper-windows-mcp — Усунення несправностей
2
-
3
- ---
4
-
5
- ## Швидкий контрольний список
6
-
7
- Перед детальнішим розслідуванням перевірте все нижченаведене:
8
-
9
- - Шляхи в `claude_desktop_config.json` використовують **подвійний зворотній слеш** (`C:\\whisper\\...`)
10
- - `whisper-cli.exe` існує за шляхом, вказаним у `WHISPER_CLI_PATH`
11
- - Файл моделі `.bin` існує за шляхом, вказаним у `WHISPER_MODEL`
12
- - FFmpeg встановлено і доступно (`ffmpeg -version` працює в командному рядку)
13
- - Claude Desktop **повністю перезапущено** після редагування конфігурації (завершено з системного трея, а не просто закрито вікно)
14
- - Сервер whisper відображається як **запущено** (зелений значок) у Налаштуваннях → Розробник
15
-
16
- ---
17
-
18
- ## "whisper не підключено" або інструменти недоступні
19
-
20
- **Найпоширеніша причина:** Claude Desktop не було повністю перезапущено після редагування конфігурації.
21
-
22
- 1. Клацніть правою кнопкою миші на значку Claude в системному треї → Вийти
23
- 2. Повторно відкрийте Claude Desktop
24
- 3. Перейдіть до Налаштувань → Розробник і перевірте наявність зеленого значка **запущено** поруч з whisper
25
-
26
- Якщо все одно не відображається:
27
-
28
- 1. Відкрийте `claude_desktop_config.json` і перевірте синтаксичні помилки JSON (відсутні коми, незбалансовані дужки)
29
- 2. Переконайтеся, що всі шляхи використовують подвійний зворотній слеш
30
- 3. Виконайте `check_config` у Claude Desktop, щоб отримати діагностичну інформацію
31
-
32
- ---
33
-
34
- ## download_model завершується тайм-аутом для великих моделей
35
-
36
- Claude Desktop має 4-хвилинний тайм-аут для викликів інструментів MCP. Завантаження великих моделей на повільному з'єднанні може перевищити цей ліміт.
37
-
38
- **Розміри файлів:**
39
- - `large-v3` — 2.9 ГБ
40
- - `large-v3-turbo` — 1.6 ГБ
41
- - `large-v3-q5_0` — 1.1 ГБ
42
- - `large-v3-turbo-q5_0` — 547 МБ
43
- - `medium.en` — 1.5 ГБ
44
- - `medium.en-q5_0` — 514 МБ
45
-
46
- На швидкому з'єднанні (100 Мбіт/с і вище) навіть large-v3 завантажується менш ніж за 4 хвилини. На повільніших з'єднаннях використовуйте браузер або PowerShell для прямого завантаження і помістіть файл у теку моделей вручну:
47
-
48
- ```powershell
49
- # Приклад — пряме завантаження large-v3-turbo
50
- Invoke-WebRequest -Uri "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin" `
51
- -OutFile "C:\whisper\models\ggml-large-v3-turbo.bin"
52
- ```
53
-
54
- Потім активуйте через `switch_model ggml-large-v3-turbo.bin`.
55
-
56
- ---
57
-
58
- ## `check_config` повідомляє, що whisper-cli.exe не знайдено
59
-
60
- Шлях у конфігурації не збігається з фактичним розташуванням файлу.
61
-
62
- Перевірте наявність файлу:
63
- ```
64
- dir C:\whisper\Release\whisper-cli.exe
65
- ```
66
-
67
- Якщо він знаходиться в іншому місці, оновіть `WHISPER_CLI_PATH` у конфігурації відповідно до фактичного шляху.
68
-
69
- ---
70
-
71
- ## `check_config` повідомляє, що FFmpeg не знайдено
72
-
73
- FFmpeg не встановлено або його немає в системному PATH.
74
-
75
- Встановлення через winget:
76
- ```
77
- winget install ffmpeg
78
- ```
79
-
80
- Або завантажте з [ffmpeg.org](https://ffmpeg.org/download.html), розпакуйте і додайте теку `bin` до системного PATH.
81
-
82
- Після встановлення відкрийте новий командний рядок і перевірте:
83
- ```
84
- ffmpeg -version
85
- ```
86
-
87
- Якщо FFmpeg встановлено в нестандартному місці, задайте змінну середовища `FFMPEG_PATH` у конфігурації Claude Desktop:
88
- ```json
89
- "env": {
90
- "FFMPEG_PATH": "C:\\ffmpeg\\bin\\ffmpeg.exe"
91
- }
92
- ```
93
-
94
- ---
95
-
96
- ## Результат транскрипції заповнений тегами `[FOREIGN]`
97
-
98
- **Причина:** Ви використовуєте модель лише для англійської (наприклад `ggml-medium.en.bin`) для не-англійського аудіо. Моделі лише для англійської не можуть опрацьовувати інші мови і виводять `[FOREIGN]` як замінник для кожного сегмента, який не можуть обробити.
99
-
100
- **Виправлення:** Завантажте і використовуйте `ggml-large-v3.bin` — багатомовну модель. Вона необхідна для будь-якої не-англійської транскрипції, автовизначення мови або перекладу.
101
-
102
- ```
103
- https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
104
- ```
105
-
106
- Збережіть у `C:\whisper\models\` і оновіть конфігурацію:
107
- ```json
108
- "WHISPER_MODEL": "C:\\whisper\\models\\ggml-large-v3.bin"
109
- ```
110
-
111
- Або перевизначте для кожної транскрипції окремо за допомогою параметра `model` у `transcribe_audio` або `generate_subtitles`.
112
-
113
- > **Примітка:** Моделі лише для англійської (`*.en.bin`) швидші і точніші для англійського контенту, але абсолютно не можуть опрацьовувати інші мови. Якщо ви працюєте з багатомовним контентом, `large-v3` — правильна модель незалежно від апаратного забезпечення.
114
-
115
- ---
116
-
117
- ## Транскрипція не дає результату або порожній файл
118
-
119
- **Можливі причини:**
120
-
121
- 1. **Неправильна модель для мови** — Моделі лише для англійської (`*.en.bin`) не можуть транскрибувати інші мови. Використовуйте `ggml-large-v3.bin` для багатомовного контенту.
122
-
123
- 2. **Надто низька якість аудіо** — Файли з дуже низьким бітрейтом (наприклад, старі `.3gp` записи телефону з кодеком AMR-NB ~12 Кбіт/с) можуть бути на межі можливостей whisper. Шумні середовища (фоновий шум, луна, далекі доповідачі) також є проблематичними. Спробуйте `large-v3`, який краще справляється з деградованим аудіо.
124
-
125
- 3. **Файл тихий або пошкоджений** — Запустіть `analyze_media` для файлу, щоб перевірити, чи FFprobe виявляє дійсний аудіопотік.
126
-
127
- 4. **Помилка конвертування** — Файл може не конвертуватися у WAV правильно. Спробуйте конвертувати вручну:
128
- ```
129
- ffmpeg -i yourfile.3gp -ar 16000 -ac 1 output.wav
130
- ```
131
- Потім транскрибуйте WAV напряму.
132
-
133
- ---
134
-
135
- ## Фонове завдання не виконується для файлів з Unicode або спеціальними символами в назві
136
-
137
- **Причина:** whisper-cli.exe не може записати вихідний файл, коли шлях містить символи Unicode (українські, японські, китайські, емодзі, дужки тощо) або певні спеціальні символи.
138
-
139
- **Поточне обхідне рішення:** Перейменуйте файл, щоб використовувати лише ASCII-символи перед транскрипцією, а потім, якщо потрібно, перейменуйте назад.
140
-
141
- ```
142
- ren "назва_файлу.mp4" "temp_transcribe.mp4"
143
- ```
144
-
145
- **Статус:** Це відомий баг. Планується виправлення, яке буде спрямовувати вивід через санованный тимчасовий шлях і переміщати результат до правильного призначення після завершення.
146
-
147
- ---
148
-
149
- ## Фонове завдання показує "помилку" без результату
150
-
151
- **Можливі причини:**
152
-
153
- 1. **Ім'я файлу з Unicode** — Дивіться вище.
154
-
155
- 2. **Неправильний шлях до моделі** — Відокремлений процес не успадковує виправлені шляхи. Виконайте `check_config` для перевірки шляхів.
156
-
157
- 3. **Процес було примусово завершено** — Якщо whisper-cli.exe було вручну зупинено під час завдання, вихідного файлу не буде. Повторіть спробу.
158
-
159
- 4. **Недостатньо VRAM** — Великі моделі на GPU з малим VRAM можуть тихо зазнавати збоїв. Спробуйте меншу модель.
160
-
161
- 5. **Помилка конвертування файлу** — Спробуйте транскрибувати WAV-файл напряму, щоб з'ясувати, чи проблема у конвертуванні чи у транскрипції.
162
-
163
- ---
164
-
165
- ## Фонова транскрипція не створює вихідний SRT
166
-
167
- **Причина:** Фоновий режим (`background=true` у `transcribe_audio`) наразі виробляє лише `.txt`-вивід. Формат SRT у фоновому режимі ще не реалізовано.
168
-
169
- **Обхідне рішення:** Для файлів менше ~4 хвилин використовуйте `generate_subtitles` у блокувальному режимі. Для довших файлів спочатку транскрибуйте у фоновому режимі, щоб отримати `.txt`, а потім, якщо потрібен SRT, виконайте `generate_subtitles` для того самого файлу (буде транскрибовано знову).
170
-
171
- **Статус:** Підтримку SRT у фоновому режимі заплановано у майбутньому релізі.
172
-
173
- ---
174
-
175
- ## GPU не використовується (CPU постійно понад 50%)
176
-
177
- **Причина:** Ви запускаєте бінарник лише для CPU, що постачається зі стандартним релізом whisper.cpp.
178
-
179
- **Виправлення:** Завантажте збірку з підтримкою Vulkan зі [сторінки релізів](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) і розпакуйте в `C:\whisper\Release\`.
180
-
181
- Перевірте, чи активне прискорення GPU:
182
- - Попросіть Claude виконати `check_system`
183
- - Знайдіть `✅ Vulkan binary: ggml-vulkan.dll found` у виведенні
184
- - Спостерігайте за Диспетчером завдань → Продуктивність → GPU під час транскрипції — навантаження GPU має зрости до 15–30%
185
-
186
- ---
187
-
188
- ## `check_system` показує неправильний обсяг VRAM
189
-
190
- Це відоме обмеження Windows. Команда `wmic` зчитує VRAM з реєстру, і на багатьох картах AMD відображає половину фізичного VRAM. Vega 56 з 8 ГБ HBM2 зазвичай показуватиме 4 ГБ. Це лише проблема відображення — whisper використовує весь фізичний VRAM під час виводу.
191
-
192
- ---
193
-
194
- ## Помилка "Транскрипція вже виконується"
195
-
196
- Запущений процес `whisper-cli.exe` від попереднього завдання. Зачекайте його завершення або:
197
-
198
- 1. Відкрийте Диспетчер завдань → вкладка Відомості
199
- 2. Знайдіть `whisper-cli.exe`
200
- 3. Клацніть правою кнопкою миші → Завершити завдання
201
-
202
- Потім повторіть спробу.
203
-
204
- ---
205
-
206
- ## Автовизначення мови дає неправильний результат
207
-
208
- Автовизначення Whisper виконується за першими 30 секундами аудіо. Якщо файл починається іншою мовою, ніж більшість його вмісту, визначення може бути неправильним.
209
-
210
- **Виправлення:** Вкажіть мову явно (наприклад `language=uk`), а не покладайтеся на автовизначення.
211
-
212
- ---
213
-
214
- ## Створення субтитрів дає "(говорить іноземною мовою)" по всьому відео
215
-
216
- Whisper виявив мовлення, але не може транскрибувати. Найпоширеніші причини:
217
-
218
- 1. **Неправильна модель** — Використання моделі лише для англійської для не-англійського аудіо. Використовуйте `large-v3`.
219
-
220
- 2. **Якість аудіо** — Шумні середовища (кухні, натовп, луна) можуть бути складними для моделі medium. Спробуйте `large-v3`.
221
-
222
- 3. **Змішані мови** — Файли з двома мовами, що чергуються, матимуть меншоживану мову замінену заповнювачем при налаштуванні однієї мови.
223
-
224
- ---
225
-
226
- ## Переклад субтитрів дає лише англійський вивід
227
-
228
- Це навмисна поведінка. Вбудований прапорець `--translate` Whisper перекладає **лише на англійську**. Для перекладу на інші цільові мови опрацьовуйте вміст `.srt`-файлу окремо.
229
-
230
- ---
231
-
232
- ## Пакетна транскрипція зупинила просування
233
-
234
- Знову викличте `check_batch_progress`. Якщо все ще зависло:
235
-
236
- 1. Перевірте Диспетчер завдань на наявність запущеного процесу `whisper-cli.exe`
237
- 2. Перевірте журнали завдань у `%TEMP%\whisper-mcp-jobs\`
238
- 3. Файли зі збоями позначені у звіті пакету — запустіть їх окремо через `transcribe_audio`
239
-
240
- ---
241
-
242
- ## Очищення тимчасової теки завдань
243
-
244
- whisper-windows-mcp записує файли стану завдань і журнали до `%TEMP%\whisper-mcp-jobs\` під час транскрипції. Вони накопичуються з часом і можуть займати місце на диску, особливо файли `.log` від тривалих завдань транскрипції.
245
-
246
- Після завершення пакету або завдання і підтвердження вихідних транскрипцій ви можете безпечно видалити все в цій теці:
247
-
248
- ```powershell
249
- Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
250
- ```
251
-
252
- Теку буде автоматично відтворено під час наступної транскрипції. Жодні вихідні файли транскрипцій не зберігаються тут постійно — вони переміщуються до вихідної теки після завершення. Залишаються лише метадані завдань і журнали.
253
-
254
- **Примітка:** Не видаляйте цю теку під час виконання транскрипції — файли стану пакету необхідні для роботи `check_batch_progress`.
255
-
256
- ---
257
-
258
- ## Великий автономний пакет з командного рядка
259
-
260
- Для дуже великих пакетів, де ви хочете запустити нічну роботу без Claude, використовуйте PowerShell.
261
-
262
- **Важливо:** whisper-cli.exe не може безпосередньо читати MP4, MKV або більшість відеоформатів. FFmpeg повинен заздалегідь конвертувати кожен файл у WAV. whisper також записує транскрипцію у stdout, а діагностичний вивід — у stderr — використовуйте `Start-Process -RedirectStandardOutput` для правильного захоплення транскрипції. Використання pipe `|` або перенаправлення stderr через `2>$null` не захоплює нічого.
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
- Замініть `*.mp4` на `*.mkv`, `*.m4a` тощо відповідно до типів ваших файлів. Перевірка пропуску `Test-Path` означає, що повторний запуск скрипту після переривання не переопрацьовуватиме вже завершені файли.
290
-
291
- Це записує `.txt`-файли поруч з кожним джерелом. Інструменти MCP розпізнають їх як вже транскрибовані, коли ви потім виконаєте `analyze_media` або `start_batch`.
292
-
293
- ---
294
-
295
- ## Розташування файлу конфігурації
296
-
297
- ```
298
- C:\Users\ВашеІм'я\AppData\Roaming\Claude\claude_desktop_config.json
299
- ```
300
-
301
- Якщо `AppData` не відображається: Вигляд → Показати → Приховані елементи у Провіднику файлів.
302
-
303
- ---
304
-
305
- ## Повний робочий приклад конфігурації
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` типово має значення `ffmpeg` (передбачається наявність у PATH). Задавайте явно лише якщо FFmpeg встановлено в нестандартному місці.
1
+ # Усунення несправностей — whisper-windows-mcp
2
+
3
+ ---
4
+
5
+ ## Швидкий контрольний список
6
+
7
+ Перед детальнішим розслідуванням перевірте все нижченаведене:
8
+
9
+ - Шляхи в `claude_desktop_config.json` використовують **подвійний зворотній слеш** (`C:\\whisper\\...`)
10
+ - `whisper-cli.exe` існує за шляхом, вказаним у `WHISPER_CLI_PATH`
11
+ - Файл моделі `.bin` існує за шляхом, вказаним у `WHISPER_MODEL`
12
+ - FFmpeg встановлено і доступно (`ffmpeg -version` працює в командному рядку)
13
+ - Claude Desktop **повністю перезапущено** після редагування конфігурації (завершено з системного трея, а не просто закрито вікно)
14
+ - Сервер whisper відображається як **запущено** (зелений значок) у Налаштуваннях → Розробник
15
+
16
+ ---
17
+
18
+ ## Встановлення і запуск
19
+
20
+ ### Whisper не з'являється в Claude Desktop → Налаштування → Розробник
21
+
22
+ 1. Відкрийте Claude Desktop → Налаштування → Розробник → Редагувати конфігурацію
23
+ 2. Переконайтеся, що JSON є дійсним — вставте його на [jsonlint.com](https://jsonlint.com) у разі сумніву
24
+ 3. Переконайтеся, що `WHISPER_CLI_PATH` і `WHISPER_MODEL` вказують на файли, що фактично існують
25
+ 4. Завершіть Claude Desktop з системного трея (клацніть правою кнопкою миші на значку → Вийти)
26
+ 5. Перезапустіть Claude Desktop і перевірте знову
27
+
28
+ Якщо whisper з'являється, але показує значок помилки замість зеленого:
29
+ - Запитайте Claude: *"Перевір конфігурацію whisper"* — інструмент `check_config` повертає конкретне повідомлення про помилку
30
+ - Перевірте Claude Desktop → Налаштування → Розробник → клацніть на назві сервера для журналу помилок
31
+
32
+ ### Помилка "whisper-cli.exe не знайдено"
33
+
34
+ Шлях у `WHISPER_CLI_PATH` не збігається з місцем розташування бінарника.
35
+
36
+ Очікуваний шлях за замовчуванням: `C:\whisper\Release\whisper-cli.exe`
37
+
38
+ Перевірте наявність файлу:
39
+ ```powershell
40
+ Test-Path "C:\whisper\Release\whisper-cli.exe"
41
+ ```
42
+
43
+ Має повернути `True`. Якщо повертає `False`, або розпакуйте реліз у `C:\whisper\Release\`, або оновіть `WHISPER_CLI_PATH` у конфігурації відповідно до фактичного розташування.
44
+
45
+ ### Помилка "Модель не знайдена"
46
+
47
+ Шлях у `WHISPER_MODEL` не збігається з фактичним розташуванням або назвою файлу моделі.
48
+
49
+ Перевірте теку моделей:
50
+ ```powershell
51
+ Get-ChildItem "C:\whisper\models\"
52
+ ```
53
+
54
+ Назва файлу має включати повну назву разом із суфіксом квантизації, наприклад `ggml-large-v3-turbo-q5_0.bin`, а не `ggml-large-v3-turbo.bin`. Якщо моделі не встановлено, використовуйте `download_model` у Claude Desktop.
55
+
56
+ ---
57
+
58
+ ## Прискорення GPU
59
+
60
+ ### Транскрипція повільна — лише CPU, без GPU
61
+
62
+ Запитайте Claude: *"Перевір апаратне забезпечення системи"*
63
+
64
+ Інструмент `check_system` підтверджує наявність `ggml-vulkan.dll` у теці бінарника whisper. Якщо DLL відсутній, ви працюєте лише на CPU незалежно від вашого GPU.
65
+
66
+ **Виправлення:** Завантажте `whisper-vulkan-win-x64.zip` зі [сторінки релізів](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) і розпакуйте в `C:\whisper\Release\`. Zip містить DLL — вона має знаходитися в тій самій теці, що і `whisper-cli.exe`.
67
+
68
+ ### GPU визначено, але навантаження 0% під час транскрипції
69
+
70
+ Бінарник запущено, але не відправляє задачі на GPU. Зазвичай це означає:
71
+ - Vulkan SDK не встановлено або драйвер GPU не надає інтерфейс Vulkan
72
+ - GPU є старішим за Vulkan 1.0 (рідко — більшість GPU після 2016 року підтримують його)
73
+
74
+ Перевірте підтримку Vulkan:
75
+ ```powershell
76
+ vulkaninfo
77
+ ```
78
+
79
+ Будь-який вивід підтверджує доступність Vulkan. Якщо `vulkaninfo` не працює, встановіть останній драйвер GPU з сайту виробника.
80
+
81
+ ### VRAM відображається як половина фактичного розміру (AMD)
82
+
83
+ Це відомий нюанс відображення Windows для GPU AMD з об'єднаною/спільною пам'яттю. Фактичний доступний VRAM для опрацювання зазвичай вдвічі більший за те, що повідомляє `wmic`. Рекомендація моделі може бути надмірно консервативною — ви можете спробувати більшу модель, ніж рекомендовано.
84
+
85
+ ---
86
+
87
+ ## Якість транскрипції
88
+
89
+ ### Вивід містить галюцинований текст або повторювані фрази
90
+
91
+ Whisper іноді галюцинує на тихих або низькоякісних аудіосегментах. Інструмент за замовчуванням застосовує `--max-context 0` і `--no-speech-thold 0.6` для мінімізації цього.
92
+
93
+ Додаткові підходи:
94
+ - Використовуйте `temperature=0.2` — невелика випадковість допомагає розірвати цикли галюцинацій на шумному аудіо
95
+ - Використовуйте модель VAD: завантажте файл `.bin` моделі Silero VAD і передайте його шлях як `vad_model`. Це видаляє тишу перед транскрипцією — найефективніше виправлення для галюцинацій на записах з паузами.
96
+ - Використовуйте більшу модель (`large-v3` або `large-v3-turbo`) — менші моделі галюцинують більше на складному аудіо
97
+ - Використовуйте `prompt` для встановлення контексту: *"Це інтерв'ю подкасту про розробку програмного забезпечення."*
98
+
99
+ ### Вивід транскрипції порожній або дуже короткий
100
+
101
+ Запитайте Claude: *"Проаналізуй цей файл"* (`analyze_media`), щоб підтвердити наявність аудіовмісту і розпізнаний формат.
102
+
103
+ Якщо FFprobe повідомляє про аудіо, але транскрипція нічого не виробляє:
104
+ - Файл може бути мовою, що не збігається з налаштованим параметром `language`
105
+ - Спробуйте `language=auto`, щоб Whisper визначив мову
106
+ - Аудіо може бути надто тихим або сильно обробленим — для транскрипції потрібна розбірлива мова
107
+
108
+ ---
109
+
110
+ ## Режим конфіденційності і ворота згоди
111
+
112
+ ### Я не бачу запиту на згоду перед транскрипцією
113
+
114
+ Ворота згоди спрацьовують **один раз за сеанс** у стандартному режимі. Якщо ви вже підтвердили транскрипцію в цьому сеансі (після останнього перезапуску Claude Desktop), вони не спрацюють знову.
115
+
116
+ Інші причини, чому ворота можуть не з'явитися:
117
+ - `WHISPER_CONSENT_ACKNOWLEDGED=true` встановлено у вашій конфігурації — це повністю пригнічує ворота
118
+ - `WHISPER_PRIVACY_MODE=true` встановлено — режим конфіденційності використовує власні окремі ворота для кожної операції
119
+ - Ви перевіряєте прогрес блокувальної транскрипції, яка вже завершилась — ворота були використані на початку завдання
120
+
121
+ **Щоб скинути і знову побачити ворота:** повністю перезапустіть Claude Desktop (завершіть з системного трея, перезапустіть).
122
+
123
+ ### Claude опрацьовує мій файл без запиту
124
+
125
+ Якщо `WHISPER_CONSENT_ACKNOWLEDGED=true` є у вашій конфігурації, ворота пригнічені навмисно. Це передбачена поведінка для користувачів, які ознайомилися з наслідками для конфіденційності.
126
+
127
+ Якщо це не встановлено і Claude продовжив без запиту, ворота сеансу вже були використані попередньою транскрипцією в цьому сеансі. Ворота спрацьовують один раз за сеанс.
128
+
129
+ Для підтвердження перед кожною транскрипцією незалежно від стану сеансу увімкніть режим конфіденційності: передайте `privacy_mode=true` або встановіть `WHISPER_PRIVACY_MODE=true` у конфігурації.
130
+
131
+ ### Режим конфіденційності активний, але я хочу прочитати одну транскрипцію
132
+
133
+ Передайте `privacy_mode=false` безпосередньо інструменту транскрипції для цього конкретного виклику. Це перевизначає глобальне налаштування `WHISPER_PRIVACY_MODE=true` лише для одного виклику:
134
+
135
+ - *"Транскрибуй цей файл, privacy_mode=false"*
136
+
137
+ Перезапуск не потрібен. Перевизначення застосовується лише до цього одного виклику інструменту.
138
+
139
+ ### Режим конфіденційності запитує підтвердження перед кожним файлом
140
+
141
+ Це правильна і навмисна поведінка. Режим конфіденційності вимагає згоди перед кожною операцією — ворота спрацьовують перед кожною транскрипцією і не можуть бути обійдені, поки режим конфіденційності активний.
142
+
143
+ Якщо вам потрібно транскрибувати багато файлів без підтвердження для кожного і контент не є чутливим, вимкніть режим конфіденційності:
144
+ - Видаліть `WHISPER_PRIVACY_MODE=true` з конфігурації і перезапустіть Claude Desktop
145
+ - Або передайте `privacy_mode=false` для конкретних нечутливих файлів
146
+
147
+ ### Фонові завдання і ворота згоди
148
+
149
+ Для фонової транскрипції (`background=true`) у стандартному режимі ворота згоди спрацьовують при `check_progress`, коли повертається транскрипція — **не** при `transcribe_audio`, коли завдання запускається. На момент запуску завдання текст транскрипції ще не існує. Ворота спрацьовують у момент, коли текст транскрипції вперше повертається до API.
150
+
151
+ Для фонових завдань у режимі конфіденційності ворота спрацьовують **перед запуском** — до початку будь-якого аудіоопрацювання.
152
+
153
+ ### Як назавжди пропустити ворота згоди?
154
+
155
+ Встановіть `WHISPER_CONSENT_ACKNOWLEDGED=true` у розділі env файлу `claude_desktop_config.json`. Це пригнічує одноразове розкриття сеансу у стандартному режимі.
156
+
157
+ Примітка: не має ефекту, коли режим конфіденційності активний.
158
+
159
+ ---
160
+
161
+ ## Фонова транскрипція і пакет
162
+
163
+ ### Фонове завдання ніколи не показується як завершене
164
+
165
+ Стан завдання відстежується за виходом процесу whisper-cli.exe. Перевірте:
166
+
167
+ 1. Запитайте Claude: *"Перевір прогрес job_id"* — якщо процес ще виконується, інструмент повертає "В процесі" з минулим часом і останньою міткою часу сегмента
168
+ 2. Якщо файл дуже довгий (2+ години), дайте більше часу — транскрипція GPU 2-годинного файлу займає приблизно 15–20 хвилин на середньому GPU
169
+ 3. Якщо минулий час здається неправильним, відкрийте Диспетчер завдань → Деталі і перевірте наявність `whisper-cli.exe` у списку
170
+
171
+ ### Фонове завдання завершено, але вихідний файл відсутній або знаходиться не там
172
+
173
+ Фонові завдання записують вивід до тимчасового шляху в `%TEMP%\whisper-mcp-jobs\` під час опрацювання, а потім переміщують файл до вихідної теки після завершення. Якщо переміщення не вдається (диск повний, проблема з правами доступу або довжиною шляху), `check_progress` повертає конкретну помилку.
174
+
175
+ Перевірте:
176
+ - Вихідна тека існує і доступна для запису
177
+ - Достатньо місця на диску
178
+ - Цільовий шлях не надто довгий (Windows за замовчуванням має обмеження шляху в 260 символів)
179
+
180
+ Необроблений вивід може залишатися в `%TEMP%\whisper-mcp-jobs\` з іменем файлу на основі ID завдання.
181
+
182
+ ### Пакет застряг або не переходить до наступного файлу
183
+
184
+ `start_batch` використовує зворотній виклик виходу для самостійного просування без опитування. Якщо пакет здається застряглим:
185
+
186
+ 1. Викличте `check_batch_progress` — це примусово перевіряє прогрес і повторно оцінює поточний стан
187
+ 2. Якщо поточний файл ще виконується, зачекайте його завершення — перевірте Диспетчер завдань на наявність `whisper-cli.exe`
188
+ 3. Якщо `check_batch_progress` показує поточний файл як невдалий, він спробує перейти до наступного
189
+
190
+ ### Пакет повідомляє файл як "невдалий", хоча він виглядає завершеним
191
+
192
+ Валідатор перевіряє, що вихідний файл не порожній і має принаймні один рядок на кожні 30 секунд аудіо. Короткі файли або записи з довгими тихими секціями можуть виробляти вивід, який валідатор вважає підозріло коротким.
193
+
194
+ Якщо транскрипція виглядає правильно при відкритті:
195
+ - Валідація є надмірно консервативною для цього файлу
196
+ - Повторно запустіть через `transcribe_audio` окремо і перевірте результат вручну
197
+
198
+ ---
199
+
200
+ ## Генерація субтитрів
201
+
202
+ ### SRT-файл збережено, але з неправильною назвою або не там
203
+
204
+ SRT і VTT файли зберігаються поруч із вихідним файлом з доданим кодом мови, якщо мова джерела не англійська:
205
+ - Англійське джерело: `назвафайлу.srt`
206
+ - Українське джерело: `назвафайлу.uk.srt`
207
+ - З перекладом англійською: `назвафайлу.uk.srt` + `назвафайлу.en.srt`
208
+
209
+ ### VTT-вивід для веб — як завантажити у десктопний плеєр?
210
+
211
+ VLC підтримує VTT через Субтитри → Додати файл субтитрів → вибрати `.vtt` файл. Більшість інших десктопних плеєрів краще підтримують SRT, ніж VTT. Використовуйте `output_format=srt` для максимальної сумісності з десктопними плеєрами.
212
+
213
+ VTT найкраще підходить для елементів HTML5 `<video>` і веб-відеоплеєрів.
214
+
215
+ ### LRC-файли не відображаються у медіаплеєрі
216
+
217
+ LRC (`.lrc`) файли призначені для плеєрів з функціями відображення текстів/караоке: foobar2000, Winamp, AIMP та різні мобільні плеєри. Стандартні відеоплеєри не відображають LRC. Якщо вам потрібні синхронізовані субтитри для відео, використовуйте `srt` або `vtt`.
218
+
219
+ ### CSV-вивід — який формат?
220
+
221
+ CSV-вивід включає час початку сегмента, час закінчення і текст у кожному рядку. Призначений для імпорту в табличні інструменти або скрипти аналізу нижнього рівня. Використовуйте `srt` або `vtt` для фактичного відображення субтитрів.
222
+
223
+ ### Генерація субтитрів завершується тайм-аутом з помилкою 4 хвилини
224
+
225
+ `generate_subtitles` за замовчуванням виконується синхронно і може досягти 4-хвилинного тайм-ауту MCP Claude Desktop на довгих файлах. Використовуйте `background=true` для файлів понад 10 хвилин:
226
+
227
+ - *"Створи субтитри для цього файлу, background=true"*
228
+
229
+ Потім перевіряйте прогрес через `check_progress`. Примітка: `translate_to_english=true` недоступно у фоновому режимі. Виконайте другий прохід після завершення фонового завдання для генерації перекладу.
230
+
231
+ ---
232
+
233
+ ## Управління моделями
234
+
235
+ ### `download_model` завершується мережевою помилкою
236
+
237
+ Інструмент завантажує з Hugging Face. Переконайтеся, що ваш комп'ютер має доступ до інтернету і `huggingface.co` не заблоковано брандмауером або проксі.
238
+
239
+ Якщо завантаження починається, але переривається, файл `.part` видаляється автоматично. Повторно запустіть `download_model` для повторної спроби.
240
+
241
+ ### `switch_model` повідомляє, що модель не знаходиться в теці моделей
242
+
243
+ Інструмент `switch_model` приймає лише файли в теці, налаштованій у `WHISPER_MODEL` (зокрема, тека, що містить цей файл).
244
+
245
+ Якщо ваша модель знаходиться в іншому місці, або перемістіть її до теки моделей, або оновіть `WHISPER_MODEL` у конфігурації, щоб вказати на файл у тій самій теці, що і ваші моделі.
246
+
247
+ ### Активна модель повертається до моделі з конфігурації після перезапуску Claude Desktop
248
+
249
+ `switch_model` є сеансовим за дизайном. Щоб зробити перемикання моделі постійним, оновіть `WHISPER_MODEL` у `claude_desktop_config.json` і перезапустіть Claude Desktop.
250
+
251
+ ---
252
+
253
+ ## Шляхи до файлів і формати
254
+
255
+ ### Імена файлів Unicode спричиняють тихе невдале виконання транскрипції
256
+
257
+ Фонова транскрипція спрямовує весь вивід через санований ASCII-шлях на основі ID завдання, що правильно обробляє імена файлів Unicode. Якщо ви бачите збій з іменем файлу Unicode у блокувальному режимі, перевірте доступність файлу:
258
+
259
+ ```powershell
260
+ Test-Path "C:\Users\ВашеІм'я\Documents\запис_наради.mp4"
261
+ ```
262
+
263
+ Має повернути `True`. Якщо шлях недоступний для PowerShell, він також буде недоступний для MCP-сервера.
264
+
265
+ ### Відеофайл не виробляє вивід або негайна помилка
266
+
267
+ FFmpeg потрібен для всіх відеоформатів. Переконайтеся, що FFmpeg встановлено:
268
+ ```
269
+ ffmpeg -version
270
+ ```
271
+
272
+ Якщо FFmpeg не в PATH, встановіть `FFMPEG_PATH` у конфігурації на повний шлях до `ffmpeg.exe`.
273
+
274
+ Якщо FFmpeg встановлено, але конкретне відео не вдається, це може бути пошкоджений файл або незвичайний варіант кодека. Спробуйте конвертувати вручну:
275
+ ```
276
+ ffmpeg -i input.mp4 -ar 16000 -ac 1 output.wav
277
+ ```
278
+ Потім транскрибуйте WAV-файл безпосередньо.
279
+
280
+ ### Помилка "Файл надто великий"
281
+
282
+ Інструмент відхиляє файли понад 10 ГБ. Це обмеження безпеки для запобігання надмірному використанню пам'яті. Файли, що наближаються до цього розміру, слід розділити перед транскрипцією.
283
+
284
+ ### Відхилення UNC-шляху
285
+
286
+ Шляхи, що починаються з `\\server\share` (UNC-шляхи до мережевих ресурсів), відхиляються валідатором вхідних даних. Підключіть мережевий ресурс як літеру диска (наприклад `Z:\`) і використовуйте цей шлях.
287
+
288
+ ---
289
+
290
+ ## Очищення тимчасових файлів
291
+
292
+ Файли стану завдань (`.json` і `.log`) у `%TEMP%\whisper-mcp-jobs\` автоматично очищуються при запуску для файлів старших 7 днів. При необхідності можна виконати ручне очищення:
293
+
294
+ ```powershell
295
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Force
296
+ ```
297
+
298
+ Тимчасові WAV-файли конвертування (`whisper_tmp_*.wav` у `%TEMP%`) видаляються одразу після завершення кожної транскрипції. Якщо транскрипція аварійно завершилась, вони можуть залишитися. Видаліть їх вручну:
299
+
300
+ ```powershell
301
+ Remove-Item "$env:TEMP\whisper_tmp_*.wav" -Force
302
+ ```
303
+
304
+ ---
305
+
306
+ ## Великий автономний пакет з командного рядка
307
+
308
+ Для дуже великих пакетів без Claude використовуйте PowerShell безпосередньо.
309
+
310
+ **Важливо:** whisper-cli.exe не може безпосередньо читати MP4, MKV або більшість відеоформатів. FFmpeg має попередньо конвертувати кожен файл у WAV. Whisper записує транскрипцію у stdout, а діагностику у stderr — використовуйте `Start-Process -RedirectStandardOutput` для правильного захоплення.
311
+
312
+ ```powershell
313
+ $whisper = "C:\whisper\Release\whisper-cli.exe"
314
+ $model = "C:\whisper\models\ggml-medium.en.bin"
315
+ $dir = "C:\шлях\до\вашої\теки"
316
+ $ffmpeg = "ffmpeg"
317
+ $tmp = "$env:TEMP\whisper_convert.wav"
318
+
319
+ Get-ChildItem "$dir\*.mp4" | ForEach-Object {
320
+ $out = ($_.FullName -replace '\.mp4$', '') + ".txt"
321
+ if (Test-Path $out) {
322
+ Write-Host "ПРОПУСК (існує): $($_.Name)"
323
+ return
324
+ }
325
+ Write-Host "Конвертування: $($_.Name)"
326
+ & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
327
+ Write-Host "Транскрипція: $($_.Name)"
328
+ $wArgs = "-m `"$model`" -f `"$tmp`" --threads 8 --max-context 0 --no-speech-thold 0.6"
329
+ Start-Process -FilePath $whisper -ArgumentList $wArgs -RedirectStandardOutput $out -Wait -NoNewWindow
330
+ Write-Host "Готово: $($_.BaseName).txt"
331
+ }
332
+
333
+ Remove-Item $tmp -ErrorAction SilentlyContinue
334
+ Write-Host "Все готово."
335
+ ```
336
+
337
+ Замініть `*.mp4` на `*.mkv`, `*.m4a` тощо відповідно до типів ваших файлів. Перевірка пропуску `Test-Path` означає, що повторний запуск скрипту після переривання не переопрацьовуватиме вже завершені файли.
338
+
339
+ ---
340
+
341
+ ## Розташування файлу конфігурації
342
+
343
+ ```
344
+ C:\Users\ВашеІм'я\AppData\Roaming\Claude\claude_desktop_config.json
345
+ ```
346
+
347
+ Якщо `AppData` не відображається: Вигляд → Показати → Приховані елементи у Провіднику файлів.
348
+
349
+ ---
350
+
351
+ ## Повний робочий приклад конфігурації
352
+
353
+ ```json
354
+ {
355
+ "mcpServers": {
356
+ "whisper": {
357
+ "command": "npx",
358
+ "args": ["-y", "whisper-windows-mcp"],
359
+ "env": {
360
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
361
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin",
362
+ "FFMPEG_PATH": "ffmpeg"
363
+ }
364
+ }
365
+ }
366
+ }
367
+ ```
368
+
369
+ `FFMPEG_PATH` типово має значення `ffmpeg` (передбачається наявність у PATH). Задавайте явно лише якщо FFmpeg встановлено в нестандартному місці.