Commit Graph
9 Commits
Author SHA1 Message Date
Claude db73e8db02 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
2026-06-12 17:50:51 +00:00
Claude b802a3c95f Authentification : login/mot de passe (admin/admin par défaut)
- Page de connexion, session 7 jours par cookie HMAC signé (secret persisté)
- Protection de l'API (401) et du WebSocket (code 4401), / redirige vers /login
- Bouton de déconnexion, redirection automatique à l'expiration de session
- Identifiants configurables via LIVEFLOW_USER / LIVEFLOW_PASSWORD

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 12:43:39 +00:00
Claude c9b4094049 Correction du crash en boucle de l'ASR : command en liste à élément unique
Avec entrypoint bash -c, une command en chaîne YAML est découpée en
plusieurs arguments et bash n'exécutait que le premier echo (exit 0,
restart loop).

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 12:37:41 +00:00
Claude 27c63566df ASR : marqueurs de log au démarrage pour vérifier l'installation des décodeurs
https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 12:35:23 +00:00
Claude a8a8d84923 ASR : installation des décodeurs audio (soundfile, librosa) au démarrage de vLLM
L'image officielle vllm/vllm-openai ne contient pas les extras audio, ce qui
faisait échouer /v1/audio/transcriptions en 400 'Invalid or unsupported
audio file'.

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 11:36:46 +00:00
Claude 8ba9cfb234 ASR : limite --max-model-len à 8192 pour tenir dans le cache KV du GPU
Par défaut vLLM réserve le contexte max du modèle (65k tokens = 7 Go de KV
cache), ce qui dépasse la mémoire restante après chargement des poids sur
les GPU modestes. 8192 tokens sont très largement suffisants pour des
segments audio de 25 s.

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 07:06:10 +00:00
Claude 3c83b67538 Suppression de Caddy : l'app sert directement le HTTPS auto-signé
Un conteneur de moins. Le HTTPS reste nécessaire pour l'accès micro
(getUserMedia) depuis un autre appareil : certificat auto-signé généré au
démarrage pour LIVEFLOW_HOST, servi par uvicorn.

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-11 22:52:41 +00:00
Claude 0101452bc1 Correction ERR_SSL_PROTOCOL_ERROR : certificat généré pour l'adresse du serveur
Un site catch-all :443 avec tls internal ne génère aucun certificat, ce qui
fait échouer la négociation TLS. Le Caddyfile prend désormais l'adresse via
LIVEFLOW_HOST (+ default_sni pour les connexions par IP, sans SNI).

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-11 22:42:21 +00:00
Claude a8517c3597 Implémentation complète de LiveFlow (proposition 2, moteur Qwen3-ASR)
- docker-compose : Caddy (HTTPS local) + app FastAPI + Qwen3-ASR via vLLM (GPU)
- Backend : WebSocket audio, segmentation VAD (WebRTC), appel ASR compatible
  OpenAI, stockage SQLite, exports TXT/MD/SRT/JSON
- Frontend : capture micro (AudioWorklet, rééchantillonnage 16 kHz),
  transcription live, historique des réunions, copie et téléchargement
- README : démarrage, prérequis GPU, changement de moteur ASR

https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-11 16:28:17 +00:00