sndio home

About - what is sndio?

Sndio is a small audio and MIDI framework part of the OpenBSD project and ported to FreeBSD, Linux and NetBSD. It provides a lightweight audio & MIDI server and a fully documented user-space API to access either the server or the hardware directly 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.

Operating systems supporting sndio

This source code builds on any OpenBSD, Linux, and FreeBSD systems with no modifications. Patches to make sndio build on NetBSD are available in the ports tree.

Binaries are available for the following operating systems:

Porting sndio consists of writing a module for the sndio library; it takes around a thousand lines of C. The sndio daemon itself uses this library for audio I/O so it requires virtually no porting efforts.

Programs supporting sndio

Many open-source programs, including major media-players, web-browsers, audio libraries and utilities have native sndio support. Other programs have patches in the OpenBSD ports tree waiting for upstream integration.

Downloads & installation

Refer to installation instructions for more details.

Source tar-balls:

Using git:

git clone https://caoua.org/git/sndio

Documentation

The complete documentation is part of the OpenBSD project:

A mailing-list dedicated to non-OpenBSD-related discussions is available (archives are here).

Links

Related projects

Copyright (c) 2013 Alexandre Ratchov
Last updated July 16, 2022