|SNDIO(7)||Miscellaneous Information Manual||SNDIO(7)|
sndioaudio and MIDI system provides access to audio and MIDI hardware and to services provided by sndiod(1), summarized below.
Hardware audio(4) devices correspond to peripherals. Only one application may use any device at a given time. Generally a limited number of encodings, sample rates and channel numbers are supported by the hardware, which may not meet the requirements of audio programs.
To overcome hardware limitations and to allow multiple applications to share the hardware, sndiod(1) can be used. It exposes one or more software subdevices backed by the underlying hardware, while doing all necessary conversions on the fly. It can mix multiple streams or split the hardware into multiple subdevices, to allow programs to use the hardware concurently.
Hardware MIDI ports correspond to serial connectors provided by the midi(4) driver. They are typically used to access MIDI hardware (synthesizers, keyboards, control surfaces, etc.), but they do not allow applications to exchange information using the MIDI protocol.
Software MIDI thru boxes allow one application to send MIDI data to other applications connected to the thru box (for instance a software sequencer can send events to multiple software synthesizers). There's no hardware involved: thru boxes are created by sndiod(1).
Additionally, sndiod(1) exposes a MIDI port used to control and monitor audio streams in real time using MIDI.sndiod(1) service has a name of the form:
This information is used by audio and MIDI applications to determine how to access the audio device or MIDI port.
-Uoption of sndiod(1). Useful only if multiple sndiod(1) servers are running on the same system.
-fMoption on the command line.
-soption of sndiod(1).
If a session needs to be shared between multiple users, they can connect to the server using the same cookie.
Environment variables are ignored by programs with the set-user-ID or set-group-ID bits set.
|December 9, 2011||OpenBSD-5.1|