TranscribeLocal: transcribe y saca subtítulos de cualquier vídeo, sin salir de tu navegador
Una app web que convierte audio y vídeo en texto y subtítulos con Whisper, distingue quién habla y hace resúmenes, todo en tu ordenador. Sin subir nada a ningún servidor, sin límites de duración y gratis. Qué hace y cómo se usa.
Tenía en el ordenador un documental en francés y quería sacar sus subtítulos para traducirlos. Hay servicios en la nube que lo hacen, pero suben tu archivo a sus servidores y los gratuitos tienen límites de duración. Mi ordenador tenía potencia de sobra para hacerlo él mismo, y para equipos más modestos hay modelos pequeños que también sirven. Así que construí TranscribeLocal.
Es una app web que transcribe audio y vídeo con inteligencia artificial directamente en tu navegador: Whisper, el modelo de reconocimiento de voz de OpenAI, se ejecuta en tu equipo. El archivo no sale de tu ordenador, no hay cuentas, no hay límite de minutos y es gratis. Con el documental funcionó: saqué los subtítulos en francés y después los traduje con IA. También la he probado con vídeos cortos y largos, y la verdad es que sale bastante bien.
Este artículo es para quien quiera saber qué hace y probarla. Cómo está construida por dentro lo cuento en TranscribeLocal por dentro.
Puedes usarla ya en abdell1999.github.io/transcribe-local-public.

Qué es, en una frase
Una página en la que sueltas un audio o un vídeo y te devuelve el texto con sus tiempos, listo para leerlo, corregirlo o descargarlo como subtítulos.
Abrirla
Entra en la web y ya está: no hay que registrarse ni instalar nada. Arriba eliges el modelo y el idioma, debajo das el audio y, cuando termina, aparece el resultado.

Es una aplicación web progresiva (PWA), así que el navegador te ofrecerá instalarla como una app más, con su propia ventana. Y una vez que has usado un modelo, funciona sin conexión: lo he probado transcribiendo con internet, cortando la red y volviendo a transcribir después de recargar la página.
Elegir el modelo
Whisper viene en varios tamaños, y cada uno es un equilibrio entre velocidad y precisión:
| Modelo | Tamaño | Para qué |
|---|---|---|
| tiny | ~75 MB | Pruebas rápidas o equipos modestos |
| base | ~145 MB | Uso general |
| small | ~480 MB | Más precisión y mejor puntuación |
| large-v3-turbo | ~1,5 GB | La máxima precisión, sobre todo fuera del inglés |
El modelo se descarga la primera vez que lo usas y se queda guardado en el navegador, así que las siguientes veces arranca enseguida. Si tu ordenador no es gran cosa, empieza por tiny o base: también sirven.
Elegir el idioma
Por defecto está en Auto-detectar: Whisper escucha el principio y decide en qué idioma está. Si lo sabes de antemano, puedes elegirlo de una lista de cien idiomas, cada uno escrito en su propia lengua. Escribe en el campo para filtrar la lista.

Whisper transcribe en el idioma en el que se habla. Si el vídeo está en francés, los subtítulos salen en francés. La traducción la hice yo después, aparte, como cuento más abajo.
Darle el audio
Hay tres formas:
- Arrastrar un archivo de audio o de vídeo a la zona punteada, o pulsar selecciona uno. Es lo que usé con el documental: no hace falta extraer el audio del vídeo, la app lo hace sola.
- Grabar el micrófono, para una reunión, una clase o una nota de voz.
- Grabar una pestaña. El navegador te pide qué pestaña compartir. Elige la del vídeo y marca la opción de compartir el audio: si no lo haces, la app te avisa de que no le llega sonido. Solo se guarda el audio, la imagen se descarta.
En cuanto sueltas el archivo o paras la grabación, empieza a transcribir.
Transcribir
Mientras trabaja ves un contador con el tiempo que lleva. La primera vez, antes de eso, verás también el progreso de la descarga del modelo.

Para que te hagas una idea: en mis pruebas, un diálogo de algo más de un minuto se transcribe en unos 18 segundos con el modelo base, en un ordenador con tarjeta gráfica NVIDIA. Si tu navegador no puede usar la gráfica, la app pasa a usar el procesador y te avisa de que irá más lento.
El resultado
Arriba aparece el reproductor con el texto debajo. Mientras suena, la frase que se está diciendo se ilumina, y si pulsas cualquier frase, el audio salta a ese momento. Es la forma más rápida de revisar si algo se ha entendido mal.

Debajo está la transcripción completa en un cuadro de texto que puedes corregir a mano. Al lado del título se indica cuánto tardó.
Descargarlo: subtítulos y más
En la cabecera de la transcripción tienes cinco botones, uno por formato:

- SRT y VTT: subtítulos. Cada frase con su tiempo de entrada y de salida, listos para cargarlos en un reproductor como VLC o en un editor de vídeo.
- TXT: el texto plano, con tus correcciones.
- JSON: el texto y cada fragmento con sus tiempos, para quien quiera procesarlo con un programa.
- Markdown: el texto con marcas de tiempo, y separado por hablantes si los has identificado.
Así empieza el SRT de mi prueba:
1
00:00:00,000 --> 00:00:10,500
Welcome back to the show. Today we are talking about lighthouses, and why so many of them are still standing after 200 years.
2
00:00:10,500 --> 00:00:12,800
Thanks for having me.
Los subtítulos salen de los tiempos que da Whisper, así que las correcciones que hagas en el cuadro de texto se aplican al TXT y al texto del JSON, pero no a los subtítulos ni al Markdown.
Y para traducirlos
TranscribeLocal no traduce, pero te deja a un paso. Con el documental, descargué los subtítulos en francés y los traduje al español con IA. Si lo haces, pide que se traduzca solo el texto y que se respeten los números y los tiempos, para que el archivo siga siendo un SRT válido.
Quién habla
Si en el audio hay varias personas, pulsa Identificar hablantes. La transcripción se reorganiza por intervenciones, con un número de color para cada voz.

Usa otros dos modelos más pequeños (unos 6 MB y 26 MB). En mi prueba, un diálogo entre dos voces, separó todas las intervenciones sin un solo fallo en unos 10 segundos. Con audio real, en el que la gente se pisa o hay ruido de fondo, no será perfecto, pero ahorra mucho trabajo. Después, el Markdown descargado sale también separado por hablantes.
Resumen
El botón Resumir genera un resumen con un modelo de lenguaje pequeño que, como lo demás, se ejecuta en tu equipo. Hay dos tamaños: Qwen 0.5B (~500 MB, según la etiqueta de la app), más rápido, y Qwen 1.5B (~1,6 GB), más completo. La descarga real depende de la versión que use tu equipo: con gráfica, la de 0.5B pesa unos 790 MB.

Tómatelo como un borrador: un modelo tan pequeño capta la idea general, pero a veces añade detalles que no estaban o no sigue el formato que se le pide. El resumen sale en un cuadro de texto que puedes editar.
Los modelos que tienes guardados
El botón Modelos de la configuración indica cuánto ocupa lo que has descargado. Al pulsarlo, ves cada modelo con su estado y puedes borrar los que ya no uses, o vaciarlo todo de una vez.

El navegador puede borrar datos guardados si se queda sin espacio. El enlace Asegurar le pide que no lo haga con estos, para no tener que volver a descargarlos.
En modo oscuro
Arriba a la derecha eliges claro, oscuro o el que use tu sistema.

Tu audio no sale de tu equipo
Es la razón de que exista. Todo el trabajo lo hace tu ordenador: los modelos se descargan una vez desde Hugging Face y a partir de ahí se ejecutan en tu navegador. El audio, la transcripción y el resumen no se envían a ningún sitio. No hay cuentas, ni publicidad, ni límite de duración.
Pruébalo
Entra en TranscribeLocal, suelta un vídeo que tengas a mano y descarga el SRT. Si está en otro idioma, ya tienes el texto con sus tiempos listo para traducirlo.
Si te interesa cómo funciona por dentro (cómo se ejecuta Whisper en un navegador, por qué se inventaba frases en los silencios o qué tuvo que ver un service worker con que las descargas se cortaran a los cinco minutos), está en TranscribeLocal por dentro.