whisper-windows-mcp 2.2.0 → 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.
Files changed (52) hide show
  1. package/LICENSE +20 -1
  2. package/LICENSE-COMMERCIAL.md +58 -0
  3. package/PRIVACY.es.md +135 -0
  4. package/PRIVACY.id.md +135 -0
  5. package/PRIVACY.ja.md +135 -0
  6. package/PRIVACY.ko.md +135 -0
  7. package/PRIVACY.md +135 -0
  8. package/PRIVACY.pl.md +135 -0
  9. package/PRIVACY.pt-BR.md +135 -0
  10. package/PRIVACY.ro.md +135 -0
  11. package/PRIVACY.uk.md +135 -0
  12. package/PRIVACY.vi.md +135 -0
  13. package/README.es.md +393 -0
  14. package/README.id.md +393 -0
  15. package/README.ja.md +402 -397
  16. package/README.ko.md +393 -0
  17. package/README.md +393 -388
  18. package/README.pl.md +393 -0
  19. package/README.pt-BR.md +393 -0
  20. package/README.ro.md +393 -0
  21. package/README.uk.md +393 -0
  22. package/README.vi.md +393 -0
  23. package/ROADMAP.es.md +200 -0
  24. package/ROADMAP.id.md +289 -0
  25. package/ROADMAP.ja.md +301 -268
  26. package/ROADMAP.ko.md +286 -0
  27. package/ROADMAP.pl.md +198 -0
  28. package/ROADMAP.pt-BR.md +286 -0
  29. package/ROADMAP.ro.md +200 -0
  30. package/ROADMAP.uk.md +290 -0
  31. package/ROADMAP.vi.md +286 -0
  32. package/SECURITY.es.md +47 -0
  33. package/SECURITY.id.md +47 -0
  34. package/SECURITY.ja.md +47 -0
  35. package/SECURITY.ko.md +47 -0
  36. package/SECURITY.md +14 -2
  37. package/SECURITY.pl.md +47 -0
  38. package/SECURITY.pt-BR.md +47 -0
  39. package/SECURITY.ro.md +47 -0
  40. package/SECURITY.uk.md +47 -0
  41. package/SECURITY.vi.md +47 -0
  42. package/TROUBLESHOOTING.es.md +323 -0
  43. package/TROUBLESHOOTING.id.md +323 -0
  44. package/TROUBLESHOOTING.ko.md +323 -0
  45. package/TROUBLESHOOTING.pl.md +323 -0
  46. package/TROUBLESHOOTING.pt-BR.md +323 -0
  47. package/TROUBLESHOOTING.ro.md +323 -0
  48. package/TROUBLESHOOTING.uk.md +323 -0
  49. package/TROUBLESHOOTING.vi.md +323 -0
  50. package/glama.json +6 -0
  51. package/package.json +10 -3
  52. package/patch_roadmaps.py +72 -0
@@ -0,0 +1,323 @@
1
+ # whisper-windows-mcp — Solución de Problemas
2
+
3
+ ---
4
+
5
+ ## Lista de verificación rápida
6
+
7
+ Antes de investigar más a fondo, verifica todos los siguientes puntos:
8
+
9
+ - Las rutas en `claude_desktop_config.json` usan **barras invertidas dobles** (`C:\\whisper\\...`)
10
+ - `whisper-cli.exe` existe en la ruta especificada en `WHISPER_CLI_PATH`
11
+ - El archivo de modelo `.bin` existe en la ruta especificada en `WHISPER_MODEL`
12
+ - FFmpeg está instalado y accesible (`ffmpeg -version` funciona en el símbolo del sistema)
13
+ - Claude Desktop fue **completamente reiniciado** tras editar la configuración (saliendo desde la bandeja del sistema, no solo cerrando la ventana)
14
+ - El servidor whisper aparece como **en ejecución** (insignia verde) en Configuración → Desarrollador
15
+
16
+ ---
17
+
18
+ ## "whisper no está conectado" o no hay herramientas disponibles
19
+
20
+ **Causa más común:** Claude Desktop no fue completamente reiniciado tras editar la configuración.
21
+
22
+ 1. Clic derecho en el ícono de Claude en la bandeja del sistema → Salir
23
+ 2. Vuelve a abrir Claude Desktop
24
+ 3. Ve a Configuración → Desarrollador y verifica la insignia verde **en ejecución** junto a whisper
25
+
26
+ Si sigue sin aparecer:
27
+
28
+ 1. Abre `claude_desktop_config.json` y verifica errores de sintaxis JSON (comas faltantes, llaves no coincidentes)
29
+ 2. Asegúrate de que todas las rutas usen barras invertidas dobles
30
+ 3. Ejecuta `check_config` en Claude Desktop para obtener un diagnóstico
31
+
32
+ ---
33
+
34
+ ## download_model alcanza timeout en modelos grandes
35
+
36
+ Claude Desktop tiene un timeout de 4 minutos en las llamadas a herramientas MCP. Las descargas de modelos grandes en conexiones lentas pueden exceder este límite.
37
+
38
+ **Tamaños de archivo:**
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
+ En una conexión rápida (100 Mbps+), incluso large-v3 termina en menos de 4 minutos. En conexiones más lentas, usa un navegador o PowerShell para descargar directamente y coloca el archivo en tu directorio de modelos manualmente:
47
+
48
+ ```powershell
49
+ # Ejemplo — descargar large-v3-turbo directamente
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
+ Luego usa `switch_model ggml-large-v3-turbo.bin` para activarlo.
55
+
56
+ ---
57
+
58
+ ## `check_config` reporta que whisper-cli.exe no fue encontrado
59
+
60
+ La ruta en tu configuración no coincide con la ubicación real del archivo.
61
+
62
+ Verifica que el archivo existe:
63
+ ```
64
+ dir C:\whisper\Release\whisper-cli.exe
65
+ ```
66
+
67
+ Si está en otro lugar, actualiza `WHISPER_CLI_PATH` en tu configuración para que coincida con la ruta real.
68
+
69
+ ---
70
+
71
+ ## `check_config` reporta que FFmpeg no fue encontrado
72
+
73
+ FFmpeg no está instalado o no está en el PATH del sistema.
74
+
75
+ Instala via winget:
76
+ ```
77
+ winget install ffmpeg
78
+ ```
79
+
80
+ O descarga desde [ffmpeg.org](https://ffmpeg.org/download.html), extrae y agrega la carpeta `bin` al PATH del sistema.
81
+
82
+ Tras instalar, abre un nuevo símbolo del sistema y verifica:
83
+ ```
84
+ ffmpeg -version
85
+ ```
86
+
87
+ Si instalaste FFmpeg en una ubicación no estándar, establece la variable de entorno `FFMPEG_PATH` en tu configuración de Claude Desktop:
88
+ ```json
89
+ "env": {
90
+ "FFMPEG_PATH": "C:\\ffmpeg\\bin\\ffmpeg.exe"
91
+ }
92
+ ```
93
+
94
+ ---
95
+
96
+ ## La salida de transcripción está llena de etiquetas `[FOREIGN]`
97
+
98
+ **Causa:** Estás usando un modelo solo inglés (ej.: `ggml-medium.en.bin`) en audio que no es inglés. Los modelos solo inglés no pueden procesar otros idiomas y generan `[FOREIGN]` como marcador para cada segmento que no pueden manejar.
99
+
100
+ **Solución:** Descarga y usa `ggml-large-v3.bin` — el modelo multilingüe. Esto es necesario para cualquier transcripción que no sea inglés, detección automática de idioma o traducción.
101
+
102
+ ```
103
+ https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
104
+ ```
105
+
106
+ Guarda en `C:\whisper\models\` y actualiza tu configuración:
107
+ ```json
108
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-large-v3.bin"
109
+ ```
110
+
111
+ O anula por transcripción usando el parámetro `model` en `transcribe_audio` o `generate_subtitles`.
112
+
113
+ > **Nota:** Los modelos solo inglés (`*.en.bin`) son más rápidos y precisos para contenido en inglés, pero son completamente incapaces de manejar otros idiomas. Si trabajas con contenido multilingüe, `large-v3` es el modelo correcto independientemente del hardware.
114
+
115
+ ---
116
+
117
+ ## La transcripción no produce salida o el archivo está vacío
118
+
119
+ **Posibles causas:**
120
+
121
+ 1. **Modelo incorrecto para el idioma** — Los modelos solo inglés (`*.en.bin`) no pueden transcribir otros idiomas. Usa `ggml-large-v3.bin` para contenido multilingüe.
122
+
123
+ 2. **Calidad de audio muy baja** — Los archivos con tasa de bits muy baja (ej.: grabaciones antiguas de celular `.3gp` usando códec AMR-NB a ~12kbps) pueden estar en el límite de lo que whisper puede procesar. Los entornos ruidosos (ruido de fondo, eco, hablantes distantes) también son desafiantes. Prueba `large-v3`, que maneja mejor el audio degradado.
124
+
125
+ 3. **Archivo silencioso o corrupto** — Ejecuta `analyze_media` en el archivo para verificar si FFprobe detecta un flujo de audio válido.
126
+
127
+ 4. **Fallo en la conversión** — El archivo puede no estar convirtiéndose a WAV correctamente. Intenta convertir manualmente primero:
128
+ ```
129
+ ffmpeg -i yourfile.3gp -ar 16000 -ac 1 output.wav
130
+ ```
131
+ Luego transcribe el WAV directamente.
132
+
133
+ ---
134
+
135
+ ## La tarea en segundo plano falla en archivos con caracteres especiales o Unicode en el nombre
136
+
137
+ **Causa:** whisper-cli.exe no puede escribir el archivo de salida cuando la ruta contiene caracteres Unicode (español, japonés, chino, emoji, corchetes, etc.) o ciertos caracteres especiales.
138
+
139
+ **Solución alternativa actual:** Renombra el archivo para usar solo caracteres ASCII antes de transcribir, luego renombra de vuelta si es necesario.
140
+
141
+ ```
142
+ ren "archivo_español.mp4" "temp_transcribe.mp4"
143
+ ```
144
+
145
+ **Estado:** Este es un bug conocido. Hay una corrección planificada que enrutará la salida a través de una ruta temporal saneada y moverá el resultado al destino correcto tras completarse.
146
+
147
+ ---
148
+
149
+ ## La tarea en segundo plano muestra "fallo" sin salida
150
+
151
+ **Posibles causas:**
152
+
153
+ 1. **Nombre de archivo Unicode** — Ver arriba.
154
+
155
+ 2. **Ruta del modelo incorrecta** — El proceso separado no hereda las rutas corregidas. Ejecuta `check_config` para verificar las rutas.
156
+
157
+ 3. **Proceso fue terminado** — Si whisper-cli.exe fue terminado manualmente a mitad de una tarea, no existirá ningún archivo de salida. Vuelve a intentarlo.
158
+
159
+ 4. **VRAM insuficiente** — Los modelos grandes en GPUs con poca VRAM pueden fallar silenciosamente. Prueba un modelo más pequeño.
160
+
161
+ 5. **Fallo en la conversión del archivo** — Intenta transcribir un archivo WAV directamente para aislar si el problema está en la conversión o en la transcripción.
162
+
163
+ ---
164
+
165
+ ## La transcripción en segundo plano no produce salida SRT
166
+
167
+ **Causa:** El modo en segundo plano (`background=true` en `transcribe_audio`) actualmente solo produce salida `.txt`. El formato SRT en modo en segundo plano aún no ha sido implementado.
168
+
169
+ **Solución alternativa:** Para archivos de menos de ~4 minutos, usa `generate_subtitles` en modo de bloqueo. Para archivos más largos, transcribe primero en modo en segundo plano para obtener el `.txt`, luego si necesitas el SRT, usa `generate_subtitles` en el mismo archivo (volverá a transcribir).
170
+
171
+ **Estado:** El soporte de SRT en modo en segundo plano está planificado para un release futuro.
172
+
173
+ ---
174
+
175
+ ## La GPU no está siendo usada (CPU atascada por encima del 50%)
176
+
177
+ **Causa:** Estás ejecutando el binario solo CPU que viene con el release estándar de whisper.cpp.
178
+
179
+ **Solución:** Descarga la build con Vulkan activado desde la [página de releases](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) y extrae en `C:\whisper\Release\`.
180
+
181
+ Verifica que la aceleración GPU está activa:
182
+ - Pide a Claude ejecutar `check_system`
183
+ - Busca `✅ Vulkan binary: ggml-vulkan.dll found` en la salida
184
+ - Observa el Administrador de Tareas → Rendimiento → GPU durante una transcripción — la utilización de GPU debería subir al 15–30%
185
+
186
+ ---
187
+
188
+ ## `check_system` reporta cantidad de VRAM incorrecta
189
+
190
+ Esta es una limitación conocida de Windows. El comando `wmic` lee la VRAM del registro, que en muchas tarjetas AMD reporta la mitad de la VRAM física. Una Vega 56 con 8GB HBM2 típicamente mostrará 4GB. Esto es solo un problema de visualización — whisper usa toda la VRAM física durante la inferencia.
191
+
192
+ ---
193
+
194
+ ## Error "Transcripción ya en progreso"
195
+
196
+ Hay un proceso `whisper-cli.exe` ejecutándose de una tarea anterior. Espera a que termine, o:
197
+
198
+ 1. Abre el Administrador de Tareas → pestaña Detalles
199
+ 2. Encuentra `whisper-cli.exe`
200
+ 3. Clic derecho → Finalizar tarea
201
+
202
+ Luego vuelve a intentarlo.
203
+
204
+ ---
205
+
206
+ ## La detección automática de idioma es incorrecta
207
+
208
+ La detección automática de Whisper se ejecuta en los primeros 30 segundos del audio. Si el archivo comienza en un idioma diferente al de la mayoría de su contenido, la detección puede ser incorrecta.
209
+
210
+ **Solución:** Especifica el idioma explícitamente (ej.: `language=es`) en lugar de depender de la detección automática.
211
+
212
+ ---
213
+
214
+ ## La generación de subtítulos produce "(hablando en idioma extranjero)" en todo el video
215
+
216
+ Whisper detectó habla pero no pudo transcribir. Causas más comunes:
217
+
218
+ 1. **Modelo incorrecto** — Usando un modelo solo inglés en audio que no es inglés. Usa `large-v3`.
219
+
220
+ 2. **Calidad de audio** — Los entornos ruidosos (cocinas, multitudes, eco) pueden superar al modelo medium. Prueba `large-v3`.
221
+
222
+ 3. **Idioma mixto** — Los archivos con dos idiomas alternando tendrán el idioma minoritario reemplazado por marcadores con una configuración de idioma único.
223
+
224
+ ---
225
+
226
+ ## La traducción de subtítulos solo produce inglés
227
+
228
+ Este es el comportamiento esperado. El flag `--translate` integrado de Whisper solo traduce **al inglés**. Para traducción a otros idiomas de destino, procesa el contenido del archivo `.srt` por separado.
229
+
230
+ ---
231
+
232
+ ## La transcripción por lotes dejó de avanzar
233
+
234
+ Llama a `check_batch_progress` nuevamente. Si sigue atascado:
235
+
236
+ 1. Verifica en el Administrador de Tareas si hay un proceso `whisper-cli.exe` en ejecución
237
+ 2. Revisa los logs de tareas en `%TEMP%\whisper-mcp-jobs\`
238
+ 3. Los archivos con error están marcados en el informe del lote — ejecútalos individualmente con `transcribe_audio`
239
+
240
+ ---
241
+
242
+ ## Limpiar el directorio temporal de tareas
243
+
244
+ whisper-windows-mcp escribe archivos de estado de tareas y logs en `%TEMP%\whisper-mcp-jobs\` durante la transcripción. Estos se acumulan con el tiempo y pueden consumir espacio en disco, especialmente los archivos `.log` de tareas de transcripción largas.
245
+
246
+ Una vez que un lote o tarea esté completo y hayas verificado las transcripciones de salida, puedes eliminar de forma segura todo en este directorio:
247
+
248
+ ```powershell
249
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
250
+ ```
251
+
252
+ El directorio se recreará automáticamente en la siguiente transcripción. Ningún archivo de salida de transcripción se almacena permanentemente aquí — se mueven al directorio de origen al completarse. Solo quedan metadatos de tareas y logs.
253
+
254
+ **Nota:** No elimines este directorio mientras una transcripción esté en progreso — los archivos de estado del lote son necesarios para que `check_batch_progress` funcione.
255
+
256
+ ---
257
+
258
+ ## Lote grande sin supervisión desde la línea de comandos
259
+
260
+ Para lotes muy grandes donde quieres ejecutar durante la noche sin Claude, usa PowerShell.
261
+
262
+ **Importante:** whisper-cli.exe no puede leer MP4, MKV ni la mayoría de los formatos de video directamente. FFmpeg debe pre-convertir cada archivo a WAV primero. Whisper también escribe la transcripción al stdout y la salida de diagnóstico al stderr — usa `Start-Process -RedirectStandardOutput` para capturar la transcripción correctamente. Usar pipe con `|` o redirigir stderr con `2>$null` no captura nada.
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
+ Cambia `*.mp4` por `*.mkv`, `*.m4a` etc. para que coincida con tus tipos de archivo. La verificación de salto `Test-Path` significa que volver a ejecutar el script tras una interrupción no reprocesará los archivos ya completados.
290
+
291
+ Esto escribe archivos `.txt` junto a cada fuente. Las herramientas MCP los reconocerán como ya transcritos cuando ejecutes `analyze_media` o `start_batch` después.
292
+
293
+ ---
294
+
295
+ ## Ubicación del archivo de configuración
296
+
297
+ ```
298
+ C:\Users\TuUsuario\AppData\Roaming\Claude\claude_desktop_config.json
299
+ ```
300
+
301
+ Si `AppData` no es visible: Ver → Mostrar → Elementos ocultos en el Explorador de archivos.
302
+
303
+ ---
304
+
305
+ ## Ejemplo de configuración completa funcionando
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` tiene como predeterminado `ffmpeg` (asume que está en el PATH). Establécelo explícitamente solo si FFmpeg está instalado en una ubicación no estándar.
@@ -0,0 +1,323 @@
1
+ # whisper-windows-mcp — Pemecahan Masalah
2
+
3
+ ---
4
+
5
+ ## Daftar Periksa Cepat
6
+
7
+ Sebelum menyelidiki lebih dalam, verifikasi semua hal berikut:
8
+
9
+ - Jalur di `claude_desktop_config.json` menggunakan **dua backslash** (`C:\\whisper\\...`)
10
+ - `whisper-cli.exe` ada di jalur yang ditentukan dalam `WHISPER_CLI_PATH`
11
+ - File model `.bin` ada di jalur yang ditentukan dalam `WHISPER_MODEL`
12
+ - FFmpeg terpasang dan dapat diakses (`ffmpeg -version` berfungsi di command prompt)
13
+ - Claude Desktop sudah **di-restart penuh** setelah mengedit konfigurasi (keluar dari system tray, bukan sekadar menutup jendela)
14
+ - Server whisper menampilkan **berjalan** (lencana hijau) di Pengaturan → Pengembang
15
+
16
+ ---
17
+
18
+ ## "whisper tidak terhubung" atau tidak ada alat yang tersedia
19
+
20
+ **Penyebab paling umum:** Claude Desktop tidak di-restart penuh setelah mengedit konfigurasi.
21
+
22
+ 1. Klik kanan ikon Claude di system tray → Keluar
23
+ 2. Buka kembali Claude Desktop
24
+ 3. Buka Pengaturan → Pengembang dan periksa lencana **berjalan** berwarna hijau di sebelah whisper
25
+
26
+ Jika masih tidak muncul:
27
+
28
+ 1. Buka `claude_desktop_config.json` dan periksa kesalahan sintaks JSON (koma yang hilang, kurung kurawal yang tidak cocok)
29
+ 2. Pastikan semua jalur menggunakan dua backslash
30
+ 3. Jalankan `check_config` di Claude Desktop untuk mendapatkan diagnostik
31
+
32
+ ---
33
+
34
+ ## download_model timeout pada model besar
35
+
36
+ Claude Desktop memiliki timeout 4 menit untuk panggilan alat MCP. Unduhan model besar pada koneksi lambat mungkin melebihi batas ini.
37
+
38
+ **Ukuran file:**
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
+ Pada koneksi cepat (100 Mbps+), bahkan large-v3 selesai diunduh dalam waktu kurang dari 4 menit. Pada koneksi lebih lambat, gunakan browser atau PowerShell untuk mengunduh langsung dan tempatkan file di direktori model secara manual:
47
+
48
+ ```powershell
49
+ # Contoh — unduh large-v3-turbo secara langsung
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
+ Kemudian gunakan `switch_model ggml-large-v3-turbo.bin` untuk mengaktifkannya.
55
+
56
+ ---
57
+
58
+ ## `check_config` melaporkan whisper-cli.exe tidak ditemukan
59
+
60
+ Jalur di konfigurasi tidak cocok dengan lokasi file yang sebenarnya.
61
+
62
+ Verifikasi file ada:
63
+ ```
64
+ dir C:\whisper\Release\whisper-cli.exe
65
+ ```
66
+
67
+ Jika ada di tempat lain, perbarui `WHISPER_CLI_PATH` di konfigurasi Anda agar sesuai dengan jalur yang sebenarnya.
68
+
69
+ ---
70
+
71
+ ## `check_config` melaporkan FFmpeg tidak ditemukan
72
+
73
+ FFmpeg tidak terpasang atau tidak ada di PATH sistem Anda.
74
+
75
+ Pasang via winget:
76
+ ```
77
+ winget install ffmpeg
78
+ ```
79
+
80
+ Atau unduh dari [ffmpeg.org](https://ffmpeg.org/download.html), ekstrak, dan tambahkan folder `bin` ke PATH sistem Anda.
81
+
82
+ Setelah memasang, buka command prompt baru dan verifikasi:
83
+ ```
84
+ ffmpeg -version
85
+ ```
86
+
87
+ Jika Anda memasang FFmpeg ke lokasi non-standar, atur variabel lingkungan `FFMPEG_PATH` di konfigurasi Claude Desktop:
88
+ ```json
89
+ "env": {
90
+ "FFMPEG_PATH": "C:\\ffmpeg\\bin\\ffmpeg.exe"
91
+ }
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Output transkripsi penuh dengan tag `[FOREIGN]`
97
+
98
+ **Penyebab:** Anda menggunakan model khusus bahasa Inggris (misalnya `ggml-medium.en.bin`) pada audio non-Inggris. Model khusus bahasa Inggris tidak dapat memproses bahasa lain dan menghasilkan `[FOREIGN]` sebagai placeholder untuk setiap segmen yang tidak dapat ditangani.
99
+
100
+ **Solusi:** Unduh dan gunakan `ggml-large-v3.bin` — model multibahasa. Ini diperlukan untuk transkripsi non-Inggris, deteksi bahasa otomatis, atau terjemahan.
101
+
102
+ ```
103
+ https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.bin
104
+ ```
105
+
106
+ Simpan ke `C:\whisper\models\` dan perbarui konfigurasi:
107
+ ```json
108
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-large-v3.bin"
109
+ ```
110
+
111
+ Atau ganti per-transkripsi menggunakan parameter `model` di `transcribe_audio` atau `generate_subtitles`.
112
+
113
+ > **Catatan:** Model khusus bahasa Inggris (`*.en.bin`) lebih cepat dan akurat untuk konten bahasa Inggris tetapi sama sekali tidak dapat menangani bahasa lain. Jika Anda bekerja dengan konten multibahasa, `large-v3` adalah model yang tepat terlepas dari hardware.
114
+
115
+ ---
116
+
117
+ ## Transkripsi tidak menghasilkan output atau file kosong
118
+
119
+ **Kemungkinan penyebab:**
120
+
121
+ 1. **Model salah untuk bahasa** — Model khusus bahasa Inggris (`*.en.bin`) tidak dapat mentranskrip bahasa lain. Gunakan `ggml-large-v3.bin` untuk konten multibahasa.
122
+
123
+ 2. **Kualitas audio terlalu rendah** — File dengan bitrate sangat rendah (misalnya rekaman ponsel `.3gp` lama menggunakan codec AMR-NB ~12kbps) mungkin berada di batas kemampuan whisper. Lingkungan yang bising (kebisingan latar belakang, gema, pembicara jauh) juga menantang. Coba `large-v3` yang lebih baik menangani audio yang terdegradasi.
124
+
125
+ 3. **File diam atau rusak** — Jalankan `analyze_media` pada file untuk memeriksa apakah FFprobe mendeteksi aliran audio yang valid.
126
+
127
+ 4. **Kegagalan konversi** — File mungkin tidak dikonversi ke WAV dengan benar. Coba konversi secara manual terlebih dahulu:
128
+ ```
129
+ ffmpeg -i yourfile.3gp -ar 16000 -ac 1 output.wav
130
+ ```
131
+ Kemudian transkripsi WAV secara langsung.
132
+
133
+ ---
134
+
135
+ ## Tugas latar belakang gagal pada file dengan karakter khusus atau Unicode di nama file
136
+
137
+ **Penyebab:** whisper-cli.exe tidak dapat menulis file output saat jalur mengandung karakter Unicode (bahasa Indonesia, Jepang, Korea, emoji, tanda kurung, dll.) atau karakter khusus tertentu.
138
+
139
+ **Solusi sementara saat ini:** Ubah nama file agar hanya menggunakan karakter ASCII sebelum transkripsi, lalu ubah nama kembali jika diperlukan.
140
+
141
+ ```
142
+ ren "nama_file_indonesia.mp4" "temp_transcribe.mp4"
143
+ ```
144
+
145
+ **Status:** Ini adalah bug yang diketahui. Perbaikan direncanakan yang akan merutekan output melalui jalur temp yang disanitasi dan memindahkan hasilnya ke tujuan yang benar setelah selesai.
146
+
147
+ ---
148
+
149
+ ## Tugas latar belakang menampilkan "gagal" tanpa output
150
+
151
+ **Kemungkinan penyebab:**
152
+
153
+ 1. **Nama file Unicode** — Lihat di atas.
154
+
155
+ 2. **Jalur model salah** — Proses terpisah tidak mewarisi jalur yang telah dikoreksi. Jalankan `check_config` untuk memverifikasi jalur.
156
+
157
+ 3. **Proses dihentikan** — Jika whisper-cli.exe dihentikan secara manual di tengah tugas, tidak ada file output yang akan ada. Coba lagi.
158
+
159
+ 4. **VRAM tidak cukup** — Model besar pada GPU dengan VRAM rendah mungkin gagal secara diam-diam. Coba model yang lebih kecil.
160
+
161
+ 5. **Konversi file gagal** — Coba transkripsi file WAV langsung untuk mengisolasi apakah masalahnya ada di konversi atau transkripsi.
162
+
163
+ ---
164
+
165
+ ## Transkripsi latar belakang tidak menghasilkan output SRT
166
+
167
+ **Penyebab:** Mode latar belakang (`background=true` di `transcribe_audio`) saat ini hanya menghasilkan output `.txt`. Format SRT dalam mode latar belakang belum diimplementasikan.
168
+
169
+ **Solusi:** Untuk file di bawah ~4 menit, gunakan `generate_subtitles` dalam mode pemblokiran. Untuk file yang lebih panjang, transkripsi dalam mode latar belakang terlebih dahulu untuk mendapatkan `.txt`, kemudian jika SRT diperlukan, gunakan `generate_subtitles` pada file yang sama (akan mentranskrip ulang).
170
+
171
+ **Status:** Dukungan SRT dalam mode latar belakang direncanakan untuk rilis mendatang.
172
+
173
+ ---
174
+
175
+ ## GPU tidak digunakan (CPU macet di atas 50%)
176
+
177
+ **Penyebab:** Anda menjalankan binary khusus CPU yang disertakan dengan rilis whisper.cpp standar.
178
+
179
+ **Solusi:** Unduh build yang mengaktifkan Vulkan dari [halaman rilis](https://github.com/eviscerations/whisper-windows-mcp/releases/tag/v1.4.0) dan ekstrak ke `C:\whisper\Release\`.
180
+
181
+ Verifikasi akselerasi GPU aktif:
182
+ - Minta Claude `check_system`
183
+ - Cari `✅ Vulkan binary: ggml-vulkan.dll found` dalam output
184
+ - Pantau Task Manager → Performa → GPU selama transkripsi — utilisasi GPU seharusnya naik ke 15–30%
185
+
186
+ ---
187
+
188
+ ## `check_system` melaporkan jumlah VRAM yang salah
189
+
190
+ Ini adalah keterbatasan Windows yang diketahui. Perintah `wmic` membaca VRAM dari registry, yang pada banyak kartu AMD melaporkan setengah VRAM fisik. Vega 56 dengan 8GB HBM2 biasanya menampilkan 4GB. Ini hanya masalah tampilan — whisper menggunakan VRAM fisik penuh selama inferensi.
191
+
192
+ ---
193
+
194
+ ## Error "Transkripsi sudah berlangsung"
195
+
196
+ Ada proses `whisper-cli.exe` yang berjalan dari tugas sebelumnya. Tunggu hingga selesai, atau:
197
+
198
+ 1. Buka Task Manager → tab Detail
199
+ 2. Temukan `whisper-cli.exe`
200
+ 3. Klik kanan → Akhiri tugas
201
+
202
+ Kemudian coba lagi.
203
+
204
+ ---
205
+
206
+ ## Deteksi bahasa otomatis salah
207
+
208
+ Deteksi otomatis Whisper berjalan pada 30 detik pertama audio. Jika file dimulai dalam bahasa yang berbeda dari sebagian besar kontennya, deteksi mungkin salah.
209
+
210
+ **Solusi:** Tentukan bahasa secara eksplisit (misalnya `language=id`) daripada mengandalkan deteksi otomatis.
211
+
212
+ ---
213
+
214
+ ## Pembuatan subtitle menghasilkan "(berbicara dalam bahasa asing)" di seluruh bagian
215
+
216
+ Whisper mendeteksi ucapan tetapi tidak dapat mentranskrip. Penyebab paling umum:
217
+
218
+ 1. **Model salah** — Menggunakan model khusus bahasa Inggris pada audio non-Inggris. Gunakan `large-v3`.
219
+
220
+ 2. **Kualitas audio** — Lingkungan yang bising (dapur, kerumunan, gema) mungkin mengalahkan model medium. Coba `large-v3`.
221
+
222
+ 3. **Bahasa campuran** — File dengan dua bahasa yang bergantian akan membuat bahasa minoritas diisi placeholder dengan pengaturan satu bahasa.
223
+
224
+ ---
225
+
226
+ ## Terjemahan subtitle hanya menghasilkan bahasa Inggris
227
+
228
+ Ini adalah desain yang disengaja. Flag `--translate` bawaan Whisper hanya menerjemahkan **ke bahasa Inggris**. Untuk terjemahan ke bahasa target lain, terjemahkan konten file `.srt` secara terpisah.
229
+
230
+ ---
231
+
232
+ ## Transkripsi batch berhenti maju
233
+
234
+ Panggil `check_batch_progress` lagi. Jika masih macet:
235
+
236
+ 1. Periksa Task Manager untuk proses `whisper-cli.exe` yang berjalan
237
+ 2. Periksa log tugas di `%TEMP%\whisper-mcp-jobs\`
238
+ 3. File yang gagal ditandai dalam laporan batch — jalankan ulang secara individual dengan `transcribe_audio`
239
+
240
+ ---
241
+
242
+ ## Membersihkan direktori tugas sementara
243
+
244
+ whisper-windows-mcp menulis file status tugas dan log ke `%TEMP%\whisper-mcp-jobs\` selama transkripsi. File-file ini terakumulasi dari waktu ke waktu dan dapat menghabiskan ruang disk, terutama file `.log` dari tugas transkripsi yang panjang.
245
+
246
+ Setelah batch atau tugas selesai dan Anda telah memverifikasi transkrip output, Anda dapat dengan aman menghapus semua yang ada di direktori ini:
247
+
248
+ ```powershell
249
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
250
+ ```
251
+
252
+ Direktori akan dibuat ulang secara otomatis pada transkripsi berikutnya. Tidak ada file output transkrip yang disimpan secara permanen di sini — file dipindahkan ke direktori sumber saat selesai. Hanya metadata tugas dan log yang tersisa.
253
+
254
+ **Catatan:** Jangan hapus direktori ini saat transkripsi sedang berlangsung — file status batch diperlukan agar `check_batch_progress` berfungsi.
255
+
256
+ ---
257
+
258
+ ## Batch besar tanpa pengawasan dari command line
259
+
260
+ Untuk batch yang sangat besar di mana Anda ingin menjalankan semalaman tanpa Claude, gunakan PowerShell.
261
+
262
+ **Penting:** whisper-cli.exe tidak dapat membaca MP4, MKV, atau sebagian besar format video secara langsung. FFmpeg harus mengkonversi setiap file ke WAV terlebih dahulu. whisper juga menulis transkrip ke stdout dan output diagnostik ke stderr — gunakan `Start-Process -RedirectStandardOutput` untuk menangkap transkrip dengan benar. Menggunakan pipe `|` atau mengalihkan stderr dengan `2>$null` tidak menangkap apa pun.
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
+ Ganti `*.mp4` dengan `*.mkv`, `*.m4a`, dll. sesuai jenis file Anda. Pemeriksaan lewati `Test-Path` berarti menjalankan ulang skrip setelah gangguan tidak akan memproses ulang file yang sudah selesai.
290
+
291
+ Script ini menulis file `.txt` di sebelah setiap sumber. Alat MCP akan mengenali file-file ini sebagai sudah ditranskripsi saat Anda menjalankan `analyze_media` atau `start_batch` setelahnya.
292
+
293
+ ---
294
+
295
+ ## Lokasi file konfigurasi
296
+
297
+ ```
298
+ C:\Users\NamaPengguna\AppData\Roaming\Claude\claude_desktop_config.json
299
+ ```
300
+
301
+ Jika `AppData` tidak terlihat: Tampilan → Tampilkan → Item tersembunyi di File Explorer.
302
+
303
+ ---
304
+
305
+ ## Contoh konfigurasi lengkap yang berfungsi
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` default ke `ffmpeg` (mengasumsikan ada di PATH). Atur secara eksplisit hanya jika FFmpeg dipasang di lokasi non-standar.