Sobre el proyecto

miniaudio es una biblioteca de reproducción y captura de audio escrita en C y distribuida como un único archivo fuente. Según su README, no tiene dependencias más allá de la biblioteca estándar y está pensada para compilar limpiamente en los principales compiladores sin instalar paquetes de desarrollo adicionales. Está dirigida a las principales plataformas de escritorio y móviles. Capacidades clave descritas en el README: - Sistema de compilación simple sin dependencias externas. - API simple y flexible, con una API de bajo nivel para acceso directo a datos de audio sin procesar y una API de alto nivel para gestión de sonido, mezcla, efectos y espacialización 3D opcional. - Un sistema flexible de grafo de nodos para mezcla avanzada y procesamiento de efectos. - Gestión de recursos para cargar archivos de sonido. - Decodificación con soporte integrado para WAV, FLAC y MP3, además de la posibilidad de conectar decodificadores personalizados. - Codificación, actualmente solo WAV. - Conversión de datos, remuestreo (incluidos remuestreadores personalizados) y mapeo de canales. - Generación básica de formas de onda y ruido, además de efectos y filtros básicos. El README remite a un Manual de Programación para una descripción más completa de las características. Incluye dos ejemplos cortos en C: uno que usa la API de motor de alto nivel para reproducir un sonido, y otro que usa las APIs de dispositivo y decodificador de bajo nivel con una devolución de llamada de datos. Compilación: compile miniaudio.c como cualquier otro archivo fuente e incluya miniaudio.h como un encabezado normal. En Windows y macOS no se necesita enlace adicional; en Linux y BSD enlace con -lpthread y -lm; en iOS compile como Objective-C; enlace -ldl si aparecen errores de dlopen, y -latomic para ciertos errores de atómicos integrados. La compatibilidad ABI no está garantizada entre versiones, por lo que la integración sugerida es agregarlo directamente al árbol de fuentes. También se admite CMake. La documentación se encuentra en miniaud.io/docs y en la parte superior de miniaudio.h, que el README describe como la fuente más actualizada y autorizada; otra documentación se genera a partir de ella. Plataformas compatibles listadas: Windows; macOS e iOS; Linux; FreeBSD, OpenBSD y NetBSD; Android; Raspberry Pi; y Emscripten/HTML5. Otras plataformas pueden ser compatibles mediante un backend personalizado sin modificar el código fuente de miniaudio, como se muestra en un ejemplo custom_backend. Backends listados: WASAPI, DirectSound, WinMM, Core Audio, ALSA, PulseAudio, JACK, sndio, audio(4), OSS, AAudio, OpenSL|ES, Web Audio, Null (silencio) y Personalizado. La información de seguridad está cubierta por un archivo de política de seguridad separado. La licencia es una elección entre dominio público o MIT No Attribution.