30 open-source projects similar to katspaugh/wavesurfer.js, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
AmplitudeJS is a JavaScript library and framework for building custom HTML5 audio players. It serves as a client-side playlist manager and media controller that bridges the gap between HTML elements and the Web Audio API, allowing developers to create branded media interfaces without relying on default browser styles. The project is distinguished by its use of CSS-class-based DOM binding and data-attribute state mapping, which links HTML elements directly to playback controls and track metadata. It includes a dedicated visualization system that uses the Web Audio API to render real-time SVG w
EZAudio is an audio library for Apple platforms that provides standardized interfaces for microphone capture, file playback, and hardware output. It functions as a low-latency audio processor and visualization framework designed to manipulate audio buffers and route signals with minimal delay. The project features a hardware-accelerated waveform renderer for drawing real-time audio amplitudes and rolling plots. It also includes a Fast Fourier Transform analyzer that converts time-domain audio samples into frequency-domain data for spectral analysis. The library covers a broad range of capabi
SoundManager2 is a JavaScript audio API and cross-browser audio engine designed to provide consistent playback across different web browsers and devices. It functions as an HTML5 audio wrapper and playback manager that abstracts native APIs into a unified interface, ensuring compatibility through an automatic switching mechanism between available audio backends and codecs. The library distinguishes itself with an RTMP audio streamer for network communication with media servers and a built-in ID3 metadata parser for extracting track titles, artist information, and genre tags from audio files.
Recorder is a JavaScript library for capturing audio from microphones and encoding the resulting data into multiple formats, including MP3, WAV, and WebM. It provides a unified interface for cross-platform audio recording across web browsers and mobile applications. The library functions as an audio signal processing tool and waveform visualizer, offering real-time visual feedback through frequency histograms and waveforms. It includes specialized capabilities for encoding and decoding dual-tone multi-frequency telephone keypad tones. The project covers a broad range of audio manipulation ca
NAudio is a .NET audio library that provides playback, recording, format conversion, and signal processing capabilities for Windows applications. It serves as an audio format converter between common formats like WAV, MP3, AAC, and AIFF using ACM or Media Foundation codecs, and functions as an audio playback and recording API through Windows audio APIs including WaveOut, DirectSound, ASIO, and WASAPI. The library includes an audio stream processor that can mix, trim, loop, fade, resample, and adjust pitch or channel count of audio streams with a floating-point engine. It also provides an audi
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi
Webamp is a JavaScript library that provides a browser-based media player interface designed to replicate the experience of classic desktop audio software. It functions as a reusable component that allows developers to embed customizable, skinnable audio playback controls directly into web pages. The project distinguishes itself through its focus on legacy software emulation, recreating the visual and functional design patterns of traditional media players within modern web environments. It achieves this by rendering complex interface elements onto a canvas surface and managing application st
This project is an open-source multimedia player for Windows designed for high-performance audio and video playback. It functions as a DirectShow-based media renderer that utilizes hardware-accelerated graphics APIs to perform color space conversion and high-quality scaling directly on the display adapter. The application distinguishes itself through granular control over playback dynamics and visual output. Users can manipulate video orientation through rotation, flipping, and zooming, while also leveraging support for high dynamic range rendering. The player supports automated playback sequ
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
This project is an acoustic keystroke recognition system and audio side-channel analysis tool. It identifies typed text by analyzing audio recordings of keyboard sounds through waveform correlation and linguistic frequency analysis. The system distinguishes itself by combining digital signal processing with a substitution cipher decryptor. It uses simulated annealing and n-gram probability maps to recover plaintext from encoded strings and identifies specific keys by comparing captured waveforms against trained sound profiles. The toolkit covers a broad range of capabilities, including real-
SoundJS is a JavaScript audio library and asset manager designed to load and play audio across different browsers using a consistent API. It serves as a wrapper that abstracts the Web Audio API and HTML5 Audio to provide a cross-platform playback system. The project ensures consistent sound across devices by supporting Web Audio, HTML5, and mobile plugins. It includes specific mechanisms for mobile environments, such as unlocking audio playback on iOS via user-initiated touch events and managing playback continuity during screen locks. The library covers asset management through the registra
Musicbox is a terminal-based music player and command-line interface client for NetEase Cloud Music. It functions as a keyboard-driven audio player that enables users to stream music, manage playlists, and browse charts directly within a terminal environment. The project utilizes a headless music daemon to separate background audio playback and authentication from the command-line interface. This architecture allows for audio control via external commands or agents and includes a desktop lyrics overlay capable of dual-line rendering and foreign language translations. The system covers high-f
React Native Audio Toolkit is a cross-platform mobile library and toolkit for recording, playing, and streaming audio files within cross-platform mobile applications. It provides a unified JavaScript interface that abstracts the distinct native audio implementations of different mobile operating systems behind a common set of APIs. The library supports loading and playing local or remote audio files with controls for playback speed, volume, looping, seeking, and hardware looping. It also captures microphone input into audio files with configurable bitrate, channels, sample rate, format, and m
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
Ebiten is a cross-platform 2D game engine and framework for the Go programming language. It provides a hardware-accelerated 2D renderer and a multi-input handling library to develop two-dimensional games with a single codebase. The engine is designed for broad deployment, allowing applications to be compiled and run across desktops, mobile devices, web browsers, and gaming consoles. It distinguishes itself by integrating custom shader programming for specialized visual effects and providing haptic feedback control for mobile devices and gamepads. The framework covers core game development ca
This project is a terminal-based music controller that provides a text-based interface for managing audio streaming, library navigation, and playback device selection. It functions as a client for remote music services, allowing users to browse catalogs, control playback states, and manage their streaming accounts directly from the command line. The application distinguishes itself through a highly customizable interface and automation capabilities. Users can modify the visual layout, adjust themes, and define custom keyboard shortcuts to create a personalized control workflow. Beyond interac
This project is a command-line utility and development framework designed to modify, extend, and customize the Spotify desktop client. It functions as a binary patching engine that injects custom scripts, stylesheets, and interface components directly into the host application, enabling users to alter visual themes and add new functionality. The tool distinguishes itself by providing a comprehensive development environment for building modular extensions and custom applications. It includes a hot-reloading pipeline for rapid iteration, a declarative library for constructing interactive UI pan
LX Music Mobile is an open-source music streaming client designed to provide a unified audio playback experience across mobile and desktop operating systems. It functions as a centralized interface that aggregates audio content from multiple online sources, allowing users to discover and stream media through a single application. The platform distinguishes itself by providing a consistent media control environment that abstracts platform-specific audio APIs, ensuring uniform playback behavior regardless of the underlying hardware. It supports the organization and management of personal music
Howler.js is a JavaScript library that provides a unified interface for managing audio playback across web browsers. It functions as a cross-browser audio engine, abstracting complex browser audio APIs into a consistent developer experience while ensuring reliable performance through automatic fallback mechanisms. The library distinguishes itself by offering specialized tools for spatial audio and efficient asset management. It includes a spatial audio framework that maps three-dimensional vectors to audio nodes for immersive sound positioning, alongside an audio sprite manager that allows de
MusicPlayer2 is a desktop music player for Windows built on the BASS audio engine, designed for high-quality local audio playback with real-time spectrum visualization. It functions as a local music library manager, organizing tracks by artist, album, and genre, while also serving as an online metadata and artwork downloader that fetches lyrics and album covers automatically. The player features a fully customizable interface defined through XML configuration files, and includes a synchronized lyrics display with desktop overlay and karaoke-style highlighting. The player distinguishes itself
LMMS is a digital audio workstation and MIDI sequencer designed for composing, arranging, and mixing music. It functions as a comprehensive production environment that integrates a MIDI sequencer, a sample-based synthesizer, and an audio mixing console. The project distinguishes itself through a versatile synthesis engine that includes additive synthesis, wavetable generation, and emulations of vintage hardware such as NES audio and FM chips. It also serves as a VST plugin host, allowing for the integration of third-party virtual instruments and audio effects via a standardized interface. Be
Asciinema is a platform for capturing, replaying, and sharing command-line sessions. It provides a comprehensive suite of tools to record terminal activity into lightweight, text-based files that preserve ANSI escape sequences, allowing users to document technical workflows, troubleshooting steps, and software demonstrations with high fidelity. The project distinguishes itself through its versatile playback and distribution capabilities. It features a web-based player that renders interactive terminal sessions directly in the browser, supporting features like seeking, playback speed control,
DPlayer is a web-based HTML5 video player designed as a modular frontend component for embedding interactive media into web applications. It provides a unified interface for controlling playback and extends native browser capabilities to support complex streaming protocols such as HLS, DASH, and FLV. The player distinguishes itself through a built-in real-time comment system, which renders scrolling or static text overlays directly over the video content to facilitate viewer engagement. To optimize delivery, it incorporates peer-to-peer networking, allowing connected clients to share video st
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
Finamp is a mobile music client designed for streaming and managing music libraries hosted on a Jellyfin media server. It serves as a handheld interface for browsing and playing audio files from a remote server. The application functions as a remote music streamer, connecting to a central media repository to stream audio via network transcoding. It enables the browsing and playback of private audio collections from a home server on a mobile device. The project covers media playback and remote audio management, supporting various audio formats through native server support or transcoding. It
GSYVideoPlayer is a versatile video player framework for Android that acts as a multi-engine playback wrapper. It provides a unified playback interface to control different video playback kernels, such as ExoPlayer, IJKplayer, and MediaPlayer, ensuring compatibility across diverse mobile hardware. The framework distinguishes itself through a flexible architecture that allows for core component swapping, enabling the replacement of playback engines, managers, or rendering layers. It includes a dedicated video caching manager for local storage and a customizable media UI component that supports
SFML is a cross-platform C++ multimedia library designed for building 2D games and interactive applications. It provides a unified interface for hardware-accelerated graphics, audio playback, and window management, allowing developers to create visual software that functions consistently across different operating systems. The library abstracts native windowing and graphics APIs, enabling the use of object-oriented primitives to render shapes, sprites, and text. It includes a dedicated audio engine that supports sound effects and music with controls for volume, pitch, and spatial positioning,
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin
react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen