mirror of https://github.com/ericonr/sndio.git
Add a simple an clear description of what sndiod does.
Discussed with deraadt and jmc
This commit is contained in:
parent
2d72ee38d1
commit
cb82b78c1c
108
aucat/aucat.1
108
aucat/aucat.1
|
@ -66,27 +66,97 @@
|
||||||
.Op Fl z Ar nframes
|
.Op Fl z Ar nframes
|
||||||
.Ek
|
.Ek
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Nm
|
|
||||||
is an audio utility which can simultaneously play and record
|
|
||||||
any number of audio
|
|
||||||
.Em streams ,
|
|
||||||
possibly controlled through MIDI.
|
|
||||||
A typical invocation of
|
|
||||||
.Nm
|
|
||||||
consists in providing streams to play and record,
|
|
||||||
and possibly the audio device to use.
|
|
||||||
.Pp
|
|
||||||
The
|
The
|
||||||
.Nm sndiod
|
.Nm sndiod
|
||||||
daemon acts as an audio server.
|
daemon is an intermediate layer between
|
||||||
Its functionality is identical to
|
audio or MIDI programs and the hardware.
|
||||||
.Nm aucat ,
|
It performs the necessary audio processing to
|
||||||
except that streams are created
|
allow any program to work on any supported hardware.
|
||||||
dynamically when clients connect to the server.
|
By default,
|
||||||
Thus, instead of actual streams (paths to plain files),
|
.Nm sndiod
|
||||||
templates for client streams (sub-device names) must be provided.
|
accepts connections from programs
|
||||||
Multiple independent audio devices are supported,
|
running on the same system only;
|
||||||
each has its own list of streams and MIDI control ports.
|
it initilizes only when programs are using its services,
|
||||||
|
allowing
|
||||||
|
.Nm sndiod
|
||||||
|
to consume a negligible amount of system resources the rest of the time.
|
||||||
|
Systems with no audio hardware could use
|
||||||
|
.Nm sndiod
|
||||||
|
to keep hot-pluggable devices usable by default at
|
||||||
|
virtually no cost.
|
||||||
|
.Pp
|
||||||
|
.Nm sndiod
|
||||||
|
operates as follows: it exposes at least one
|
||||||
|
.Em sub-device
|
||||||
|
that any number of audio programs can connect to and use as it was
|
||||||
|
audio hardware.
|
||||||
|
During playback,
|
||||||
|
.Nm sndiod
|
||||||
|
receives audio data concurently from all programs, mixes it and sends
|
||||||
|
the result to the hardware device.
|
||||||
|
Similarly, during recording it duplicates audio data recorded
|
||||||
|
from the device and sends it to all programs.
|
||||||
|
Since audio data flows through the
|
||||||
|
.Nm sndiod
|
||||||
|
process, it has the opportunity to process audio data on the fly:
|
||||||
|
.Pp
|
||||||
|
.Bl -bullet -offset indent -compact
|
||||||
|
.It
|
||||||
|
Change the sound encoding to overcome incompatibilities between
|
||||||
|
software and hardware.
|
||||||
|
.It
|
||||||
|
Route the sound from one channel to another,
|
||||||
|
join stereo or split mono.
|
||||||
|
.It
|
||||||
|
Control the per-application playback volume as well as the
|
||||||
|
master volume.
|
||||||
|
.It
|
||||||
|
Monitor the sound being played, allowing one program to record
|
||||||
|
what other programs play.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
Above processing is configured on a per-sub-device basis, meaning that
|
||||||
|
the sound of all programs connected to the same sub-device will be
|
||||||
|
processed according to the same configuration.
|
||||||
|
Multiple sub-devices can be defined, allowing multiple configurations
|
||||||
|
to coexist.
|
||||||
|
The user selects the configuration a given program will use
|
||||||
|
by selecting the sub-device the program uses.
|
||||||
|
.Pp
|
||||||
|
.Nm sndiod
|
||||||
|
can expose a MIDI port that can be used as a MIDI thru box
|
||||||
|
(aka a
|
||||||
|
.Dq hub
|
||||||
|
for MIDI messages),
|
||||||
|
allowing any program to send MIDI messages to
|
||||||
|
MIDI hardware or to another program in a uniform way.
|
||||||
|
Hardware ports can be subscribed to such MIDI thru boxes,
|
||||||
|
allowing multiple programs to share the MIDI port.
|
||||||
|
.Pp
|
||||||
|
Finally,
|
||||||
|
.Nm sndiod
|
||||||
|
exposes a control MIDI port usable for:
|
||||||
|
.Pp
|
||||||
|
.Bl -bullet -offset indent -compact
|
||||||
|
.It
|
||||||
|
Volume control.
|
||||||
|
.It
|
||||||
|
Common clock source for audio and MIDI programs.
|
||||||
|
.It
|
||||||
|
Start, stop and relocate groups of audio programs.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
utility can play, record, mix, and convert regular audio files.
|
||||||
|
It has the same processing capabilities as
|
||||||
|
.Nm sndiod .
|
||||||
|
Both operate the same way, except that the former processes audio data stored
|
||||||
|
in files, while the later processes on audio data provided or consumed by
|
||||||
|
programs.
|
||||||
|
Instead of a list of sub-devices,
|
||||||
|
.Nm
|
||||||
|
is given a list of files to play or record.
|
||||||
.Pp
|
.Pp
|
||||||
The options are as follows:
|
The options are as follows:
|
||||||
.Bl -tag -width Ds
|
.Bl -tag -width Ds
|
||||||
|
|
Loading…
Reference in New Issue