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

+4
View File
@@ -24,6 +24,10 @@
<input id="title" type="text" placeholder="Titre de la réunion (optionnel)">
<button id="record-btn" class="record">● Démarrer</button>
<span id="timer">00:00</span>
<label id="diarization-toggle" class="toggle" title="Identifier les locuteurs">
<input type="checkbox" id="diarization-cb">
<span>👥 Locuteurs</span>
</label>
</section>
<section id="transcript-panel">