AUDIO(3) Library Functions Manual AUDIO(3)

audio - digital audio input and output

bind -a '#A' /dev

/dev/audio
/dev/audioctl

The audio device serves a one-level directory containing two files, giving access to the host or native audio device in a platform-independent way.

Audio is the data file, which can be read or written to exchange data with the device. Audio data is a sequence of stereo samples, left sample first, each of which is a 16 bit little-endian two's complement integer.

Audioctl is the associated control file, which sets the characteristics of the device. Reads return lines of the form

The qualifiers in, out and left, right are omitted if they are not applicable or if the input/output and/or left/right values are the same. The source is one of audio, aux1, aux2, line, mono, mic, rate, chans or bits. If source is one of the ports audio, aux1, aux2, line, mono or mic, value represents the volume on a scale of 0 (quiet) to 100 (loud). The default volume is 50 for the audio port and 0 for the remainder. If the source is rate, value represents the rate at which the data was recorded in Hz. The default is 22050. If the source is chans, value is the number of channels of audio data - 2 (the default) for stereo, otherwise mono. If the source is bits, value is one of 4, 8 or 16, the sample size in bits.
[in out] enc format
Outputs the recording format on the input and/or output channels. Format is one of ulaw, alaw, pcm, pcm16 or adpcm
Value is 0 or 1 to disable or enable loopback respectively.

Writes control the device with strings of a similar format as that for reads.

Set the corresponding value/volume for the particular source. The same conventions apply as in the read case above. The default value of source is audio.
Set all attributes to their default value.
Enable (1) or disable (0) loopback mode.
[in out] enc format
Set the recording format on the input and/or output channels to format. Format is one of ulaw, alaw, pcm, adpcm.
[left right] dev input
Set the input source of the left and/or right ADCs. Input is one of mic, line, aux1, loop.

/emu/port/devaudio*.c
/emu/*/devaudio.c
/os/*/devaudio.c
/os/*/devcs4231.c

auplay (1)
audio (6)

The device has not been implemented on every platform that could provide it, particularly hosted implementations.
/os/port/devaudio.c (a driver for the SB16) implements an older interface of broadly similar form, but using volume not audioctl, and supports a subset of the commands described above.
The device is exclusive-use and cannot mix streams from several clients.