grabación con transcripción en tiempo rea

 Tu aplicación es una herramienta de grabación con transcripción en tiempo real utilizando:

  • HTML y JavaScript en el cliente (index.html)

  • Node.js en el servidor (server.js)

  • Whisper (modelo de OpenAI para transcripción de voz)

  • FFmpeg para conversión de audio

¿Cómo funciona tu aplicación?


🖥️ 1. index.html (cliente web)

Este archivo contiene:

  • Una interfaz para grabar video y audio desde el navegador.

  • Un botón para iniciar/detener la grabación y otro para pausar/reanudar.

  • Un contenedor donde se va mostrando la transcripción en tiempo real.

Funcionalidad clave:

  • Usa MediaRecorder para capturar audio en segmentos de 10 segundos.

  • Convierte cada segmento a Blob, lo transforma en base64 y lo envía vía WebSocket al servidor (ws://localhost:9000).

  • Al recibir transcripciones, las muestra en pantalla como segmentos.


🧠 2. server.js (servidor Node.js)

Este script levanta un servidor WebSocket en el puerto 9000.

Proceso:

  1. Recibe audio en base64 desde el navegador.

  2. Guarda el archivo temporalmente como .webm.

  3. Usa ffmpeg para convertir .webm a .wav (16kHz, mono, ideal para ASR).

  4. Usa el comando whisper para transcribir el archivo .wav.

  5. Devuelve el texto transcrito al cliente WebSocket.

  6. Borra archivos temporales.


🛠️ Requisitos para que funcione

En el servidor (donde ejecutas server.js):

Node.js instalado
FFmpeg instalado y accesible desde terminal
Whisper instalado (por ejemplo: pip install openai-whisper)
whisper disponible en la terminal (verifica con where whisper en Windows o which whisper en Linux/Mac)
Python y torch instalados para Whisper


🚀 ¿Cómo ejecutar todo?

1. Asegúrate de tener todo instalado:

bash
npm init -y npm install ws

2. Ejecuta el servidor:

bash
node server.js

Verás en consola:

nginx
Servidor WebSocket de transcripción escuchando en ws://localhost:9000

3. Abre el index.html en tu navegador (usa Live Server o algún servidor local como http-server):

bash
npx http-server . -p 8080

Luego abre http://localhost:8080/index.html


🧪 ¿Cómo probar que funciona?

  • Haz clic en "Iniciar Grabación"

  • Habla por el micrófono

  • Cada 10 segundos deberías ver un nuevo segmento con el texto transcrito

  • Para detener, haz clic en "Detener Grabación"


🧩 ¿Qué puedes revisar si no funciona?

  1. Conexión WebSocket

    • Asegúrate que el puerto 9000 esté disponible y server.js esté corriendo

  2. Whisper no encontrado

    • Ejecuta whisper archivo.wav desde la terminal para comprobar si funciona

  3. FFmpeg no encontrado

    • Prueba ffmpeg -version para ver si está instalado

  4. Error en transcripción

    • Revisa los errores en la consola del navegador y de Node.js


✅ Recomendación final

Si quieres ver cómo es la estructura completa del proyecto:

pgsql
proyecto/ │ ├── index.html ├── server.js ├── temp/ # Se crea automáticamente para guardar los audios └── node_modules/

¿Quieres que te prepare una versión empaquetada o con mejoras como grabación solo de audio, guardado de transcripciones o interfaz más limpia?

Comentarios

Entradas más populares de este blog

1-configurar Vosk para que utilice todos los recursos de mi pc

3-Whisper vs Vosk