fix: déformation audio par saturation du mixage

Problème:
- Son complètement déformé (clipping massif)
- CoreAudio capture en 32-bit mais traité comme 16-bit
- Mixage additif sans normalisation

Solution:
1. Sox convertit 32→16 bit automatiquement
2. GroupAudioRouter divise gain par nombre de sources
   Exemple: 2 inputs → groupe default = gain × 0.5 chacun

Résultat: Aucun clipping détecté, audio propre
This commit is contained in:
2026-06-02 00:45:41 +02:00
parent a803250f9f
commit 9aff58c528
4 changed files with 26 additions and 10 deletions
+4 -6
View File
@@ -191,19 +191,17 @@ export class CoreAudioBackend extends EventEmitter {
const args = [];
// Spécifier le device d'entrée
// Spécifier le device d'entrée (CoreAudio capture en 32-bit natif)
if (this.options.inputDeviceName) {
// Utiliser le device spécifié par son nom
args.push('-t', 'coreaudio', this.options.inputDeviceName);
} else {
// Device par défaut
args.push('-d');
}
// Format de sortie (stdout)
// Format de sortie (stdout) - convertir 32→16 bit
args.push(
'-t', 'raw',
'-b', '16',
'-t', 'raw', // Format sortie raw PCM
'-b', '16', // Convertir vers 16-bit
'-e', 'signed-integer',
'-c', String(this.options.channels),
'-r', String(this.options.sampleRate),