Я пытаюсь определить текущий низкие частоты звука, исходящего из моего микрофона, с помощью веб-аудио API (javascript). Я могу получить объем путем создания пустого массива Uint8Array и использования узла анализатора для сбора счетчиков частоты.
this.volume = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(this.volume);
var values = 0;
var length = this.volume.length;
for (var i = 0; i < length; i++) {
values += (this.volume[i]);
}
var volume = values / length;
И я пытаюсь получить бас, используя следующую логику c
let bass = this.volume
let CalculateRMS = (arr) => Math.sqrt(
arr
.map( val => (val * val))
.reduce((acum, val) => acum + val)/arr.length
);
let RMS = CalculateRMS(bass);
Я получаю возвращаемое значение (например, 9.793971359974462), однако я не уверен, если это правильный способ определения низких частот входящего звука. Это правильный путь?