Sndio

Last updated

sndio
Original author(s) Alexandre Ratchov and Jacob Meuser
Developer(s) The OpenBSD Project
Initial releaseOctober 2008;12 years ago (2008-10)
Repository OOjs UI icon edit-ltr-progressive.svg
Written in C
Operating system OpenBSD, FreeBSD, NetBSD, Linux
Type Sound server
License ISC
Website www.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]

Contents

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

Related Research Articles

MIDI Means of connecting electronic musical instruments

MIDI is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and related audio devices for playing, editing and recording music. The specification originates in a paper titled Universal Synthesizer Interface, published by Dave Smith and Chet Wood, then of Sequential Circuits, at the October 1981 Audio Engineering Society conference in New York City.

Operating system Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

A music sequencer is a device or application software that can record, edit, or play back music, by handling note and performance information in several forms, typically CV/Gate, MIDI, or Open Sound Control (OSC), and possibly audio and automation data for DAWs and plug-ins.

Advanced Linux Sound Architecture Software framework

Advanced Linux Sound Architecture (ALSA) is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers.

The Open Sound System (OSS) is an interface for making and capturing sound in Unix and Unix-like operating systems. It is based on standard Unix devices system calls. The term also sometimes refers to the software in a Unix kernel that provides the OSS interface; it can be thought of as a device driver for sound controller hardware. The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

A music workstation is an electronic musical instrument providing the facilities of:

Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control. OSC's advantages include interoperability, accuracy, flexibility and enhanced organization and documentation. The first specification was released in March 2002.

Steinberg Media Technologies GmbH is a German musical software and hardware company based in Hamburg with satellite offices in Siegburg and London. It develops music writing, recording, arranging, and editing software, most notably Cubase, Nuendo, and Dorico. It also designs audio recording, MIDI hardware interfaces, controllers, and iOS/Android music apps including Cubasis. Steinberg created several industry standard music technologies including the Virtual Studio Technology (VST) format for plug-ins and the ASIO protocol. Steinberg has been a wholly owned subsidiary of Yamaha since 2005.

Virtual Studio Technology software plug-in interface used in computer-based audio production

Virtual Studio Technology (VST) is an audio plug-in software interface that integrates software synthesizers and effects units into digital audio workstations. VST and similar technologies use digital signal processing to simulate traditional recording studio hardware in software. Thousands of plugins exist, both commercial and freeware, and many audio applications support VST under license from its creator, Steinberg.

Digital audio workstation computer workstation or software application used for editing and creating music and audio

A digital audio workstation (DAW) is an electronic device or application software used for recording, editing and producing audio files. DAWs come in a wide variety of configurations from a single software program on a laptop, to an integrated stand-alone unit, all the way to a highly complex configuration of numerous components controlled by a central computer. Regardless of configuration, modern DAWs have a central interface that allows the user to alter and mix multiple recordings and tracks into a final produced piece.

Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunication. An industrial automation task force developed the original standard in 1996 under the name OLE for Process Control. OPC specifies the communication of real-time plant data between control devices from different manufacturers.

A sound server is software that manages the use of and access to audio devices. It commonly runs as a background process.

MIDI controller

A MIDI controller is any hardware or software that generates and transmits Musical Instrument Digital Interface (MIDI) data to MIDI-enabled devices, typically to trigger sounds and control parameters of an electronic music performance.

Show control

Show control is the use of automation technology to link together and operate multiple entertainment control systems in a coordinated manner. It is distinguished from an entertainment control system, which is specific to a single theatrical department, system or effect, one which coordinates elements within a single entertainment discipline such as lighting, sound, video, rigging, or pyrotechnics. A typical entertainment control system would be lighting control. An example of show control would be linking a video segment with a number of lighting cues, or having a sound track trigger animatronic movements -- or all of these combined. Shows with or without live actors can almost invariably incorporate entertainment control technology and usually benefit from show control to operate these subsystems independently, simultaneously, or in rapid succession.

In computing, ioctl is a system call for device-specific input/output operations and other operations which cannot be expressed by regular system calls. It takes a parameter specifying a request code; the effect of a call depends completely on the request code. Request codes are often device-specific. For instance, a CD-ROM device driver which can instruct a physical device to eject a disc would provide an ioctl request code to do that. Device-independent request codes are sometimes used to give userspace access to kernel functions which are only used by core system software or still under development.

Logitech Media Server

Logitech Media Server is a streaming audio server supported by Logitech, developed in particular to support their Squeezebox range of digital audio receivers.

PulseAudio Sound server for Unix-like operating systems

PulseAudio is a network-capable sound server program distributed via the freedesktop.org project. It runs mainly on Linux, various BSD distributions such as FreeBSD and OpenBSD, macOS, as well as Illumos distributions and the Solaris operating system.

Veejay is a free visual instrument and realtime video sampler for Linux released under the GNU General Public License version 2 or later.

NetBSD Open-source Unix-like operating system

NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

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.