小编Tar*_*ych的帖子

如何在javascript web audio api中获得声音能量?

我想创建一个JS库来检测歌曲BPM.
我读过这篇 文章并理解了算法.
获得10秒声能数据是否正确?我是新手.如果您不理解代码的某些部分,请询问

var audioFileInput = document.querySelector('#audio-file-input');
var audioCtx = new AudioContext();

// call countBpm function on "change" event in audioFileInput
audioFileInput.onchange = function() {
  var file = this.files[0];
  var reader = new FileReader();
  reader.onload = function() {
    countBpm(reader.result)
  };
  reader.readAsArrayBuffer(file);
};

function countBpm(buffer) {
  audioCtx.decodeAudioData(buffer, function(decodedData) {
    var dataFromLeftChannel = getSoundDataFromMiddle(decodedData, 'left');
    var dataFromRightChannel = getSoundDataFromMiddle(decodedData, 'right');
    console.dir(dataFromLeftChannel);
    console.dir(dataFromRightChannel);
    // code to detect bpm will be here
  })
};

// get 10 seconds sound energy data from …
Run Code Online (Sandbox Code Playgroud)

javascript html5-audio web-audio-api

7
推荐指数
0
解决办法
335
查看次数

标签 统计

html5-audio ×1

javascript ×1

web-audio-api ×1