# BBC Audio Waveform Visualisation

JavaScript UI component for interacting with audio waveforms

Repository: https://github.com/bbc/peaks.js
Canonical: https://ross.abutalabs.com/products/bbc-audio-waveform-visualisation
Language: JavaScript
License: LGPL-3.0
License Family: copyleft
Topics: audio, javascript
Last push: 2025-11-08T03:09:27+00:00

## Health v2 (maintenance only)
Score: 53/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 51, release rhythm 28, longevity 100
- inputs: {"age_days": 4706, "days_push": 298, "days_rel": 477, "gap_med": 81.5, "n_releases_24m": 3}
- flags: prerelease_only
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3405, forks 290 (observed 2026-08-28T04:08:03.025338+00:00)

## What it is
Peaks.js is a client-side JavaScript UI component for displaying and interacting with audio waveforms in the browser using HTML canvas. It supports zoomable/scrollable waveform views, point and segment markers, and waveform computation via Web Audio or pre-computed server-side data.

## Use cases
- display audio waveforms in the browser
- add zoomable and scrollable waveform views to a web audio player
- annotate audio with segment or point markers
- render stereo or multi-channel waveforms
- build an audio editing or clipping UI
- visualize pre-computed waveform data files

## When to choose
- you need interactive waveform visualization in a web app
- you want marker annotations for audio segments
- you need zoom and scroll over long audio recordings
- you want client-side waveform rendering with Web Audio fallback

## When to avoid
- you need server-side audio processing rather than browser rendering
- you need a full audio editor rather than a waveform display component
- your project is not browser-based JavaScript

## Facets
- artifact type: library
- maturity: maintenance
- function: audio-processing, ui-components, data-visualization
- domain: frontend, web-development, media
- platform: browser
- tags: waveform, audio-player, canvas, web-audio, zoomable-ui, markers, audio, nodejs, javascript

## Member repositories
- bbc/peaks.js (main) score 53
- bbc/audiowaveform (backend) score 44
- bbc/waveform-data.js (sdk) score 43

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:03.025338+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-29T18:38:36.654408+00:00, confidence not recorded.
  - readme: https://github.com/bbc/peaks.js (fetched 2026-08-28T04:08:03.025338+00:00, sha e48c8eee989d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
