fix: routing audio macOS avec support multi-canaux et LiveKit

Corrections majeures pour le support audio sous macOS :

- CoreAudioBackend : syntaxe sox correcte avec `-t coreaudio "Device Name"`
- AudioBridge : dé-entrelacement stéréo → canaux séparés (ligne 410-424)
- AudioBridge : entrelacement canaux → stéréo pour sortie (ligne 490-522)
- AudioBridge : duplication mono → stéréo pour LiveKit (ligne 438-449)
- config.yaml : ajout `channels: 2` pour capture stéréo
- config.yaml : ajout groupes "Production" et "Technique"

Résultat :
- Capture stéréo fonctionnelle depuis Loopback Audio 4
- Routing : 2 inputs → 3 groupes → LiveKit + 2 outputs
- Format audio correct pour LiveKit (mono dupliqué en stéréo)
- Pas d'erreur "Taille frame incorrecte"

Problème restant : sox playback se ferme après 0.4s (EPIPE)
This commit is contained in:
2026-06-02 00:33:26 +02:00
parent 36e1799ec5
commit a803250f9f
3 changed files with 133 additions and 51 deletions
+13 -8
View File
@@ -1,17 +1,20 @@
audio:
sampleRate: 48000
channels: 2
frameSize: 20
defaultBitrate: 96
jitterBufferMs: 40
device:
inputDeviceId: Microphone MacBook Pro
inputDeviceId: Loopback Audio 4
outputDeviceId: Haut-parleurs MacBook Pro
sampleRate: 48000
routing:
inputToGroup:
"0":
- production
"1": []
- default
"1":
- default
"2": []
"4":
- technique
@@ -23,29 +26,31 @@ audio:
production:
- "0"
- "1"
default:
- "0"
gains: {}
channelNames:
inputs:
"0": iphone
"0": Mac
"1": Talkback FOH
"2": Retour Console
"3": Liaison Scène
"4": Monitor Mix
"5": Spare 1
outputs:
"0": Sortie Principale
"1": Retour Scène
"0": L
"1": R
"2": Talkback Console
groups:
- name: Default
audioBitrate: 96
channels: []
- name: Production
audioBitrate: 96
channels: []
- name: Technique
audioBitrate: 96
channels: []
- name: Sonorisation
audioBitrate: 128
channels: []
server:
host: 0.0.0.0
port: 3000