Whisper
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
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
MediaRecorderpara capturar audio en segmentos de 10 segundos. -
Convierte cada segmento a
Blob, lo transforma enbase64y 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:
-
Recibe audio en base64 desde el navegador.
-
Guarda el archivo temporalmente como
.webm. -
Usa
ffmpegpara convertir.webma.wav(16kHz, mono, ideal para ASR). -
Usa el comando
whisperpara transcribir el archivo.wav. -
Devuelve el texto transcrito al cliente WebSocket.
-
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:
bashnpm init -y npm install ws
2. Ejecuta el servidor:
bashnode server.js
Verás en consola:
nginxServidor 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):
bashnpx 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?
-
Conexión WebSocket
-
Asegúrate que el puerto
9000esté disponible yserver.jsesté corriendo
-
-
Whisper no encontrado
-
Ejecuta
whisper archivo.wavdesde la terminal para comprobar si funciona
-
-
FFmpeg no encontrado
-
Prueba
ffmpeg -versionpara ver si está instalado
-
-
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:
pgsqlproyecto/
│
├── 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?
Dijiste:
En resumen: pasos a seguir
-
Corrige
MediaRecorder: verifica y adapta elmimeType -
Graba solo audio o separa los streams
-
Confirma que el servidor está activo y recibe los segmentos
-
Prueba Whisper manualmente para confirmar que funciona
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Comentarios
Publicar un comentario