awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
RustAudio avatar

RustAudio/cpal

0
View on GitHub↗
3,551 estrellas·477 forks·Rust·apache-2.0·10 vistas

Cpal

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.

Features

  • Cross-Platform Audio APIs - Provides a unified cross-platform API for managing audio input and output streams across Windows, macOS, and Linux.
  • Audio Hardware Management - Provides a low-level abstraction layer for configuring and managing audio device settings across different operating systems.
  • Audio Hardware Interfaces - Provides a low-level framework for managing audio hardware, sound cards, and driver interfaces.
  • Audio Input Capture - Enables recording raw audio data from microphones or other input hardware.
  • Sample-Based Buffer Callbacks - Implements a requested-buffer callback mechanism to feed raw PCM samples to hardware backends.
  • Real-Time Audio Threading - Requests elevated execution priority for audio threads to minimize playback latency and glitches.
  • Callback-Driven Streaming - Utilizes a high-priority callback system to stream audio samples to hardware with minimal latency.
  • Cross-Platform Audio Engines - Implements a consistent cross-platform engine for streaming and playing audio across different OS hardware.
  • Raw Audio Sample Streaming - Opens a non-blocking flow of raw PCM float samples to audio backends via high-priority callbacks.
  • Real-Time Audio Processing - Provides a high-priority callback system for low-latency audio stream processing suitable for professional software and synthesizers.
  • Hardware Device Discovery - Queries system APIs to enumerate available audio hardware devices and their supported configurations.
  • Audio Stream Property Controls - Allows defining sample rates and channel counts to ensure compatibility with hardware before streaming.
  • Hardware Abstraction Layers - Acts as a low-level hardware abstraction layer providing a consistent API for interacting with diverse audio drivers.
  • Audio Device Enumerators - Provides utilities for discovering and listing available audio hardware endpoints for system-wide routing.
  • Hardware Configurations - Implements tools to discover audio hosts and configure hardware sample rates and channel counts.
  • Hardware Backend Abstractions - Provides a unified trait-based interface to target different operating system sound servers.
  • Audio Playback - Offers controls to start, pause, or stop the flow of audio data to hardware.
  • Audio Signal Processing Workflows - Manages the workflow of converting audio sample formats and data streams to prepare sound for playback.
  • Sample Format Conversion - Provides tools for changing sample width and channel counts of audio segments to ensure hardware compatibility.
  • Non-blocking IO Architectures - Handles audio playback and capture in separate threads to prevent blocking the main application loop.
  • Audio And Music - Low-level cross-platform audio IO.
  • Media & Communication - Low-level cross-platform audio I/O library.

Historial de estrellas

Gráfico del historial de estrellas de rustaudio/cpalGráfico del historial de estrellas de rustaudio/cpal

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace rustaudio/cpal?

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.

¿Cuáles son las características principales de rustaudio/cpal?

Las características principales de rustaudio/cpal son: Cross-Platform Audio APIs, Audio Hardware Management, Audio Hardware Interfaces, Audio Input Capture, Sample-Based Buffer Callbacks, Real-Time Audio Threading, Callback-Driven Streaming, Cross-Platform Audio Engines.

¿Qué alternativas de código abierto existen para rustaudio/cpal?

Las alternativas de código abierto para rustaudio/cpal incluyen: mackron/miniaudio — miniaudio is a single-file C audio library used for audio playback, capture, and hardware interfacing across multiple… google/oboe — Oboe is a native C++ library designed for building high-performance, low-latency audio applications on Android. It… juce-framework/juce — JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio… createjs/soundjs — SoundJS is a JavaScript audio library and asset manager designed to load and play audio across different browsers… naudio/naudio — NAudio is a .NET audio library that provides playback, recording, format conversion, and signal processing… librespot-org/librespot — librespot is an open-source audio streaming client and library used to implement custom music players that…

Alternativas open-source a Cpal

Proyectos open-source similares, clasificados según cuántas características comparten con Cpal.
  • mackron/miniaudioAvatar de mackron

    mackron/miniaudio

    6,905Ver en GitHub↗

    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

    C
    Ver en GitHub↗6,905
  • google/oboeAvatar de google

    google/oboe

    4,069Ver en GitHub↗

    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

    C++
    Ver en GitHub↗4,069
  • juce-framework/juceAvatar de juce-framework

    juce-framework/JUCE

    8,579Ver en GitHub↗

    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

    C++aaxauaudio
    Ver en GitHub↗8,579
  • createjs/soundjsAvatar de CreateJS

    CreateJS/SoundJS

    4,569Ver en GitHub↗

    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

    JavaScript
    Ver en GitHub↗4,569
  • Ver las 30 alternativas a Cpal→