For asynchronous audio playback, the strongest matches are syedhali/ezaudio (EZAudio is an audio library for Apple platforms that), naudio/naudio (This) and goldfire/howler.js (Howler). rustaudio/cpal and juce-framework/juce round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked asynchronous audio player libraries for developers. Compare the top repositories by stars and features to find the best fit.
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
EZAudio is an audio library for Apple platforms that handles low-latency file playback and audio processing, though it is limited to the Apple ecosystem rather than being cross-platform.
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
This .NET library provides robust audio playback, mixing, and stream processing capabilities for Windows applications, though its core audio APIs are tied to the Windows platform rather than offering full cross-platform support.
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
Howler.js is a JavaScript audio library that handles cross-browser playback and spatial sound, fitting the requested category well despite running in a single-threaded runtime environment rather than utilizing explicit background threads.
cpal is a low-level Rust audio hardware abstraction layer and cross-platform API. It serves as a unified interface for managing audio input and output streams across Windows, macOS, and Linux hardware, acting as a device driver wrapper to discover audio hosts and configure hardware devices. The project functions as a real-time audio streamer, utilizing a high-priority callback system to stream audio samples to hardware devices with minimal latency. The library covers audio hardware integration, including the discovery and configuration of sample rates and channel counts. It supports audio in
This library provides cross-platform, non-blocking hardware audio streaming through high-priority callbacks, though you will need to handle decoding and mixing yourself.
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
JUCE is a comprehensive C++ audio framework that provides cross-platform audio playback, mixing, and digital signal processing, making it well-suited for building non-blocking audio applications despite its broader focus on full plugin and app development.
wavesurfer.js is a WebAudio playback library and interactive waveform visualizer that renders audio data onto an HTML5 canvas. It enables users to see and navigate sound files through a visual representation of audio peaks, allowing for direct seeking and playback control within a web browser. The project is distinguished by its flexible rendering model, which can use precomputed peak data to display waveforms without downloading or decoding the full audio file. It utilizes a plugin-based extension model to integrate advanced tools such as spectrograms, interactive audio timelines, and real-t
This repository provides a WebAudio-based playback and visualization library that runs in the browser, though it leans heavily toward waveform rendering and UI integration rather than a general-purpose backend audio mixer.
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
This library provides cross-platform audio playback and recording for React Native applications, though it covers the core need for asynchronous handling rather than advanced multi-channel mixing.
:musical_score: ts-audio is an agnostic library that makes it easy to work with AudioContext and create audio playlists in the browser
This TypeScript library wraps the browser's AudioContext to handle audio playback and playlist management, providing an asynchronous, non-blocking way to work with media without cluttering the main thread.