benoit
8c43c7e8af
feat: ajout GroupAudioRouter.js pour routing audio multi-canaux avec gains
...
- Mix de plusieurs canaux physiques vers groupes (gains individuels)
- Distribution groupes vers plusieurs canaux physiques (gains individuels)
- Support canaux partagés avec mixage additif
- Gestion gains par route (-120dB à +6dB)
- Anti-clipping automatique
- Statistiques routing temps réel
2026-05-25 22:07:44 +02:00
benoit
9350c9410c
feat: système hot-reload bridge audio avec ConfigManager (Phase 2.5)
...
- ConfigManager: gestionnaire centralisé config avec EventEmitter
- AudioBridgeManager: gestion bridge avec auto-reload sur changement config
- Intégration dans serveur principal (index.js)
- Événements 'audio-device-updated' et 'config-updated'
- Reload automatique du bridge sans redémarrer serveur
- Mode placeholder pour développement (vrai bridge Phase 3)
2026-05-25 09:45:59 +02:00
benoit
03b3f94824
feat: ajout APIs détection et configuration cartes son (Phase 2.5)
...
- GET /admin/audio/devices : énumération devices CoreAudio
- GET /admin/audio/device : récupération config actuelle
- POST /admin/audio/device : sélection carte son + sample rate
- Workaround naudiodon segfault avec devices fictifs
- Configuration sauvegardée dans config.yaml
2026-05-25 09:40:43 +02:00
benoit
efd697a9d3
feat: implémentation complète du bridge audio serveur (Phase 1.3)
...
Composants créés :
- CoreAudioBackend.js : Backend audio macOS natif (naudiodon/PortAudio)
- Énumération et sélection devices audio
- Capture audio 48kHz mono/stereo
- Lecture audio avec buffer circulaire
- Gestion underrun/overrun
- OpusCodec.js : Encodeur/décodeur Opus
- Support 32-320 kbps configurable
- Présets voix (économique, standard, HD) et musique
- Frame 20ms (960 samples à 48kHz)
- Statistiques encode/decode
- JitterBuffer.js : Buffer FIFO adaptatif
- Cible 40ms (2 frames)
- Détection underrun/overrun
- Mode adaptatif pour conditions réseau variables
- Statistiques latence et santé buffer
- LiveKitClient.js : Client LiveKit pour bridge
- Connexion room en tant que participant "AudioBridge"
- Publication/souscription tracks audio
- Reconnexion automatique
- Gestion événements participants
- AudioBridge.js : Classe principale orchestration
- Détection automatique backend (CoreAudio macOS)
- Routing bidirectionnel CoreAudio ↔ Opus ↔ LiveKit
- Configuration via présets ou custom
- Logs détaillés et statistiques temps réel
Dépendances ajoutées :
- opusscript : Codec Opus JavaScript
- naudiodon : Bindings natifs PortAudio/CoreAudio
- livekit-client : SDK LiveKit côté serveur
TODO.md mis à jour avec tâches Phase 1.3 complétées.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-05-22 22:18:18 +02:00