2024-07-29: El proyecto uFMOD inició hace casi dos décadas. Es grato saber que todavía esté en uso. Aun me dedico a la programación de bajo nivel, comparto proyectos, herramientas y artículos en el sitio web CelerSMS.
uFMOD (o µFMOD) es una librería de código fuente abierto para reproducir música en formato XM, desarrollada completamente en lenguaje ensamblador, para aplicaciones de tamaño y tiempo crítico, libre de defectos audibles, altamente confiable, fácil de usar, multiplataforma. Ejemplos de uso disponibles para muchos compiladores.
Principales Caraterísticas:
Tamaño extremadamente compacto. Según los sitios especializados en programación wasm.ru y Democoder.ru, uFMOD es el reproductor XM más compacto que existe. Además, requiere muy poca memoria dinámica.
Alta velocidad. Es capaz de funcionar correctamente, sin subdesbordamiento de búfer, aún en entornos muy lentos.
Sonido de alta fidelidad. uFMOD soporta todos los efectos XM estándar y muchos de los optativos. Utiliza interpolación lineal e intercambio de canales para eliminar los clics - defectos producidos por un cambio bruzco en el nivel de volumen. Soporta varias frecuencias de muestreo: 22.05, 44.1 y 48 KHz para mayor fidelidad sobre hardware moderno.
Soporta pistas con muestras comprimidas en formato ADPCM.
Soporta hasta 64 canales.
Alta confiabilidad. uFMOD es lo suficientemente robusto para reproducir ficheros corruptos y/o modificados sin riesgo de fallas.
Control de volumen, pausar/reanudar y otras funciones independientes de plataforma facilitan el desarrollo de código portable. Se ofrece exactamente la misma interfaz API en todas las plataformas soportadas.
Cero-dependencias. No se requieren librerías adicionales. Por ejemplo, la versión Linux/OSS es completamente estática y no depende ni siquiera de LIBC. La versión para Win32 tampoco usa librerías CRT.
El paquete incluye XMStrip, una herramienta para minimizar el tamaño de ficheros XM. Esta herramienta también sirve para intentar reparar ficheros XM corruptos o incompletos.
SO: Drivers: WINMM, DirectX DirectSound, OpenAL, OSS, ALSA, Infinity Sound