katspaugh/wavesurfer.js

Audio waveform player

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 47 minutes ago
Added to GitGenius on September 5th, 2026
Created on March 4th, 2012
Open Issues & Pull Requests: 12 (-1)
GitHub issues: Enabled
Number of forks: 1,764
Total Stargazers: 10,401 (+0)
Total Subscribers: 164 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Wavesurfer.js is an interactive waveform rendering and audio playback library for web applications.

The library solves the problem of displaying and interacting with audio waveforms in the browser. It renders waveforms visually and allows users to play, seek, and control audio playback through an intuitive interface. The approach leverages modern web technologies and the Web Audio API to provide real-time waveform visualization synchronized with audio playback.

Wavesurfer.js suits web applications that need to present audio with visual feedback, such as music players, podcast platforms, audio editors, or educational tools. The library includes TypeScript types built-in, supports both module import and UMD script tag inclusion, and offers a plugin architecture for extending functionality. Official plugins provide regions for marking audio sections, timeline displays, minimap navigation, envelope controls for fade effects, microphone recording with waveform rendering, spectrogram visualization, and hover tooltips. Beyond event-driven programming, the tool exposes a reactive API using signals for reading state like current playback time, volume, and mute status, which suits applications that prefer reading state over tracking events.

The project maintains active development with regular updates to its core functionality and plugin ecosystem. The maintainers provide comprehensive documentation including beginner-friendly guides, practical examples, and a full API reference. The codebase is written in TypeScript and includes a test suite. The project accepts community feedback and maintains official plugins alongside the core library.