WaveSurfer.js is a customizable audio waveform visualization built on top of Web Audio API and HTML5 Canvas. It provides an interactive interface for audio playback with visual waveform representation.
- Real-time waveform rendering
- Audio playback controls
- Zoom and scroll functionality
- Region markers and annotations
- Timeline display
- Minimap for navigation
- Spectrogram visualization
- Multiple audio format support
- Responsive design
- Customizable colors and styling
- Plugin architecture
- Peak normalization
- Backend support (Web Audio, Media Element)
- TypeScript support
- Event system for user interactions
- Regions: Mark and annotate sections
- Timeline: Display time markers
- Minimap: Overview navigation
- Spectrogram: Frequency visualization
- Cursor: Playback position indicator
- Markers: Custom time markers
- Envelope: Volume envelope editing
- Music players
- Podcast applications
- Audio editing tools
- Voice recording apps
- Audio analysis tools
- Language learning apps
- Audio annotation
Free and open-source under the BSD-3-Clause license.