Journal
IngénieriePublié le 2026-02-12·11 min de lecture

Diarisation de locuteurs sur téléphone : plongée technique

Comment on fait tourner une diarisation bout-en-bout en temps réel sous 4 W — sans téléverser une seule seconde d'audio.

Le problème

La diarisation répond à « qui a parlé quand ? ». C'est la différence entre une transcription qui est un mur de texte et une qui est une conversation. Sans diarisation, « on lance » n'a pas de propriétaire ; avec, ça atterrit sur un prénom et devient une action.

La pipeline

  1. VAD (détection d'activité vocale) — la porte de tout le reste. Nous ne dépensons des cycles que quand il y a de la parole. Notre VAD est un CNN de 200 Ko sur log-mel, qui tourne toutes les 10 ms.
  2. Embedding de locuteur — extrait un vecteur de 192 dim par segment voisé. Modèle de la famille ECAPA-TDNN, distillé à 12 Mo int8.
  3. Clustering en ligne — agglomératif avec raffinement. Les nouvelles preuves mettent à jour les étiquettes passées.
  4. Lissage — les alternances inférieures à 400 ms sont fusionnées pour éviter le scintillement de l'UI.

Ce qui est difficile sur mobile

  • L'embedding doit cohabiter, dans la même enveloppe mémoire, avec le modèle ASR et un summarizer LLM.
  • Le clustering doit être incrémental — pas question de re-clusteriser la réunion entière à chaque pas. On utilise un clusterer agglomératif en ligne à mémoire constante et distance cosinus.
  • L'UI ne doit pas scintiller quand les étiquettes sont raffinées. On anime le changement en cross-fade de 200 ms plutôt que de remplacer le texte.
  • La parole superposée (deux personnes en même temps) casse l'hypothèse d'étiquette unique. On étiquette ces zones par le locuteur dominant et on les marque « overlap » pour que le résumé en aval réduise leur poids.

Où nous atterrissons

Un embedding de 12 Mo, un algo de clustering en streaming avec fenêtre de 6 s, et une vue transcription qui anime les changements d'étiquette au lieu de sauter. Latence end-to-end médiane jusqu'à la première étiquette : 950 ms sur iPhone 15 Pro, 1,6 s sur Pixel 8a.

Ce qui fait encore mal

  • Les voix qui se ressemblent — même tessiture, même accent, même genre — perdent l'embedding pendant les 30 premières secondes. Nous le surfaçons par une indication « encore en apprentissage des voix » dans l'UI.
  • Le brouhaha en salle bruyante dégrade brutalement. Nous testons une mini pré-étape de séparation de sources embarquée.

Recevez les nouveaux articles

Nous vous préviendrons dès qu'un nouvel article paraît.

S'abonner