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,309 @@
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.
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 que los modelos más pequeños.
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
+ **Corregido en v2.0.0.** Si estás ejecutando la versión actual, este problema no debería ocurrir. Si sigue ocurriendo, actualiza con `npm install -g whisper-windows-mcp` y reinicia Claude Desktop.
140
+
141
+ Si usas una versión anterior, la solución alternativa es renombrar el archivo para usar solo caracteres ASCII antes de transcribir, luego renombra de vuelta si es necesario.
142
+
143
+ ```
144
+ ren "archivo_español.mp4" "temp_transcribe.mp4"
145
+ ```
146
+
147
+ ---
148
+
149
+ ## La tarea en segundo plano muestra "fallo" sin salida
150
+
151
+ **Posibles causas:**
152
+
153
+ 1. **Ruta del modelo incorrecta** — El proceso separado no hereda las rutas corregidas. Ejecuta `check_config` para verificar las rutas.
154
+
155
+ 2. **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.
156
+
157
+ 3. **VRAM insuficiente** — Los modelos grandes en GPUs con poca VRAM pueden fallar silenciosamente. Prueba un modelo más pequeño.
158
+
159
+ 4. **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.
160
+
161
+ ---
162
+
163
+ ## La GPU no está siendo usada (CPU atascada por encima del 50%)
164
+
165
+ **Causa:** Estás ejecutando el binario solo CPU que viene con el release estándar de whisper.cpp.
166
+
167
+ **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\`.
168
+
169
+ Verifica que la aceleración GPU está activa:
170
+ - Pide a Claude ejecutar `check_system`
171
+ - Busca `✅ Vulkan binary: ggml-vulkan.dll found` en la salida
172
+ - Observa el Administrador de Tareas → Rendimiento → GPU durante una transcripción — la utilización de GPU debería subir al 15–30%
173
+
174
+ ---
175
+
176
+ ## `check_system` reporta cantidad de VRAM incorrecta
177
+
178
+ 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.
179
+
180
+ ---
181
+
182
+ ## Error "Transcripción ya en progreso"
183
+
184
+ Hay un proceso `whisper-cli.exe` ejecutándose de una tarea anterior. Espera a que termine, o:
185
+
186
+ 1. Abre el Administrador de Tareas → pestaña Detalles
187
+ 2. Encuentra `whisper-cli.exe`
188
+ 3. Clic derecho → Finalizar tarea
189
+
190
+ Luego vuelve a intentarlo.
191
+
192
+ ---
193
+
194
+ ## La detección automática de idioma es incorrecta
195
+
196
+ 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.
197
+
198
+ **Solución:** Especifica el idioma explícitamente (ej.: `language=es`) en lugar de depender de la detección automática.
199
+
200
+ ---
201
+
202
+ ## La generación de subtítulos produce "(hablando en idioma extranjero)" en todo el video
203
+
204
+ Whisper detectó habla pero no pudo transcribir. Causas más comunes:
205
+
206
+ 1. **Modelo incorrecto** — Usando un modelo solo inglés en audio que no es inglés. Usa `large-v3`.
207
+
208
+ 2. **Calidad de audio** — Los entornos ruidosos (cocinas, multitudes, eco) pueden superar al modelo medium. Prueba `large-v3`.
209
+
210
+ 3. **Idioma mixto** — Los archivos con dos idiomas alternando tendrán el idioma minoritario reemplazado por marcadores con una configuración de idioma único.
211
+
212
+ ---
213
+
214
+ ## La traducción de subtítulos solo produce inglés
215
+
216
+ 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.
217
+
218
+ ---
219
+
220
+ ## La transcripción por lotes dejó de avanzar
221
+
222
+ Llama a `check_batch_progress` nuevamente. Si sigue atascado:
223
+
224
+ 1. Verifica en el Administrador de Tareas si hay un proceso `whisper-cli.exe` en ejecución
225
+ 2. Revisa los logs de tareas en `%TEMP%\whisper-mcp-jobs\`
226
+ 3. Los archivos con error están marcados en el informe del lote — ejecútalos individualmente con `transcribe_audio`
227
+
228
+ ---
229
+
230
+ ## Limpiar el directorio temporal de tareas
231
+
232
+ whisper-windows-mcp escribe archivos de estado de tareas y logs en `%TEMP%\whisper-mcp-jobs\` durante la transcripción. El servidor limpia automáticamente los archivos con más de 7 días de antigüedad al arrancar. Para limpiar manualmente, 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:
233
+
234
+ ```powershell
235
+ Remove-Item "$env:TEMP\whisper-mcp-jobs\*" -Recurse -Force
236
+ ```
237
+
238
+ 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.
239
+
240
+ **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.
241
+
242
+ ---
243
+
244
+ ## Lote grande sin supervisión desde la línea de comandos
245
+
246
+ Para lotes muy grandes donde quieres ejecutar durante la noche sin Claude, usa PowerShell.
247
+
248
+ **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.
249
+
250
+ ```powershell
251
+ $whisper = "C:\whisper\Release\whisper-cli.exe"
252
+ $model = "C:\whisper\models\ggml-medium.en.bin"
253
+ $dir = "C:\path\to\your\folder"
254
+ $ffmpeg = "ffmpeg"
255
+ $tmp = "$env:TEMP\whisper_convert.wav"
256
+
257
+ Get-ChildItem "$dir\*.mp4" | ForEach-Object {
258
+ $out = ($_.FullName -replace '\.mp4$', '') + ".txt"
259
+ if (Test-Path $out) {
260
+ Write-Host "SKIP (exists): $($_.Name)"
261
+ return
262
+ }
263
+ Write-Host "Converting: $($_.Name)"
264
+ & $ffmpeg -y -i $_.FullName -ar 16000 -ac 1 -c:a pcm_s16le $tmp 2>$null
265
+ Write-Host "Transcribing: $($_.Name)"
266
+ $wArgs = "-m `"$model`" -f `"$tmp`" --threads 8 --condition-on-previous-text 0 --no-speech-thold 0.6"
267
+ Start-Process -FilePath $whisper -ArgumentList $wArgs -RedirectStandardOutput $out -Wait -NoNewWindow
268
+ Write-Host "Done: $($_.BaseName).txt"
269
+ }
270
+
271
+ Remove-Item $tmp -ErrorAction SilentlyContinue
272
+ Write-Host "All done."
273
+ ```
274
+
275
+ 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.
276
+
277
+ 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.
278
+
279
+ ---
280
+
281
+ ## Ubicación del archivo de configuración
282
+
283
+ ```
284
+ C:\Users\TuUsuario\AppData\Roaming\Claude\claude_desktop_config.json
285
+ ```
286
+
287
+ Si `AppData` no es visible: Ver → Mostrar → Elementos ocultos en el Explorador de archivos.
288
+
289
+ ---
290
+
291
+ ## Ejemplo de configuración completa funcionando
292
+
293
+ ```json
294
+ {
295
+ "mcpServers": {
296
+ "whisper": {
297
+ "command": "npx",
298
+ "args": ["-y", "whisper-windows-mcp"],
299
+ "env": {
300
+ "WHISPER_CLI_PATH": "C:\\whisper\\Release\\whisper-cli.exe",
301
+ "WHISPER_MODEL": "C:\\whisper\\models\\ggml-medium.en.bin",
302
+ "FFMPEG_PATH": "ffmpeg"
303
+ }
304
+ }
305
+ }
306
+ }
307
+ ```
308
+
309
+ `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.