Skip to content
/ WABPS Public

Web Audio high quality spectogram from biquad bandpass filters


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



6 Commits

Repository files navigation


Web Audio high quality spectogram from biquad bandpass filters

This is a complete demo of a high quality spectogram built out of the Web Audio biquad bandpass filters.

The demo contain code for up to 96db bp rolloff by simple biquad filters cascade, this may improve quality considerably however it is not perfect due to filter design thus it may cause ringing issues as order increase (spectrum may look delayed / smoothed), one can only reduce this by slightly increasing the bandwidth

The bank filters default rolloff is 12db by default, a function argument name must be changed to select rolloff (24db, 48db, 96db)

The example code is straightforward and support both linear and logarithmic rendering.

The output values are normalized.

Custom biquad node

The custom_biquad directory contain an example which use a custom biquad audio worklet node with support for multiple orders.

Using a custom biquad node allow to specify each filters coefficients (not possible with Web audio biquad filter) which allow wide possibilities such as multi-resolution by combining filters, this should accomodate most needs.

The example generate a high quality spectogram from filter bank biquad coefficients generated by a Matlab / GNU Octave script which allow elliptic / chebyshev / butterworth and many other type of filter to be specified with any orders

By default it use coefficients from an elliptic filter of order 4


See also the real-time version which compare Web Audio analyzer node to this method.