Ich versuche, ein Audio-Eingang + Beatdetektor Beispiel zusammenzustellen, so dass ich die BPM eines Tracks durch meine Linie (oder sogar Mikrofon-Eingang) spielen könnte.Erkennen von BPM der Audioeingabe mit Javascript?
Leider habe ich nicht genau verstanden, wie der "time" -Parameter von der "process" -Methode verwendet werden soll (speziell in diesem Fall, wo ich nicht unbedingt weiß, wann sich die Spur ändert, usw.).
Hier ist ein Code, den ich zusammengestellt habe, um dieses Puzzle mit der schönen Bibliothek p5.js zu lösen. Bitte lassen Sie mich wissen, wie ich das optimieren könnte, um den gewünschten Effekt zu erzielen.
<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>