From 6f4d15f133b8c3fdc28e5728f30a31e620b97894 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 13 Jun 2026 15:54:09 +0000 Subject: [PATCH] =?UTF-8?q?D=C3=A9coupage=20:=20ne=20plus=20couper=20les?= =?UTF-8?q?=20mots=20en=20d=C3=A9but/fin=20de=20phrase?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Maintenant que l'amplification ne sert qu'à la détection (l'audio transcrit reste propre), on peut rendre le VAD bien plus généreux aux bords sans coût sur la qualité : - pré-enregistrement 300 ms -> 750 ms (capture l'attaque de la 1re syllabe) - VAD plus sensible (agressivité 2 -> 1), déclenchement plus rapide (0.6 -> 0.35) - silence de fin 700 ms -> 950 ms (capture les fins de mots) Validé : lead-in 0.5 s + trailing 1.1 s capturés, phrases distinctes non fusionnées. https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe --- app/segmenter.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/segmenter.py b/app/segmenter.py index f273c00..3d25669 100644 --- a/app/segmenter.py +++ b/app/segmenter.py @@ -17,11 +17,11 @@ SAMPLE_RATE = 16000 FRAME_MS = 30 FRAME_BYTES = SAMPLE_RATE * FRAME_MS // 1000 * 2 # 960 octets -VAD_AGGRESSIVENESS = 2 -PREROLL_FRAMES = 10 # 300 ms conservées avant le déclenchement -TRIGGER_RATIO = 0.6 # part de trames "parole" du pré-roll pour démarrer -SILENCE_END_MS = 700 # silence qui clôt un segment -MIN_SPEECH_MS = 300 # en dessous, le segment est ignoré (bruit) +VAD_AGGRESSIVENESS = 1 # plus sensible : capte les attaques/fins douces +PREROLL_FRAMES = 25 # 750 ms gardées avant le déclenchement (début de phrase) +TRIGGER_RATIO = 0.35 # déclenche vite, sur peu de trames "parole" +SILENCE_END_MS = 950 # silence qui clôt un segment (capte les fins de mots) +MIN_SPEECH_MS = 240 # en dessous, le segment est ignoré (bruit) MAX_SEGMENT_S = 15 # coupe forcée pour garder une latence raisonnable # Contrôle de gain automatique appliqué AVANT la détection de parole : sans lui,