Whisper Web es una aplicación de reconocimiento de voz para navegador de código abierto de Xenova. Ejecuta modelos de la familia Whisper a través de Transformers.js en un Web Worker, acepta audio de una URL, archivo local o micrófono y devuelve texto con marca de tiempo que se puede exportar como TXT o JSON. El proyecto es útil como una demostración compacta del reconocimiento automático de voz del lado del cliente, no como un servicio de transcripción completo y mantenido.
El estado de mantenimiento importa. La rama principal se comprometió por última vez el 10 de junio de 2024 y los pines @xenova/transformadores 2.7.0. Su README apunta a una rama experimental separada WebGPU; la aplicación principal sigue principalmente la ruta anterior Worker/WASM. La documentación actual de Transformers.js pasó a la generación v3 y admite WebGPU de manera más directa, por lo que los desarrolladores deben tratar este repositorio como una implementación de referencia legible en lugar de un marco de inicio actual.

¿Quién debería usarlo y quién no?
| Usuario o trabajo | Encajar | Razón |
|---|---|---|
| Navegador de aprendizaje para desarrolladores frontend o ML ASR | fuerte | La ruta React, Worker y Transformers.js es lo suficientemente compacta como para inspeccionarla de un extremo a otro. |
| Individuo que transcribe una grabación breve y no confidencial. | razonable | No se requiere ninguna cuenta ni trabajo en el servidor, pero la descarga del modelo y la memoria del navegador siguen siendo importantes |
| Equipo que produce subtítulos revisados. | Limitado | No hay editor de transcripciones, exportación SRT/VTT, etiquetado de oradores o revisión colaborativa |
| Servicio de transcripción por lotes de formato largo | pobre | La pestaña del navegador posee memoria y ejecución; colas, reintentos, persistencia y observabilidad están ausentes |
| Audio médico, legal o regulado | Sólo prototipo | La inferencia local puede ayudar a la privacidad, pero el control de acceso, la retención, la auditoría y la verificación humana no se implementan |
Whisper Web se considera mejor como una superficie educativa y de creación de prototipos. Demuestra cómo la decodificación de audio, la carga de modelos, las devoluciones de llamadas de fragmentos, las marcas de tiempo y la exportación pueden funcionar sin un backend de transcripción. Esto lo hace útil para experimentos privados, demostraciones en conferencias y una primera prueba de viabilidad en el hardware de destino. No es un reemplazo directo de un producto de transcripción compatible: no tiene cuentas de usuario, recuperación de trabajos, administración de modelos, registros de auditoría, controles de retención, interfaz de corrección ni garantías de nivel de servicio.
Para una herramienta interna, decida quién alojará la página y los pesos del modelo, qué navegadores son compatibles y cómo se recuperarán los usuarios de una caída de pestaña o de un desalojo de caché. Para un producto público, agregue consentimiento sobre el uso del micrófono, expectativas de descarga de modelos, informes de errores y una declaración clara de hacia dónde viajan el audio y la telemetría. Estos detalles operativos importan más que si la demostración puede transcribir una muestra limpia.
Qué hace realmente la aplicación
| Área | Implementación | Consecuencia práctica |
|---|---|---|
| Inferencia | Transformers.js canalización de reconocimiento automático de voz en un Web Worker | La interfaz de usuario sigue respondiendo mientras el navegador realiza inferencias. |
| Preparación de audio | Web Audio API, remuestreado a 16 kHz y mezclado en mono | La compatibilidad con el códec del navegador determina qué archivos se decodifican correctamente |
| audio largo | trozos de 30 segundos con zancadas de 5 segundos; Distil-Whisper usa 20/3 segundos | La superposición ayuda a la continuidad pero puede introducir frases repetidas o fusionadas. |
| Decodificación | Decodificación codiciosa con marcas de tiempo y devoluciones de llamada parciales | Simple e inspeccionable, pero expone pocos controles de decodificación. |
| Exportar | Texto sin formato o fragmentos de marca de tiempo JSON | Sin SRT/VTT nativo, diario del hablante o editor de transcripciones |
El audio elegido de un archivo o micrófono se decodifica y se pasa al modelo dentro del navegador. La aplicación aún descarga pesos de modelos de Hugging Face en el primer uso y una entrada de URL hace que el navegador busque ese audio remoto. Por lo tanto, “inferencia local” significa que el cálculo de voz a texto se realiza en el lado del cliente; no significa que la página no realice ninguna solicitud de red.
Entradas, modelos y tamaños de descarga.
| Elección en la interfaz de usuario actual | Descarga mostrada | Mejor ajuste |
|---|---|---|
| diminuto como un susurro, cuantificado | 41 megas | Dispositivos de primera prueba y de menor memoria más rápidos |
| base de susurro, cuantificada | 77 megas | Un paso de precisión modesto sin una gran descarga |
| susurro pequeño, cuantificado | 249 megas | Transcripción local más capaz cuando la memoria lo permite |
| medio susurro, cuantificado | 776 megas | Experimentos de mayor capacidad en hardware de escritorio más potente |
| susurro-tiny.en, no cuantificado | 152 megas | Audio en inglés donde la fidelidad importa más que el tamaño de la descarga |
| susurro-base.en, no cuantificado | 291 megas | Funciona solo en inglés con memoria de navegador adicional disponible |
| Distil-Whisper opciones | 402 o 767MB | Experimentos solo en inglés con los puntos de control destilados del repositorio |
El modo multilingüe revela un selector de idioma largo y permite al usuario elegir la transcripción en el idioma de origen o la traducción al inglés. La interfaz de usuario no muestra la selección automática de idioma, la búsqueda por rayos, el retroceso de temperatura, las sugerencias de vocabulario ni la diarioización. La cuantificación reduce el tamaño del peso y, a menudo, mejora la viabilidad, pero se deben probar la precisión y la estabilidad en el audio deseado.

Prueba práctica: velocidad versus estabilidad de la transcripción
Ejecutamos la muestra oficial en inglés de 60 segundos incluida en un navegador de escritorio basado en Chromium el 20 de agosto de 2026. Esta es una verificación de entorno único, no una prueba comparativa de modelo estandarizada. La caché de red, la CPU, el navegador, el estado térmico y la descarga del modelo pueden cambiar los tiempos.
| Configuración | Finalización observada | Resultado observado |
|---|---|---|
Multilingüe cuantificado Xenova/whisper-tiny (41MB) | unos 27 segundos | Rápido, pero la segunda mitad produjo una frase repetida notoria y varios errores de segmentación. |
Inglés no cuantificado Xenova/whisper-tiny.en (152MB) | Aproximadamente 36 segundos | Sustancialmente más coherente y mejor segmentado, aunque todavía contenía errores de reconocimiento individuales |
La conclusión útil no es que un momento se reproduzca en todas partes. Es que la configuración multilingüe cuantificada más pequeña debe tratarse como una configuración de vista previa. Para el material en inglés, un punto de control solo en inglés puede valer la pena para una descarga más grande. Para grabaciones multilingües, ruidosas o de dominio específico, compare al menos clips pequeños, básicos y pequeños en clips representativos antes de elegir un valor predeterminado.

Cómo evaluar Whisper Web correctamente
| Métrica | como medir | Por qué es importante |
|---|---|---|
| Tasa de error de palabras o caracteres | Comparar con una transcripción de referencia verificada por humanos | Precisión general; Utilice la tasa de error de caracteres para idiomas sin espacios entre palabras. |
| Entidades y números con nombre | Puntuación de nombres, productos, fechas, precios y unidades por separado | Pequeños errores pueden invalidar notas de reuniones, legales o de investigación |
| Tasa de alucinaciones | Incluir silencio, música, aplausos y segmentos en voz baja. | Los modelos Whisper pueden emitir texto plausible donde el habla es débil |
| Deriva de la marca de tiempo | Verifique los límites al principio, a la mitad y al final. | Crítico para subtítulos y transcripciones buscables |
| factor de tiempo real | Segundos de procesamiento divididos por segundos de audio | Separa la velocidad del modelo del tiempo de espera subjetivo |
| Arranque en frío versus arranque en caliente | Registre la descarga/carga del modelo por separado de la inferencia | Los usuarios habituales pueden ver una experiencia muy diferente |
| Memoria y tasa de fallos | Pruebe los navegadores de destino y los archivos largos | Un modelo que falla no es una mejora de precisión utilizable |
Conjunto de prueba recomendado
Limpiar un solo altavoz ── nombres + números. habitación ruidosa ─────────── voces superpuestas audio del teléfono ────────── compresión + ancho de banda música/aplausos ─────── silencio alucinación comprobar grabación larga ─────── uniones de fragmentos + deriva de marca de tiempo clip multilingüe ──── corrección de idioma/tarea
- Cree referencias verificadas por humanos para entre 20 y 30 clips cortos que coincidan con el caso de uso real.
- Ejecute tiny, base y small con el mismo navegador, estado cálido/frío y configuración de cuantificación.
- Precisión de registro, tiempo de primera ejecución, tiempo de inferencia cálida, síntomas y fallas de memoria máxima.
- Revise los nombres propios, los números, las repeticiones y los segmentos mudos por separado de la tasa de error promedio.
- Pruebe las exportaciones TXT y JSON y luego decida si la conversión de subtítulos posteriores es aceptable.
Límites del navegador, la privacidad y la implementación
| Límite | Qué comprobar antes de la adopción |
|---|---|
| Compatibilidad del navegador | El archivo README requiere un indicador de Firefox Worker; El controlador de errores de la aplicación advierte sobre Safari en M1/M2 y recomienda Chrome, Firefox o Edge. |
| Audio de origen cruzado | La carga remota de URL depende de que el servidor de origen permita las solicitudes del navegador; la URL de una página web normal no es necesariamente una URL de audio utilizable |
| Almacenamiento en caché de modelos | Confirme cuotas de almacenamiento, desalojo de caché y descargas repetidas en dispositivos de navegación privados o administrados |
| audio sensible | Revise el alojamiento de páginas, la entrega de modelos, la telemetría y las extensiones del navegador, no solo el código de inferencia. |
| Autohospedaje | Fijar dependencias, servir activos de modelo intencionalmente, agregar encabezados de seguridad y probar el comportamiento fuera de línea |
| Licencias | El código de la aplicación tiene licencia MIT; Los puntos de control del modelo y el audio enviado aún tienen sus propios términos y derechos. |
Los conjuntos de repositorios env.allowLocalModels = falso, por lo que su stock espera la entrega remota del modelo en lugar de pesos agrupados. Una implementación privada o fuera de línea necesita cambios de código y alojamiento. Nunca afirmes que simplemente clonar la interfaz de usuario crea un sistema de transcripción aislado.
Whisper Web frente a herramientas similares de código abierto
| Opción | Elígelo cuando | Principal compensación |
|---|---|---|
| Whisper Web por Xenova | Quiere una pequeña demostración de React/Transformers.js con exportación de URL, archivos, micrófono y marca de tiempo | La rama principal está anticuada, tiene controles limitados y no tiene subtítulos nativos ni flujo de trabajo de registro |
| whisper.cpp WebAssembly demostración | Quiere una ruta de navegador basada en C/C++, carga explícita de modelos locales y compatibilidad con archivos/micrófonos. | Su ejemplo documentado WASM está orientado a la CPU, limitado a modelos hasta pequeños y limita el audio a 120 segundos. |
| Whisper-WebUI | Necesita una interfaz de subtítulos autohospedada más rica, faster-whisper, modelos más grandes y opciones de backend/API | Requiere Python/configuración del servidor y no es puramente una inferencia del navegador del lado del cliente |
| Aplicación personalizada Transformers.js actual | Está creando un nuevo producto de navegador y desea WebGPU, ONNX y patrones de integración de marco actuales. | Usted es propietario de la interfaz de usuario completa, el canal de audio, el ciclo de vida del modelo, el control de calidad y la matriz de compatibilidad. |
| Nativo whisper.cpp o faster-whisper | Los archivos largos, el procesamiento por lotes, la automatización o el rendimiento controlado del escritorio/servidor son importantes | La instalación y la implementación son más pesadas que abrir una página web |
Whisper Web sigue siendo valioso porque la fuente es compacta y fácil de inspeccionar. Es un mejor artefacto de aprendizaje que una opción de producción llave en mano. Para una nueva aplicación, cree un prototipo con la demostración en vivo y luego compare una implementación Transformers.js actual con un motor nativo o del lado del servidor utilizando el mismo conjunto de evaluación privado.
Lista de verificación de producción
audio representativo + texto de referencia
↓
navegador/modelo/matriz de cuantificación
↓
precisión · alucinación · tiempo · memoria
↓
navegador local ── o ── motor nativo/servidor
↓
retención · consentimiento · exportación · revisión humana
- Confirme si el objetivo es una demostración, una herramienta local privada o un producto compatible.
- Fije la confirmación del repositorio, la versión Transformers.js y la revisión exacta del modelo.
- Compare los idiomas de destino, los acentos, el ruido, el silencio y la duración de los archivos.
- Separe el tiempo de descarga en frío de la velocidad de transcripción en caliente.
- Agregue progreso claro, cancelación, errores de memoria y manejo de navegador no compatible.
- Decida si TXT/JSON es suficiente o agregue SRT/VTT, edición y diario.
- Retención de audio de documentos, alojamiento de modelos, consentimiento y eliminación.
- Requerir revisión humana cuando los nombres, números o significados legales o médicos sean importantes.
Preguntas frecuentes
¿Whisper Web carga audio para transcripción?
La canalización de inferencia se ejecuta en el navegador Worker. Sin embargo, la página descarga archivos de modelo y la entrada de URL descarga audio remoto en el navegador. Revise el comportamiento de red y alojamiento del sitio implementado antes de describirlo como completamente fuera de línea.
¿Admite la transcripción de micrófono en vivo?
Puede grabar desde el micrófono y transcribir la grabación completa. La interfaz estándar no es un sistema de subtítulos de transmisión continua de baja latencia.
¿Con qué modelo debería empezar?
Utilice tiny cuantificado solo para una verificación rápida de viabilidad. Compare lo pequeño, lo básico y lo pequeño en audio representativo. Los puntos de control solo en inglés pueden ser más estables para el habla inglesa, mientras que se requieren puntos de control multilingües para otros idiomas y la traducción al inglés.
¿Puede exportar subtítulos?
No directamente. La interfaz de usuario actual exporta TXT y tiene la marca de tiempo JSON. SRT o VTT requiere un paso de conversión y una revisión de la marca de tiempo.
¿La versión WebGPU es la predeterminada?
No. El repositorio README vincula WebGPU como una rama experimental. La documentación actual Transformers.js admite WebGPU, pero esta rama principal permanece en la dependencia 2.7 anterior.
¿Se mantiene activamente?
La última confirmación de la rama principal fue el 10 de junio de 2024 cuando se revisó el 20 de agosto de 2026. La demostración aún se ejecuta, pero la brecha de mantenimiento debe incluirse en las decisiones de adopción técnica.
Fuentes revisadas
- Whisper Web GitHub repositorio
- Whisper Web README y WebGPU nota de sucursal
- Entradas de audio, modelos, tamaños, idiomas y tareas
- Implementación de inferencia, fragmentación y decodificación del trabajador.
- Visualización de marca de tiempo y exportaciones TXT/JSON
- Espacio oficial en vivo Hugging Face
- Guía actual Transformers.js WebGPU
- whisper.cpp WebAssembly ejemplo
- Whisper-WebUI repositorio
Revisión independiente y prueba práctica: 20 de agosto de 2026. El estado del repositorio, la compatibilidad con el navegador, los archivos de modelo y la disponibilidad de la demostración pueden cambiar; Verifique los dispositivos de origen y de destino actuales antes de la implementación.



