LogiFlow
8ad7cf042e
Fix pause, mobile transcription, and diarization
2026-06-12 17:29:02 +02:00
LogiFlow
a402fac8fc
Fix pause, mobile transcription, and diarization
2026-06-12 17:28:33 +02:00
LogiFlow
5a9c2a6239
Fix pause, mobile transcription, and diarization
2026-06-12 17:26:04 +02:00
Michael
52fda48e5f
feat: gestion de pause/reprise de reunion et correction du bug de sigles chinois (ASR francais par defaut)
2026-06-12 16:53:24 +02:00
Michael
6d1419492f
fix: forcer le rechargement de app.js et style.css via cache-busting (?v=2)
2026-06-12 16:39:39 +02:00
Michael
c06b490a0c
feat: indicateur visuel de volume micro en temps réel et boîte de diagnostic des erreurs JS
2026-06-12 16:35:17 +02:00
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
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
Claude
80176e9f82
ASR : repli automatique sans le paramètre language refusé par certains moteurs
...
vLLM avec Qwen3-ASR peut répondre 400 quand 'language' est fourni. L'app
retente alors en détection automatique, et les erreurs ASR remontent
désormais avec le corps de la réponse pour faciliter le diagnostic.
Ajout du favicon (404 dans la console).
https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 09:33:40 +00:00
Claude
16f41d6303
Option LIVEFLOW_TLS=off pour servir en HTTP derrière un reverse proxy existant
...
https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 09:01:26 +00:00
Claude
71ee13f845
Frontend : message d'erreur micro détaillé selon la cause (NotReadableError, etc.)
...
https://claude.ai/code/session_01YHMp3EKzr4s6o8w1ygxuUe
2026-06-12 09:00:15 +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
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