Sndio is a small audio and MIDI framework part of the OpenBSD project. It provides an lightweight audio & MIDI server and a fully documented user-space API to access either the server or directly the hardware in a uniform way. Sndio is designed to work for desktop applications, but pays special attention to synchronization mechanisms and reliability required by music applications. Reliability through simplicity are part of the project goals.
Starting OpenBSD 5.1, the sndio server is enabled by default on system boot. Most audio and MIDI programs available as OpenBSD packages have been updated to use sndio natively.
The complete documentation is part of the OpenBSD project:
Porting sndio, consists in writing a module for the sndio library; it's around a thousand of lines of C. The sndio daemon itself uses this library for audio I/O so it requires virtually no porting efforts.
There's a working Linux port, see the installation instructions. If you're interested in working on it, drop an email to email@example.com.
Copyright (c) 2013 Alexandre Ratchov
Last updated dec 1, 2013