Skip to main content
Diarización de hablantes en tiempo real a escala

Diarización de hablantes en tiempo real a escala

July 20, 2025

9

min read

Ingeniería

Forma de onda de diarización de hablantes
Figura 1: Separación de flujos de audio en tiempo real

El problema del “cocktail party”

Los humanos somos muy buenos concentrándonos en una sola voz dentro de una sala ruidosa. A las computadoras les cuesta.
En una llamada VoIP monocanal (habitual en telefonía heredada), el agente y el cliente quedan mezclados en un único flujo.

Para construir un agente de IA que sepa cuándo interrumpir, necesitas saber quién está hablando.

La arquitectura

1. Embeddings a nivel de frame

Troceamos el audio en ventanas de 500 ms y las pasamos por un codificador ligero (SpeechBrain ECAPA-TDNN).
Salida: un vector de 192 dimensiones que describe el “timbre” de ese fragmento.

2. Arquitectura híbrida

Dejamos atrás la diarización puramente interna (Pyannote) en favor de un enfoque híbrido:

  1. Diarización externa: ingerimos segmentos ya diarizados desde APIs de alto rendimiento (como Google speech-to-text u OpenAI).
  2. Verificación interna: ejecutamos localmente nuestra verificación ECAPA-TDNN de 192 dimensiones para “revalidar” y vincular identidades a perfiles de voz conocidos.

3. Restricciones de latencia

Las APIs en la nube resuelven el mapa de “¿quién habló y cuándo?”.
IdentityCall se encarga de la verificación “¿es este el agente X?”.

  • Presupuesto: 50 ms de tiempo de procesamiento por frame para la verificación.
  • Optimización: ejecutamos el codificador en ONNX Runtime sobre GPU, cuantizado a INT8.

Gestión del solapamiento

La parte más difícil es el “habla solapada” (aproximadamente el 10-15% de una llamada).
Los modelos estándar eligen al hablante “más fuerte”.
Nosotros usamos diarización multietiqueta, que asigna dos etiquetas de hablante a un mismo intervalo temporal si el embedding sugiere una mezcla.

Conclusión

Una buena diarización es el requisito previo de una buena transcripción. Si atribuyes el “Hola” del agente al cliente, todo tu contexto arranca roto.

Tags:

DiarizaciónProcesamiento de audioMachine LearningTiempo real