For asynchronous audio playback, the first results are syedhali/ezaudio (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/naudio (This ) and goldfire/howler.js (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). rustaudio/cpal and juce-framework/juce round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
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.
This project is a system audio processor and digital signal processing engine designed to enhance system-wide sound volume and clarity. It functions as a high-fidelity sound enhancer and parametric audio equalizer that shapes the sonic profile and timbre of audio across all output devices. The software utilizes a virtual audio device driver to intercept system audio streams at the kernel level, redirecting them through a processing pipeline. This allows for real-time sound processing and low-latency audio filtration to minimize the delay between sound generation and output. The system covers
This project is a system-wide audio enhancer and equalizer rather than a software library for embedding asynchronous audio playback into your own applications.
DeepFilterNet is a deep learning noise suppression framework and real-time audio filter designed to isolate speech and remove background noise from audio signals. It functions as a speech enhancement tool and audio processing middleware that cleans microphone input and speaker output for communication applications. The system operates as an audio server interceptor, delivering noise-suppressed streams between hardware devices and software applications. It provides capabilities for microphone signal cleaning and audio output filtering, including the creation of virtual noise-suppressed microph
This repository is a noise suppression and speech enhancement framework rather than an asynchronous audio playback library for rendering and mixing sound streams.
Oboe is a native C++ library designed for building high-performance, low-latency audio applications on Android. It serves as a unified wrapper and native API for managing audio streams, sample rates, and hardware routing across different Android operating system versions. The library provides a consistent interface by automatically selecting the most efficient audio backend at runtime, switching between AAudio and OpenSL ES to ensure the lowest possible latency. It enables exclusive-mode hardware access to bypass the system mixer and utilizes a high-priority asynchronous pull model for audio
Oboe is a native C++ audio library focused on low-latency Android development, but it is restricted to the Android platform rather than offering general cross-platform support across desktop and mobile.
OuterTune is an Android music player and third-party YouTube Music client designed for playing local audio files and streaming remote content. It provides a user interface built with Material 3 and includes a dedicated media application for Android Auto to enable safe media management on vehicle head units. The project distinguishes itself by offering advertisement-free streaming of music and videos from remote services. It supports offline media archiving through a downloader that saves remote songs to local storage for playback without an internet connection. The application covers a broad
OuterTune is a standalone Android music player and YouTube Music client rather than a software library for developers seeking to embed non-blocking audio playback in their own applications.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| syedhali/ezaudio | 5K | Objective-C | NOASSERTION | |
| naudio/naudio | 6.1K | C# | mit | |
| goldfire/howler.js |
| 25.2K |
| JavaScript |
| mit |
| rustaudio/cpal | 3.6K | Rust | apache-2.0 |
| juce-framework/juce | 8.6K | C++ | NOASSERTION |
| katspaugh/wavesurfer.js | 10.1K | TypeScript | bsd-3-clause |
| react-native-audio-toolkit/react-native-audio-toolkit | 1.1K | Objective-C | MIT |
| evandrolg/ts-audio | 339 | TypeScript | MIT |
| fxsound2/fxsound-app | 3.6K | C++ | agpl-3.0 |
| rikorose/deepfilternet | 3.9K | Python | other |