Commit Graph
9 Commits
Author SHA1 Message Date
Michael e59bdd1feb fix: sécuriser startRecording, stopRecording et utiliser la contrainte de micro ideal 2026-06-12 16:32:39 +02:00
Michael dd31090d3f fix: gestion des contextes non sécurisés, erreurs websocket et rechargement liste des réunions 2026-06-12 16:27:34 +02:00
Michael a343c90340 feat: configurer le nombre max de locuteurs via DIARIZATION_MAX_SPEAKERS (défaut 8) 2026-06-12 16:23:38 +02:00
Michael 8dbc657d7d fix: correction de la détection et du listing des micros au chargement 2026-06-12 16:21:13 +02:00
Michael a85051c4dd docs: ajout du fichier de suivi task.md 2026-06-12 16:19:09 +02:00
Michael d46ba02b39 fix: rafraîchir les étiquettes des micros après autorisation getUserMedia 2026-06-12 16:18:08 +02:00
Michael 86f94fc22c feat: sélecteur de microphone dans l'interface
- Select dropdown peuplé via enumerateDevices() au chargement
- Mise à jour automatique quand un périphérique est branché/débranché (devicechange)
- Le deviceId sélectionné est passé à getUserMedia() via exact constraint
- Option 'Micro par défaut' pour le comportement d'origine
2026-06-12 16:15:51 +02:00
Michael 284011428a 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)
2026-06-12 16:03:43 +02:00
Michael ca936255e8 chore: update .gitignore to exclude non-project dirs 2026-06-12 15:49:58 +02:00