A thin wrapper around the Web Audio API to extract waveform and frequency data from audio elements.
web-audio-analyser is a lightweight JavaScript library that wraps the Web Audio API to simplify extracting waveform and frequency data from audio sources. It allows developers to easily access real-time audio data for visualization, analysis, or processing without dealing with the low-level complexities of the Web Audio API. The library supports various audio inputs, including HTML audio elements, MediaStreams, and AudioSourceNodes.
Frontend developers and creative coders building audio visualizations, music applications, or real-time audio analysis tools in the browser.
Developers choose web-audio-analyser for its minimal abstraction over the Web Audio API, offering a straightforward way to access audio data with features like stereo support and silent analysis, reducing boilerplate code and complexity.
A thin wrapper around the Web Audio API that takes an <audio> element and gives you its waveform/frequency data in return.
Minimizes boilerplate code by abstracting common tasks like creating AnalyserNodes, as shown in the simple API with `analyser.waveform()` and `analyser.frequencies()` for easy data access.
Works with HTML audio elements, MediaStreams (e.g., from getUserMedia), and AudioSourceNodes, allowing integration with diverse inputs like microphones or pre-loaded audio files.
Optional `stereo` mode enables separate data extraction from left and right channels, providing detailed insights for audio visualizations or spatial analysis.
The `audible: false` option allows analysis without playback, useful for background audio processing or non-intrusive applications, as mentioned in the README.
Marked with an experimental stability badge, indicating it may have breaking changes or lack long-term maintenance, making it risky for critical projects.
Only provides raw Uint8Array data; developers must handle rendering themselves with additional libraries like canvas or D3, increasing implementation complexity.
As noted in the README, streaming audio from external sources requires manual CORS setup (e.g., `audio.crossOrigin = 'Anonymous'`), which can be a hurdle for beginners or complex deployments.
:musical_keyboard: Making life easy to create a MIDI-app on the web. Includes a library to program synesthesia into your app for memory recognition or for creating trippy effects. Convert soundfonts for Guitar, Bass, Drums, ect. into code that can be read by the browser. Supports multiple simultaneous instruments and perfect timing.
C++ program to generate waveform data and render waveform images from audio files
Audio feature extraction for JavaScript.
Beep is a JavaScript toolkit for building browser-based synthesizers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.