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 input capture and cross-platform playback, providing tools for digital signal processing workflows through audio sample format conversion.