feat: diarisation des locuteurs en temps réel (ECAPA-TDNN + clustering incrémental)

- Nouveau module diarizer.py : EmbeddingModel (SpeechBrain ECAPA-TDNN) + SpeakerDiarizer par session
- Backend : chargement modèle au lifespan, migration DB (colonne speaker), worker enrichi, exports avec locuteur
- Frontend : badges locuteurs colorés (8 couleurs), toggle activation, copie avec [Locuteur X]
- Config : DIARIZATION=on/off, DIARIZATION_THRESHOLD=0.70, PyTorch CPU-only dans Dockerfile
- Rétrocompatible : désactivé par défaut (DIARIZATION=off)
This commit is contained in:
Michael committed 2026-06-12 16:03:43 +02:00
1 parent ca936255e8
commit 284011428a
10 files changed
+325 -20

No files matched your search

+8
View File
@@ -11,3 +11,11 @@ ASR_API_KEY=sk-local
# Jeton Hugging Face, seulement si le téléchargement du modèle l'exige.
HF_TOKEN=
# Diarisation des locuteurs : on / off (défaut : off).
# Nécessite le modèle ECAPA-TDNN (~25 Mo, téléchargé au premier lancement).
DIARIZATION=off
# Seuil de similarité cosinus pour regrouper deux segments au même locuteur.
# Plus bas = plus permissif (risque de fusion), plus haut = plus strict (risque de split).
DIARIZATION_THRESHOLD=0.70