[{"data":1,"prerenderedAt":483},["ShallowReactive",2],{"\u002Fposts\u002Ftranscribe-local-subtitulos-en-tu-navegador":3,"upcoming:\u002Fposts\u002Ftranscribe-local-subtitulos-en-tu-navegador":482},{"id":4,"title":5,"body":6,"date":466,"description":467,"draft":468,"extension":469,"meta":470,"navigation":471,"path":472,"seo":473,"stem":474,"tags":475,"type":480,"__hash__":481},"posts\u002Fposts\u002Ftranscribe-local-subtitulos-en-tu-navegador.md","TranscribeLocal: transcribe y saca subtítulos de cualquier vídeo, sin salir de tu navegador",{"type":7,"value":8,"toc":446},"minimark",[9,18,25,33,42,51,56,59,63,66,74,81,85,88,155,162,166,173,180,183,187,190,221,224,228,231,238,245,249,256,263,270,274,277,284,314,317,328,331,336,339,343,350,357,360,364,371,378,381,385,391,399,406,410,413,419,423,430,434,441],[10,11,12,13,17],"p",{},"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í ",[14,15,16],"strong",{},"TranscribeLocal",".",[10,19,20,21,24],{},"Es una app web que transcribe audio y vídeo con inteligencia artificial ",[14,22,23],{},"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.",[10,26,27,28,17],{},"Este artículo es para quien quiera saber qué hace y probarla. Cómo está construida por dentro lo cuento en ",[29,30,32],"a",{"href":31},"\u002Fposts\u002Ftranscribe-local-por-dentro","TranscribeLocal por dentro",[10,34,35,36,17],{},"Puedes usarla ya en ",[29,37,41],{"href":38,"rel":39},"https:\u002F\u002Fabdell1999.github.io\u002Ftranscribe-local-public\u002F",[40],"nofollow","abdell1999.github.io\u002Ftranscribe-local-public",[10,43,44],{},[45,46],"img",{"alt":47,"height":48,"src":49,"width":50},"Un diálogo transcrito, con el reproductor resaltando la frase que suena",900,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fportada.webp",1440,[52,53,55],"h2",{"id":54},"qué-es-en-una-frase","Qué es, en una frase",[10,57,58],{},"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.",[52,60,62],{"id":61},"abrirla","Abrirla",[10,64,65],{},"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.",[10,67,68],{},[45,69],{"alt":70,"height":71,"src":72,"width":73},"La app recién abierta, esperando un archivo",410,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fvacio.webp",780,[10,75,76,77,80],{},"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, ",[14,78,79],{},"funciona sin conexión",": lo he probado transcribiendo con internet, cortando la red y volviendo a transcribir después de recargar la página.",[52,82,84],{"id":83},"elegir-el-modelo","Elegir el modelo",[10,86,87],{},"Whisper viene en varios tamaños, y cada uno es un equilibrio entre velocidad y precisión:",[89,90,91,107],"table",{},[92,93,94],"thead",{},[95,96,97,101,104],"tr",{},[98,99,100],"th",{},"Modelo",[98,102,103],{},"Tamaño",[98,105,106],{},"Para qué",[108,109,110,122,133,144],"tbody",{},[95,111,112,116,119],{},[113,114,115],"td",{},"tiny",[113,117,118],{},"~75 MB",[113,120,121],{},"Pruebas rápidas o equipos modestos",[95,123,124,127,130],{},[113,125,126],{},"base",[113,128,129],{},"~145 MB",[113,131,132],{},"Uso general",[95,134,135,138,141],{},[113,136,137],{},"small",[113,139,140],{},"~480 MB",[113,142,143],{},"Más precisión y mejor puntuación",[95,145,146,149,152],{},[113,147,148],{},"large-v3-turbo",[113,150,151],{},"~1,5 GB",[113,153,154],{},"La máxima precisión, sobre todo fuera del inglés",[10,156,157,158,161],{},"El modelo se descarga ",[14,159,160],{},"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.",[52,163,165],{"id":164},"elegir-el-idioma","Elegir el idioma",[10,167,168,169,172],{},"Por defecto está en ",[14,170,171],{},"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.",[10,174,175],{},[45,176],{"alt":177,"height":178,"src":179,"width":73},"El selector de idioma abierto, con los idiomas en su propia escritura",400,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fidioma.webp",[10,181,182],{},"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.",[52,184,186],{"id":185},"darle-el-audio","Darle el audio",[10,188,189],{},"Hay tres formas:",[191,192,193,205,211],"ul",{},[194,195,196,199,200,204],"li",{},[14,197,198],{},"Arrastrar un archivo"," de audio o de vídeo a la zona punteada, o pulsar ",[201,202,203],"em",{},"selecciona uno",". Es lo que usé con el documental: no hace falta extraer el audio del vídeo, la app lo hace sola.",[194,206,207,210],{},[14,208,209],{},"Grabar el micrófono",", para una reunión, una clase o una nota de voz.",[194,212,213,216,217,220],{},[14,214,215],{},"Grabar una pestaña."," El navegador te pide qué pestaña compartir. Elige la del vídeo y marca la opción de ",[14,218,219],{},"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.",[10,222,223],{},"En cuanto sueltas el archivo o paras la grabación, empieza a transcribir.",[52,225,227],{"id":226},"transcribir","Transcribir",[10,229,230],{},"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.",[10,232,233],{},[45,234],{"alt":235,"height":236,"src":237,"width":73},"La app transcribiendo, con el contador de tiempo",480,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Ftranscribiendo.webp",[10,239,240,241,244],{},"Para que te hagas una idea: en mis pruebas, un diálogo de algo más de un minuto se transcribe en unos ",[14,242,243],{},"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.",[52,246,248],{"id":247},"el-resultado","El resultado",[10,250,251,252,255],{},"Arriba aparece el ",[14,253,254],{},"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.",[10,257,258],{},[45,259],{"alt":260,"height":261,"src":262,"width":73},"El reproductor con la frase que suena resaltada",270,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Freproductor.webp",[10,264,265,266,269],{},"Debajo está la ",[14,267,268],{},"transcripción completa"," en un cuadro de texto que puedes corregir a mano. Al lado del título se indica cuánto tardó.",[52,271,273],{"id":272},"descargarlo-subtítulos-y-más","Descargarlo: subtítulos y más",[10,275,276],{},"En la cabecera de la transcripción tienes cinco botones, uno por formato:",[10,278,279],{},[45,280],{"alt":281,"height":282,"src":283,"width":73},"La transcripción con los botones de exportación",365,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fexportar.webp",[191,285,286,296,302,308],{},[194,287,288,291,292,295],{},[14,289,290],{},"SRT"," y ",[14,293,294],{},"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.",[194,297,298,301],{},[14,299,300],{},"TXT",": el texto plano, con tus correcciones.",[194,303,304,307],{},[14,305,306],{},"JSON",": el texto y cada fragmento con sus tiempos, para quien quiera procesarlo con un programa.",[194,309,310,313],{},[14,311,312],{},"Markdown",": el texto con marcas de tiempo, y separado por hablantes si los has identificado.",[10,315,316],{},"Así empieza el SRT de mi prueba:",[318,319,325],"pre",{"className":320,"code":322,"language":323,"meta":324},[321],"language-text","1\n00:00:00,000 --> 00:00:10,500\nWelcome back to the show. Today we are talking about lighthouses, and why so many of them are still standing after 200 years.\n\n2\n00:00:10,500 --> 00:00:12,800\nThanks for having me.\n","text","",[326,327,322],"code",{"__ignoreMap":324},[10,329,330],{},"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.",[332,333,335],"h3",{"id":334},"y-para-traducirlos","Y para traducirlos",[10,337,338],{},"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.",[52,340,342],{"id":341},"quién-habla","Quién habla",[10,344,345,346,349],{},"Si en el audio hay varias personas, pulsa ",[14,347,348],{},"Identificar hablantes",". La transcripción se reorganiza por intervenciones, con un número de color para cada voz.",[10,351,352],{},[45,353],{"alt":354,"height":355,"src":356,"width":73},"La transcripción separada por hablantes",485,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fhablantes.webp",[10,358,359],{},"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.",[52,361,363],{"id":362},"resumen","Resumen",[10,365,366,367,370],{},"El botón ",[14,368,369],{},"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.",[10,372,373],{},[45,374],{"alt":375,"height":376,"src":377,"width":73},"Un resumen generado a partir de la transcripción",340,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fresumen.webp",[10,379,380],{},"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.",[52,382,384],{"id":383},"los-modelos-que-tienes-guardados","Los modelos que tienes guardados",[10,386,366,387,390],{},[14,388,389],{},"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.",[10,392,393],{},[45,394],{"alt":395,"height":396,"src":397,"width":398},"El gestor de modelos, con los que están en disco y el botón de borrar",765,"\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Fmodelos.webp",540,[10,400,401,402,405],{},"El navegador puede borrar datos guardados si se queda sin espacio. El enlace ",[14,403,404],{},"Asegurar"," le pide que no lo haga con estos, para no tener que volver a descargarlos.",[52,407,409],{"id":408},"en-modo-oscuro","En modo oscuro",[10,411,412],{},"Arriba a la derecha eliges claro, oscuro o el que use tu sistema.",[10,414,415],{},[45,416],{"alt":417,"height":48,"src":418,"width":50},"TranscribeLocal en modo oscuro","\u002Fimages\u002Fposts\u002Ftranscribe-local\u002Foscuro.webp",[52,420,422],{"id":421},"tu-audio-no-sale-de-tu-equipo","Tu audio no sale de tu equipo",[10,424,425,426,429],{},"Es la razón de que exista. ",[14,427,428],{},"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.",[52,431,433],{"id":432},"pruébalo","Pruébalo",[10,435,436,437,440],{},"Entra en ",[29,438,16],{"href":38,"rel":439},[40],", 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.",[10,442,443,444,17],{},"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 ",[29,445,32],{"href":31},{"title":324,"searchDepth":447,"depth":447,"links":448},2,[449,450,451,452,453,454,455,456,460,461,462,463,464,465],{"id":54,"depth":447,"text":55},{"id":61,"depth":447,"text":62},{"id":83,"depth":447,"text":84},{"id":164,"depth":447,"text":165},{"id":185,"depth":447,"text":186},{"id":226,"depth":447,"text":227},{"id":247,"depth":447,"text":248},{"id":272,"depth":447,"text":273,"children":457},[458],{"id":334,"depth":459,"text":335},3,{"id":341,"depth":447,"text":342},{"id":362,"depth":447,"text":363},{"id":383,"depth":447,"text":384},{"id":408,"depth":447,"text":409},{"id":421,"depth":447,"text":422},{"id":432,"depth":447,"text":433},"2026-10-22","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.",false,"md",{},true,"\u002Fposts\u002Ftranscribe-local-subtitulos-en-tu-navegador",{"title":5,"description":467},"posts\u002Ftranscribe-local-subtitulos-en-tu-navegador",[476,477,478,479],"transcribe-local","ia","privacidad","proyectos","guia","ifBCJKYSJNYFL8LRMgSNi__j_TenFKYTUHVuY69PzDQ",null,1792636039517]