wavesurfer.js Alternatives
Looking for an alternative to wavesurfer.js? It's renders interactive audio waveforms with playback, regions, spectrogram and timeline plugins. Below are 9 other audio analysis tools for making music with code — how each compares, and when it's the better choice. Every option is verified against its own source.
| Alternative | Language | License | Best for |
|---|---|---|---|
| aubioC library with Python bindings for onset, pitch, beat and tempo detection. | Python | GPL-3.0-or-later | Lightweight real-time note-onset, pitch, and tempo detection. |
| Basic PitchLightweight neural audio-to-MIDI converter with polyphonic note and pitch-bend detection. | Python | Apache-2.0 | Converting monophonic or polyphonic recordings into MIDI for editing or composition. |
| EssentiaC++ library with Python bindings for audio analysis and music description algorithms. | Python | AGPL-3.0-only | Comprehensive, production-scale audio feature extraction and music description. |
| FluCoMaToolkit bringing signal decomposition, audio descriptors and ML to Max, Pure Data and SuperCollider. | Max / Pd / SuperCollider | BSD-3-Clause | Corpus-based/concatenative synthesis and machine listening in creative-coding environments. |
| librosaPython package for music and audio analysis: feature extraction, beat tracking, and spectrograms. | Python | ISC | Music information retrieval and audio feature extraction for research and ML. |
| thebeatPython package for generating, visualizing and analyzing rhythms and temporal sequences. | Python | GPL-3.0 | Cognitive/behavioral timing and rhythm-perception experiments. |
| torchaudioPyTorch's audio library: I/O, datasets, and transforms (spectrograms, MFCC) for audio ML. | Python | BSD-2-Clause | Audio feature extraction and dataset/transform pipelines within PyTorch ML. |
| CREPEinactiveCNN-based monophonic pitch (f0) tracker with state-of-the-art accuracy. | Python | MIT | Precise fundamental-frequency tracking of single-voice audio (vocals, solo instruments). |
| madmominactivePython MIR library with neural-network models for beat, downbeat and onset detection. | Python | BSD-2-Clause | Research-grade beat, downbeat, and onset detection with pretrained models. |
Notable picks
aubio
C library with Python bindings for onset, pitch, beat and tempo detection. Best for lightweight real-time note-onset, pitch, and tempo detection.
Basic Pitch
Lightweight neural audio-to-MIDI converter with polyphonic note and pitch-bend detection. Best for converting monophonic or polyphonic recordings into MIDI for editing or composition.
Essentia
C++ library with Python bindings for audio analysis and music description algorithms. Best for comprehensive, production-scale audio feature extraction and music description.
FluCoMa
Toolkit bringing signal decomposition, audio descriptors and ML to Max, Pure Data and SuperCollider. Best for corpus-based/concatenative synthesis and machine listening in creative-coding environments.
librosa
Python package for music and audio analysis: feature extraction, beat tracking, and spectrograms. Best for music information retrieval and audio feature extraction for research and ML.
Related JavaScript tools
Other JavaScript tools worth a look, from adjacent categories.