Releases: dlepaux/realtime-bpm-analyzer
v4.0.2
v3.3.0
v3.2.1
Patch content
This patch allows the library the analyse PCM data with a lower threshold (from 0.3 to 0.2) mainly for microphone usage.
Using a microphone brings difficulties (low amplitude of signal and so thresholding) and basically this patch permits you to compute BPM with weak audio sources.
The documentation and the examples in the readme has been updated accordingly.
I've added an asynchronous parameter debug: boolean
in order to trigger two new events: ANALYZE_CHUNK
and VALID_PEAK
. Those two events will be useful to extract more data while analysing an audio. And so help improving the accuracy of the algorithm further.
ANALYZE_CHUNK: Get each analysed chunks of data processed by the algorithm. The data type is Float32Array and have a size of 4096.
VALID_PEAK: Each times a valid peak is detected the event is triggered. You will have access to the exact location (index) of the peak and at which threshold it has been triggered.
Alternatively, those events can be used to plot this data on a chart for aesthetic purpose. 🌟 Be careful about memory leaks ! 😄
Important Changes
If you use the library with a microphone (like to Shazam the BPM) you should not use the continuousAnalysis flag !
You must stop using the method getBiquadFilters. It's not necessary and actually interferes with the results. I plan to improve the accuracy of the algorithm using filters tough.
Contributors
Thanks @webmaxru, @gfargo and @SM227465 for your reports about the issue.
v3.2.0
v3.1.5
v3.1.3
This release includes new events (STOP and RESET) to add more controls over the library. You need to use the processor postMessage method to trigger an event.
realtimeAnalyzerNode.port.postMessage({
message: 'STOP' | 'RESET',
});
Add handy getBiquadFilters
method to create low and high pass filters with specific settings in order to capture the bass peaks. You can still create your own.
import { getBiquadFilters } from 'realtime-bpm-analyzer';
getBiquadFilters(audioContext);
v3.1.1
This release contains improvements and a safer library to analyse your BPM. The whole library including tests itself are covered. The particularity with those tests are that they need a real human gesture to be done. They're three buttons that needs to be clicked by the tester. The test report is then send to codecov.
Checkout the online toolbox https://www.allegro-project.com that use realtime-bpm-analyzer
.
It's showing up realtime BPM analyser using your Microphone, Stream analyser (from a radio), and file BPM detection ! Enjoy.