# katspaugh/wavesurfer.js

Audio waveform player

Repository: https://github.com/katspaugh/wavesurfer.js
Canonical: https://ross.abutalabs.com/products/wavesurferjs
Homepage: https://wavesurfer.xyz
Language: TypeScript
License: BSD-3-Clause
License Family: permissive
Topics: audio, music, waveform, web-audio, javascript, typescript
Last push: 2026-08-21T11:58:21+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 98, longevity 100
- inputs: {"age_days": 5295, "days_push": 12, "days_rel": 12, "gap_med": 10.0, "n_releases_24m": 43}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 10384, forks 1763 (observed 2026-08-28T04:10:41.839822+00:00)

## What it is
wavesurfer.js is an open-source JavaScript/TypeScript library for rendering interactive audio waveforms and playing audio in the browser, built on the Web Audio API and HTML5 audio elements. It is highly extensible via official plugins such as Regions, Timeline, Spectrogram, Minimap, Record, Envelope, and Hover.

## Use cases
- add an interactive waveform audio player to a web page
- visualize audio files as waveforms in the browser
- build a podcast or music player with seekable waveform UI
- annotate audio with clickable regions
- record audio from the microphone and show a live waveform
- display a spectrogram of audio frequencies
- create a SoundCloud-style audio player

## When to choose
- you need interactive, seekable waveform visualization in a web app
- you want plugin-based extensibility like regions, timelines, or spectrograms
- you need a lightweight, well-maintained TypeScript library with a large community

## When to avoid
- you need server-side or non-browser audio processing
- you need full DAW-style audio editing rather than playback and visualization
- your project is not web-based (e.g., native mobile or desktop without a web view)

## Facets
- artifact type: library
- maturity: stable
- function: audio-processing, ui-components, plugin-system
- domain: web-development, frontend, media
- platform: browser
- tags: waveform, audio-player, visualization, web-audio, typescript, canvas, spectrogram, podcasting, audio, nodejs, web-server

## Member repositories
- katspaugh/wavesurfer.js (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:41.839822+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:19:05.651198+00:00, confidence not recorded.
  - readme: https://github.com/katspaugh/wavesurfer.js (fetched 2026-08-28T04:10:41.839822+00:00, sha 0b7573be47c3)
  - homepage: https://wavesurfer.xyz (fetched 2026-08-29T08:18:40.373008+00:00, sha 0221a610f11e)
  - site_page: https://wavesurfer.xyz/docs (fetched 2026-08-29T08:18:40.381946+00:00, sha dc63a1d0c589)
  - site_page: https://wavesurfer.xyz/about (fetched 2026-08-29T08:18:40.383843+00:00, sha 842c15f03d0d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
