https://github.com/grz0zrg/wabps
Web Audio high quality spectogram from biquad bandpass filters
https://github.com/grz0zrg/wabps
audio-analysis bandpass bandpass-filter biquad biquad-bandpass-filters butterworth-filter chebyshev-filter elliptic example filter-bank fir-filters gnu-octave logarithmic matlab sonogram sound-analysis spectogram web-audio
Last synced: 4 months ago
JSON representation
Web Audio high quality spectogram from biquad bandpass filters
- Host: GitHub
- URL: https://github.com/grz0zrg/wabps
- Owner: grz0zrg
- License: mit
- Created: 2020-06-23T22:57:24.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-28T12:47:32.000Z (almost 5 years ago)
- Last Synced: 2024-12-01T14:35:59.533Z (6 months ago)
- Topics: audio-analysis, bandpass, bandpass-filter, biquad, biquad-bandpass-filters, butterworth-filter, chebyshev-filter, elliptic, example, filter-bank, fir-filters, gnu-octave, logarithmic, matlab, sonogram, sound-analysis, spectogram, web-audio
- Language: HTML
- Homepage:
- Size: 706 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WABPS
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
## Real-time
See also the [real-time version](https://github.com/grz0zrg/WABSP2) which compare Web Audio analyzer node to this method.