57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
# Flujo de Audio desde el Navegador hasta el Modelo de Procesamiento (Fast Whisper - python)
|
|
```bash
|
|
[ Navegador (micrófono) ]
|
|
│
|
|
▼
|
|
[ WebSocket - envío de chunks ]
|
|
│
|
|
▼
|
|
[ Servidor - recibe chunks ]
|
|
│
|
|
▼
|
|
[ Buffer de audio interno ]
|
|
│
|
|
▼
|
|
[ Cola de procesamiento ]
|
|
│
|
|
▼
|
|
[ Worker - procesamiento de voz ]
|
|
│
|
|
▼
|
|
[ Modelo de transcripción / análisis ]
|
|
```
|
|
|
|
### 1. Captura del Audio (Web)
|
|
El usuario habla, y el navegador graba el audio mediante el micrófono.
|
|
|
|
El audio se divide en pequeños fragmentos (chunks) en tiempo real.
|
|
|
|
Estos chunks se envían al servidor mediante una conexión WebSocket.
|
|
|
|
### 2. Recepción del Audio (Servidor)
|
|
El servidor escucha los mensajes entrantes del WebSocket.
|
|
|
|
Cada mensaje recibido contiene un chunk de audio.
|
|
|
|
Si el audio no está en el formato esperado (por ejemplo, no es de 16 kHz), se resamplea a la frecuencia adecuada.
|
|
|
|
### 3. Preprocesamiento
|
|
Cada chunk de audio es enviado a una función que lo almacena temporalmente en un buffer interno.
|
|
|
|
Una vez que el buffer acumula suficiente audio (por ejemplo, 1 segundo), se forma un bloque más grande.
|
|
|
|
Este bloque es enviado a una cola de procesamiento.
|
|
|
|
### 4. Cola de Procesamiento
|
|
La cola permite que el sistema siga recibiendo audio aunque el procesamiento tarde un poco.
|
|
|
|
Actúa como un intermediario entre la recepción y el análisis, para evitar pérdidas.
|
|
|
|
### 5. Procesamiento de Audio
|
|
Un componente de fondo ("worker") toma los bloques de la cola.
|
|
|
|
Este worker realiza tareas como:
|
|
- Detección de voz (saber cuándo alguien empieza a hablar)
|
|
- Detección de palabra clave (wake word)
|
|
- Preparación para la transcripción
|