Diarisation des locuteurs et pause/reprise (intégration des travaux de main)

- diarizer.py (ECAPA-TDNN + clustering incrémental) repris tel quel de main
- Hooks dans le pipeline : colonne speaker, identification par segment dans
  un thread, locuteur dans l'interface (étiquettes colorées) et les exports
- Pause/reprise : bouton ⏸, le client coupe l'envoi, le serveur clôt le
  segment en cours
- Case « Locuteurs » pour désactiver la diarisation par réunion
- DIARIZATION=on par défaut dans les compose, PyTorch CPU dans l'image

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
This commit is contained in:
Claude committed 2026-06-12 17:50:51 +00:00
1 parent 21866ec334
commit db73e8db02
10 files changed
+352 -20

No files matched your search

+12
View File
@@ -66,6 +66,18 @@ docker compose -f docker-compose.unraid.yml up -d app
> Première utilisation : le paquet ghcr.io doit être **public** (GitHub →
> page du dépôt → Packages → liveflow → Package settings → Change visibility).
## Diarisation (qui parle ?)
Avec `DIARIZATION=on` (par défaut), chaque segment est attribué à un locuteur
(« Locuteur 1 », « Locuteur 2 »...) par empreinte vocale (ECAPA-TDNN sur CPU,
modèle ~80 Mo téléchargé au premier démarrage dans `data/models`). Les
locuteurs apparaissent dans l'interface et les exports. Réglages :
`DIARIZATION_MAX_SPEAKERS` (défaut 8) et `DIARIZATION_THRESHOLD` (défaut 0.70,
baisser si deux personnes sont confondues, monter si une personne est coupée
en deux). La case « Locuteurs » de l'interface permet de désactiver la
diarisation pour une réunion donnée. Pendant l'enregistrement, le bouton
**⏸ Pause** suspend la capture sans clore la réunion.
## Authentification
L'interface est protégée par un identifiant/mot de passe (**admin / admin**