30 open-source projects similar to rustaudio/cpal, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Cpal alternative.
miniaudio is a single-file C audio library used for audio playback, capture, and hardware interfacing across multiple operating systems. It functions as an audio hardware abstraction layer, an audio processing engine, an audio synthesis engine, and a codec and resampler. The project implements a node-graph based system for routing digital audio signals, mixing, and 3D spatialization. It also includes a programmatic generator for noise patterns and basic waveforms used for sound creation and signal testing. The library covers digital signal processing, including audio format conversion and sa
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
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
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
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
librespot is an open-source audio streaming client and library used to implement custom music players that authenticate and stream audio from the Spotify service. It functions as a framework for fetching, decoding, and routing remote audio streams to various system backends and audio sinks. The project specifically implements a Spotify Connect receiver, allowing it to act as a remote-controllable playback endpoint that appears as a selectable device within other Spotify applications. This enables the creation of virtual playback devices, headless music playback on remote servers, and the inte
Pydub is a Python audio manipulation library and digital audio processor used for editing, slicing, and converting audio files and segments. It serves as a programmatic wrapper for FFmpeg to import and export a wide variety of audio formats. The library functions as an audio signal generator capable of creating synthetic waveforms, such as sine waves and white noise. It also provides tools for digital signal processing, including the application of filters, fades, crossfades, and gain adjustments to sound signals. Its broader capabilities cover programmatic audio editing through concatenatio
nih-plug is an audio plugin SDK and development framework providing a set of tools and traits for processing audio and MIDI data in a real-time safe environment. It functions as a cross-format plugin wrapper, allowing a single implementation to be exported into multiple industry-standard audio plugin formats, including VST, CLAP, and LV2. The project includes a retained-mode GUI framework for creating interactive user interfaces and parameter controls for audio processors. It also provides a real-time audio library that utilizes hardware acceleration and asynchronous task management to mainta
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.
This project is a cross-platform mobile audio player and native audio playback engine for React Native. It functions as a media session manager that integrates audio controls into device lock screens, system notifications, and external Bluetooth headsets. The library features a dedicated mobile audio caching engine that preloads and stores content on disk to enable offline playback and gapless transitions. It also includes an automotive media interface that exposes audio content and playback controls to vehicle head units and car dashboards through hierarchical media browsing. The system cov
SDL is a cross-platform development library that provides low-level access to audio, keyboard, mouse, joystick, and graphics hardware. It functions as a hardware abstraction layer, mapping diverse operating system interfaces into a unified set of functions to ensure consistent performance across different computing environments. The library serves as a foundation for multimedia and interactive application development by providing an integrated audio processing engine and a graphics rendering framework. It manages the complexities of hardware communication by normalizing raw input events and p
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
MPD is a headless music server daemon that indexes audio libraries and streams music to local or remote outputs. It functions as a music library manager and network audio streamer, providing a remote audio control protocol that allows external clients to manage playback, playlists, and database queries. The system acts as a multiroom audio coordinator, synchronizing audio distribution across multiple networked clients and hardware devices. It supports a variety of remote management capabilities, including a dedicated control API and the ability to broadcast audio streams over network protocol
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
liquidctl is a command line interface and set of Python drivers used to monitor and control liquid cooling hardware. It functions as a liquid cooler controller, hardware telemetry tool, and RGB lighting controller, providing a unified way to manage temperatures, fan speeds, and pump rates for all-in-one and custom loop cooling systems. The project provides a Python hardware driver that enables programmatic control and telemetry collection without relying solely on the command line. It allows for the configuration of device lighting using standard RGB, HSV, and HSL formats. The system include
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea
QtAV is a cross-platform media engine and multimedia framework that combines FFmpeg decoding with the Qt framework for audio and video rendering. It functions as a hardware-accelerated video player, an OpenGL video renderer, and a multimedia stream transcoder. The project distinguishes itself through a hardware-abstraction decoding layer that utilizes GPU interfaces such as VA-API and VideoToolbox to decode high-resolution video. It employs a zero-copy memory transfer path to move decoded video data directly to graphics APIs, reducing CPU overhead and enabling high-performance YUV rendering.
AudioKit is an audio framework for iOS, macOS, and tvOS that provides tools for digital audio synthesis, signal processing, and audio analysis. It functions as a synthesis engine for generating audio waveforms and textures, a processing library for modifying tonal characteristics, and a toolkit for extracting frequency and amplitude data from sonic signals. The framework utilizes a modular node architecture and graph-based signal routing to connect audio generators, processors, and outputs. It wraps low-level audio primitives in high-level classes to facilitate sound generation and modificati
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,
Nannou is a creative coding framework for Rust designed for building interactive visual and audio sketches. It provides a loop-based API with hardware-accelerated 2D and 3D rendering, serving as a toolkit for generative art production and multimedia installation design. The framework is distinguished by its comprehensive hardware communication interface, which bridges software with physical devices via MIDI, OSC, DMX, serial, and laser DAC protocols. It also includes specialized projection mapping tools for warping visual output to fit non-standard physical surfaces and a dedicated GPU shader
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
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
ggwave is a data-over-sound communication library and audio data modem used for encoding and decoding binary data transmitted through audio waveforms. It implements an acoustic data transfer protocol that enables the exchange of small amounts of information between devices using speakers and microphones. The project provides a cross-platform audio waveform generator capable of transforming digital information into sound and converting received audio signals back into data. It supports the creation of raw audio samples and the export of waveform data into uncompressed WAV files. The system co
ESPHome is a framework for creating and managing custom firmware for microcontrollers, specifically targeting ESP32 and ESP8266 architectures. It replaces the need for writing complex embedded C++ code by allowing users to define hardware behavior, pin configurations, and automation logic through simple, declarative text files. The system automatically compiles these configurations into optimized binary images, providing a streamlined path from design to deployment. The project distinguishes itself through a modular, component-based architecture that emphasizes local-first control, ensuring t
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
Tixl is a node-based motion graphics engine and procedural generation tool used to create 3D geometry and shaders. It utilizes a directed acyclic graph of operators and GPU-accelerated compute kernels to generate complex 3D shapes, particularly through the use of signed distance functions and particle simulations. The engine is highly extensible via a C# development framework that supports hot code reloading, allowing custom operator logic to be injected into the active runtime without restarting. It further distinguishes itself as a lighting controller, capable of translating 3D spatial attr
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
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc