Cómo construir un pipeline local de voz a texto con Node.js y Whisper

Aprende a construir un pipeline local gratuito de voz a texto con Node.js y Whisper. Transcribe audio, genera subtítulos SRT y almacena en SQLite.

domingo, 26 de julio de 2026 • 6 min de lectura • Equipo Q2BSTUDIO

Transcribe audio localmente con Node.js y Whisper

En el ecosistema actual del desarrollo de software, la necesidad de procesar audio de forma eficiente y privada se ha vuelto un requisito frecuente, especialmente en entornos donde los datos sensibles no pueden salir de la infraestructura local. Hace unos meses, nos enfrentamos al reto de transcribir largas reuniones grabadas sin depender de servicios cloud que pudieran comprometer la confidencialidad o generar costes recurrentes elevados. La solución fue construir un pipeline completamente local utilizando Node.js y Whisper, el modelo de reconocimiento de voz de OpenAI optimizado para ejecutarse sin conexión. Este enfoque no solo nos permitió ahorrar entre 50 y 100 dólares al mes en APIs de terceros, sino que también nos dio control absoluto sobre los datos. En Q2BSTUDIO, como empresa especializada en el desarrollo de software a medida y soluciones tecnológicas, creemos que esta arquitectura puede ser replicada y adaptada a múltiples escenarios empresariales.

El pipeline se estructura en tres fases principales: ingesta y normalización del audio, transcripción con Whisper y post-procesamiento para generar subtítulos SRT y almacenar los resultados en una base de datos local. Todo corre en Node.js, utilizando bibliotecas ligeras y procesos hijo para invocar herramientas externas como FFmpeg y whisper.cpp. Esta separación permite que cada etapa sea reemplazable o escalable según las necesidades del proyecto. Por ejemplo, si el volumen de audio es muy alto, se puede paralelizar el procesamiento con colas de trabajo o incluso integrar agentes de IA que actúen sobre las transcripciones para extraer conclusiones o generar resúmenes automáticos.

La primera etapa consiste en normalizar el audio a 16 kHz, mono, formato WAV con 16 bits de profundidad, que es el formato que Whisper espera para obtener los mejores resultados. Usamos FFmpeg desde Node.js mediante la librería execa, lo que nos da un control fino sobre los parámetros de conversión. Este paso es crucial porque archivos de baja calidad o con formatos comprimidos (como MP3 o AAC) pueden degradar significativamente la precisión de la transcripción. Además, la normalización garantiza que el modelo reciba señales coherentes independientemente del origen del audio: micrófono de portátil, grabación de Zoom o archivo de podcast.

La segunda etapa ejecuta el binario de whisper.cpp como un proceso hijo. Whisper.cpp es una implementación en C++ del modelo Whisper, optimizada para CPUs y GPUs sin necesidad de librerías pesadas como PyTorch. Seleccionamos el modelo 'base' como punto óptimo entre velocidad y precisión. En pruebas internas con un Ryzen 5 5600X y una RTX 3060, el modelo base transcribe un minuto de audio en unos 7,8 segundos, con una tasa de error de palabra (WER) del 6,7%, más que aceptable para aplicaciones de negocio. Si se necesita mayor precisión (por ejemplo, para transcripciones legales), se puede escalar a modelos 'medium' o 'large' a costa de más tiempo de procesamiento y consumo de VRAM. Esta flexibilidad es clave cuando se integra en sistemas de ciberseguridad, donde cada palabra puede ser relevante, o en soluciones de BI que extraen métricas de conversaciones de atención al cliente.

La tercera fase guarda la transcripción en una base de datos SQLite usando la librería better-sqlite3, que ofrece persistencia sin configuración y un rendimiento excelente para volúmenes moderados. Almacenamos el texto completo, la duración del audio, el modelo usado, el contenido SRT para subtítulos y la fecha de creación. Con un índice descendente por fecha, podemos realizar búsquedas rápidas sobre el contenido textual, lo que permite, por ejemplo, localizar todas las reuniones donde se mencionó un término clave como 'presupuesto' o 'contrato'. Esta funcionalidad se puede extender con herramientas de Business Intelligence (BI) como Power BI para generar dashboards de seguimiento de temas recurrentes. En Q2BSTUDIO ofrecemos servicios de BI que conectan bases de datos locales o cloud con visualizaciones interactivas, y este tipo de pipeline es un excelente punto de partida para alimentar esos cuadros de mando con datos de audio transcrito.

Uno de los mayores beneficios de mantener todo el procesamiento en local es la privacidad. Los datos nunca salen de la red de la empresa, lo que cumple con requisitos estrictos de ciberseguridad y normativas como GDPR. Para organizaciones que manejan información sensible de clientes, como en el sector legal o sanitario, esta arquitectura es ideal. Además, al no depender de APIs externas, no hay límites de tasa ni costes recurrentes, lo que la hace escalable horizontalmente sin sorpresas en la factura. Si la empresa necesita procesar cientos de horas de audio al día, se puede desplegar en máquinas con GPU dedicada o incluso en instancias cloud de AWS o Azure, configuradas con alta capacidad de cómputo y sin enviar datos a servicios de terceros. En Q2BSTUDIO ayudamos a empresas a migrar y optimizar sus infraestructuras cloud, ya sea en AWS o Azure, garantizando que la seguridad y el rendimiento estén alineados con los objetivos de negocio.

Para poner en marcha el pipeline, solo se necesita Node.js, FFmpeg y los binarios de whisper.cpp. Un script de instalación sencillo descarga el modelo base desde Hugging Face y compila whisper.cpp. Luego, una función Node.js orquesta todo el flujo: recibe un archivo de audio, lo normaliza, lanza la transcripción y guarda el resultado. Hemos probado con grabaciones de hasta una hora y funciona de manera estable, aunque para archivos muy largos recomendamos dividir el audio en segmentos de 10-15 minutos para evitar problemas de memoria. Este enfoque modular también permite añadir funcionalidades avanzadas, como la diarización de hablantes (quién dijo qué) o la transcripción en tiempo real mediante WebSockets, tal como hemos desarrollado internamente.

La tecnología detrás de este pipeline no se limita a la transcripción de reuniones. Las aplicaciones a medida que desarrollamos en Q2BSTudio pueden integrar este motor de voz a texto para múltiples casos de uso: desde asistentes virtuales que toman notas automáticas hasta sistemas de análisis de sentimiento en llamadas de ventas. Combinado con agentes de IA, el texto transcrito puede ser procesado para generar resúmenes ejecutivos, clasificar tickets de soporte o extraer datos estructurados. Por ejemplo, un agente de IA podría revisar todas las transcripciones del día y notificar al equipo si detecta palabras relacionadas con quejas recurrentes. Estas capacidades se potencian cuando se integran con soluciones cloud, permitiendo escalar el procesamiento sin perder la privacidad de los datos originales.

Si tu organización está considerando implementar un sistema de transcripción local, te recomendamos empezar con este pipeline y luego personalizarlo según tus necesidades. La clave está en la modularidad: puedes cambiar el modelo de Whisper, añadir un servicio de sincronización con la nube para backup, o conectar la base de datos SQLite a un sistema de BI para análisis posteriores. En Q2BSTUDIO ofrecemos consultoría y desarrollo de software a medida que abarca desde la arquitectura inicial hasta la puesta en producción, incluyendo integraciones con inteligencia artificial, ciberseguridad y automatización de procesos. No dudes en contactarnos para explorar cómo podemos ayudarte a transformar tus datos de audio en información accionable.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.