Как рассчитать бас в веб-аудио API (javascript) - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь определить текущий низкие частоты звука, исходящего из моего микрофона, с помощью веб-аудио 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), однако я не уверен, если это правильный способ определения низких частот входящего звука. Это правильный путь?

...