0
我想把音頻輸入+ beatdetektor的例子放在一起,這樣我就可以計算通過我的線路(甚至是麥克風輸入)播放的音軌的BPM。使用javascript檢測音頻輸入的bpm?
不幸的是,我不明白應該如何使用「process」方法中的「time」參數(特別是在那種情況下,我不一定知道軌道何時更改等)。
這裏有一些代碼,我試圖解決這個難題使用可愛的p5.js庫,請讓我知道我可以調整,以達到預期的效果。
<script src="js/p5-zip/p5.js"></script>
<script src="js/p5-zip/addons/p5.sound.js"></script>
<script src="js/beatdetektor-master/beatdetektor.js"></script>
<script>
// beatdetektor stuff
bd_med = new BeatDetektor(85,169);
vu = new BeatDetektor.modules.vis.VU();
kick_det = new BeatDetektor.modules.vis.BassKick();
// p5 stuff
mic = new p5.AudioIn();
mic.start();
fft = new p5.FFT();
fft.setInput(mic);
funk = function(){
spectrum = fft.analyze();
bd_med.process((new Date).getTime(), spectrum)
}
// analyse with 60 frames, we could maybe use requestAnimationFrame here
setInterval(funk, 1000/60)
</script>