{"id":22120747,"url":"https://github.com/grz0zrg/wabsp2","last_synced_at":"2026-02-06T09:10:59.087Z","repository":{"id":148952540,"uuid":"275012404","full_name":"grz0zrg/WABSP2","owner":"grz0zrg","description":"Web Audio high quality real-time spectogram from biquad bandpass filters ","archived":false,"fork":false,"pushed_at":"2020-06-27T00:47:28.000Z","size":1878,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T06:52:37.297Z","etag":null,"topics":["analysis","audio-worklet","bandpass","bandpass-filter","biquad","example","filtering","logarithmic","realtime","sonogram","spectogram","spectral","spectral-analysis","web-audio"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grz0zrg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-25T20:49:16.000Z","updated_at":"2024-11-14T15:30:50.000Z","dependencies_parsed_at":"2023-04-14T22:56:19.360Z","dependency_job_id":null,"html_url":"https://github.com/grz0zrg/WABSP2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/grz0zrg/WABSP2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grz0zrg%2FWABSP2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grz0zrg%2FWABSP2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grz0zrg%2FWABSP2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grz0zrg%2FWABSP2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grz0zrg","download_url":"https://codeload.github.com/grz0zrg/WABSP2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grz0zrg%2FWABSP2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267482003,"owners_count":24094506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analysis","audio-worklet","bandpass","bandpass-filter","biquad","example","filtering","logarithmic","realtime","sonogram","spectogram","spectral","spectral-analysis","web-audio"],"created_at":"2024-12-01T14:29:45.875Z","updated_at":"2026-02-06T09:10:59.019Z","avatar_url":"https://github.com/grz0zrg.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WABPS 2\n\nSame as [WABPS](https://github.com/grz0zrg/WABPS)\n\nWeb Audio high quality spectogram from biquad bandpass filters\n\nThis is a complete demo of a real-time version (mic input) of my high quality spectogram implementation.\n\nIt use an audio worklet to capture N samples from audio input continuously and pass it to the main context as a SharedArrayBuffer, the data is then windowed to avoid abrupt start \u0026 end analysis and a set of bandpass filters (which equal to the canvas height) are then applied over to extract each frequency bands.\n\nThe 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\n\nThe bank filters default rolloff is 12db by default, a function argument name must be changed to select rolloff (24db, 48db, 96db)\n\nAdvantages over Web audio analyzer node :\n\n* not limited to a fixed number of samples (not even need to be power of two)\n* higher quality since you can cascade bandpass filters (this may come with other inconvenient due to the filter design)\n* just higher quality and way more flexible (and slower, still fine for realtime by chosing parameters carefully)\n\nThe demo can get unstable if there is not enough processing power, this can be solved by reducing context sample rate, by increasing window size or by reducing canvas height.\n\nBoth bandpass \u0026 web audio analyzer node are compared.\n\nThe example code is straightforward and support linear and logarithmic rendering.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrz0zrg%2Fwabsp2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrz0zrg%2Fwabsp2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrz0zrg%2Fwabsp2/lists"}