Для «слияния» двух аудиоканалов в один канал. Это можно назвать звуковым «миксом». Очень простой микс - просто сложить вместе каждый соответствующий сэмпл, например:
var mixed = new Float32Array(floatarray1.length)
for(i=0;i<floatarray1.length;i++){
mixed[i] = floatarray1[i]+floatarray2[i]
}
Если громкость звука довольно высока и, возможно, «переполнена», вам может потребоваться выбрать коэффициент (<1.0 ) для умножения на каждую выборку, чтобы уменьшить риск переполнения: </p>
const voladj = 0.6
var mixed = new Float32Array(floatarray1.length)
for(i=0;i<floatarray1.length;i++){
mixed[i] = (floatarray1[i]+floatarray2[i])*voladj
}
Я думаю, что этот простой алгоритм уже достаточно хорош, чтобы вычислить его в Javascript.
Надеюсь, это поможет.