Полагаю, вы используете автоматическую фильтрацию подавления шума. Значения по умолчанию часто оптимизируются для голоса, что, вероятно, будет выполнять фильтрацию нижних частот. Попробуйте пробиться сквозь ограничения:
var supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
и посмотрите, даст ли кто-нибудь из них то, что вам нужно, например,
var constraints =
{
audio: {
optional: [{ echoCancellation: false },
{ noiseSuppression: false }
]
}
};
navigator.getUserMedia(constraints, gotStream, errorout );