Skip to main content
Diarizzazione dei parlanti in tempo reale su larga scala

Diarizzazione dei parlanti in tempo reale su larga scala

July 20, 2025

9

min read

Ingegneria

Forma d’onda della diarizzazione dei parlanti
Figura 1: separazione dei flussi audio in tempo reale

Il problema del “cocktail party”

Gli esseri umani sono bravissimi a concentrarsi su una sola voce in una stanza rumorosa. I computer fanno fatica.
In una chiamata VoIP mono-canale (comune nella telefonia legacy), l’agente e il cliente sono mescolati in un unico flusso.

Per costruire un agente IA che sa quando interrompere, occorre sapere chi sta parlando.

L’architettura

1. Embedding a livello di frame

Suddividiamo l’audio in finestre da 500 ms e le facciamo passare attraverso un codificatore leggero (SpeechBrain ECAPA-TDNN).
Output: un vettore a 192 dimensioni che descrive il “timbro” di quel segmento.

2. Architettura ibrida

Ci siamo allontanati da una diarizzazione puramente interna all’app (Pyannote) verso un approccio ibrido:

  1. Diarizzazione esterna: acquisiamo segmenti già diarizzati da API ad alto throughput (come Google speech-to-text o OpenAI).
  2. Verifica interna: eseguiamo localmente la nostra verifica ECAPA-TDNN a 192 dimensioni per “ricontrollare” e associare le identità a profili vocali noti.

3. Vincoli di latenza

Le API cloud gestiscono la mappa “Chi ha parlato e quando?”.
IdentityCall gestisce la verifica “È l’agente X?”.

  • Budget: 50 ms di tempo di elaborazione per frame per la verifica.
  • Ottimizzazione: eseguiamo il codificatore in ONNX Runtime su GPU, quantizzato a INT8.

Gestione della sovrapposizione

La parte più difficile è il “parlato sovrapposto” (circa il 10-15% di una chiamata).
I modelli standard scelgono il parlante “più forte”.
Usiamo la diarizzazione multi-etichetta, assegnando due etichette di parlante a un singolo intervallo temporale se l’embedding suggerisce una mescolanza.

Conclusione

Una buona diarizzazione è il presupposto per una buona trascrizione. Se si attribuisce il “Pronto” dell’agente al cliente, l’intero contesto parte già compromesso.

Tags:

DiarizzazioneElaborazione audioMachine LearningTempo reale