sndio
Original author(s)Alexandre Ratchov and Jacob Meuser
Developer(s)The OpenBSD Project
Initial releaseOctober 2008; 13 years ago (2008-10)
Repository
Written inC
Operating systemOpenBSD, FreeBSD, NetBSD, Linux
TypeSound server
LicenseISC
Websitewww.sndio.org

sndio is the software layer of the OpenBSD operating system that manages sound cards and MIDI ports. It provides an optional sound server and a documented application programming interface to access either the server or the audio and MIDI hardware in a uniform way.[1] sndio is designed to work for desktop applications, but pays special attention to synchronization mechanisms and reliability required by music applications.[2]

Features

The sndiod audio and MIDI server is the main component of sndio. It aims to fill the gap between programs requirements and the bare hardware as exposed by operating system device drivers.[3] This includes:[4]

The last few points are hooks in the sound server aiming to improve interoperability between audio and MIDI programs.[5] The use of standard MIDI protocols for volume and synchronization control enables interoperability with MIDI software or hardware connected to a computer.[6]

History

Minimal server capabilities were added to aucat—an audio stream manipulation tool and predecessor to sndiod—in October 2008,[7] shipping with OpenBSD 4.5.[8][9] In December 2011, aucat was renamed to sndiod[10] and later shipped with OpenBSD 5.1 as the default sound server started at operating system boot.[11]

Similar frameworks

References

  1. ^ "sndio interface to audio devices". OpenBSD manual pages. Retrieved August 3, 2016.
  2. ^ Ratchov, Alexandre (2010). "OpenBSD audio & MIDI framework for music and desktop applications" (PDF). AsiaBSDCon. Retrieved September 16, 2012.
  3. ^ Arons, Barry (March 1991). "The Design of Audio Servers and Toolkits for Supporting Speech in the User Interface" (PDF). Journal of the American Voice I/O Society. Retrieved September 16, 2012.
  4. ^ "OpenBSD manual pages". man.openbsd.org. Retrieved May 14, 2016.
  5. ^ Alexander, Peter Lawrence; Whitear, Caroline J. (2001). How MIDI Works, 6th Edition. Hal Leonard. ISBN 9780634020834.
  6. ^ Ratchov, Alexandre (March 31, 2012). "The Story Of The Extra Audio Track: Recording Music With OpenBSD". Undeadly. Retrieved September 16, 2012.
  7. ^ Ratchov, Alexandre (October 27, 2008). "Developer Blog: ratchov@'s recent audio work". Undeadly. Retrieved September 16, 2012.
  8. ^ "The OpenBSD 4.5 Release". OpenBSD. May 1, 2009. Retrieved September 16, 2012.
  9. ^ Biancuzzi, Federico (June 15, 2009). "PuffyTron recommends OpenBSD 4.5". O'Reilly Media. Retrieved September 16, 2012.
  10. ^ "src/etc/rc.conf". OpenBSD CVS. December 9, 2011. Retrieved May 14, 2016.
  11. ^ "The OpenBSD 5.1 Release". OpenBSD. May 1, 2012. Retrieved September 16, 2012.