feat: configurer le nombre max de locuteurs via DIARIZATION_MAX_SPEAKERS (défaut 8)

This commit is contained in:
Michael committed 2026-06-12 16:23:38 +02:00
1 parent 8dbc657d7d
commit a343c90340
4 files changed
+9

No files matched your search

+3
View File
@@ -19,3 +19,6 @@ 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
# Nombre maximum de locuteurs à identifier (défaut : 8) pour éviter les faux positifs.
DIARIZATION_MAX_SPEAKERS=8
+2
View File
@@ -21,6 +21,7 @@ ASR_API_KEY = os.environ.get("ASR_API_KEY", "sk-local")
ASR_LANGUAGE = os.environ.get("ASR_LANGUAGE", "").strip()
DIARIZATION = os.environ.get("DIARIZATION", "off").strip().lower() == "on"
DIARIZATION_THRESHOLD = float(os.environ.get("DIARIZATION_THRESHOLD", "0.70"))
DIARIZATION_MAX_SPEAKERS = int(os.environ.get("DIARIZATION_MAX_SPEAKERS", "8"))
db: aiosqlite.Connection | None = None
http: httpx.AsyncClient | None = None
@@ -149,6 +150,7 @@ async def ws_transcribe(ws: WebSocket):
diarizer = SpeakerDiarizer(
model=embedding_model,
threshold=DIARIZATION_THRESHOLD,
max_speakers=DIARIZATION_MAX_SPEAKERS,
)
while True:
+1
View File
@@ -16,6 +16,7 @@ services:
# Diarisation des locuteurs (off par défaut pour rétrocompatibilité)
- DIARIZATION=${DIARIZATION:-off}
- DIARIZATION_THRESHOLD=${DIARIZATION_THRESHOLD:-0.70}
- DIARIZATION_MAX_SPEAKERS=${DIARIZATION_MAX_SPEAKERS:-8}
volumes:
- liveflow-data:/data
depends_on:
+3
View File
@@ -19,6 +19,8 @@ Vérification de la cohérence de tous les fichiers (backend et frontend) et tes
- [x] Modifier `docker-compose.yml` — passer les variables d'environnement de diarisation
- [x] Vérification de la cohérence de tous les fichiers et validation
- [x] Correction de tout bug ou problème détecté
- [x] Rendre configurable le nombre maximal de locuteurs (DIARIZATION_MAX_SPEAKERS, défaut 8) dans main.py, .env.example et docker-compose.yml
## Progress Log
- Création du module `diarizer.py` pour l'extraction des embeddings et le clustering.
@@ -28,3 +30,4 @@ Vérification de la cohérence de tous les fichiers (backend et frontend) et tes
- Validation et commit des modifications pour le sélecteur de micro et la diarisation.
- Amélioration du frontend pour rafraîchir les noms des micros après autorisation d'accès, commit et push sur main.
- Correction de l'affichage de la liste des micros : demande initiale d'autorisation au chargement de la page et filtrage des périphériques sans identifiant.
- Ajout de la variable d'environnement DIARIZATION_MAX_SPEAKERS (défaut 8) et intégration dans l'instanciation de SpeakerDiarizer.