Realtime Bpm Analyzer Versions Save

Library using WebAudioAPI to analyse BPM from files, audionodes. It's also able to compute BPM from streams as well as realtime using a microphone. This tool might be useful for music producers and DJs or anybody that wants to get BPM from any music source.

v4.0.2

1 month ago

What's Changed

Full Changelog: https://github.com/dlepaux/realtime-bpm-analyzer/compare/v3.3.0...v4.0.2

v3.3.0

3 months ago

What's Changed

  • Upgrade of all dependencies (development)
  • Replaced karma by web-test-runner
  • Add dataset testing with web-dev-server

v3.2.1

10 months ago

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

1 year ago

This new version get rid of the processor file to previously expose into your public / root of domain !

Bye bye 👋 realtime-bpm-processor.js, Hi to fully bundled library 🎉 !

Thank you @evoyy for the suggestion.

Happy BPM Analysis !

v3.1.3

1 year ago

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

1 year ago

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.

v3.0.3

1 year ago

Fix couple of bugs and expose types to improve developer friendliness.

v3.0.0

1 year ago

Migration to AudioWorklet Add Typescript

v2.1.6

2 years ago

Fix issue on install