NAME
audio – SoundBlaster or ESS1688 audio controller

SYNOPSIS
bind –a #A /dev
/dev/audio
/dev/volume

DESCRIPTION
The audio device serves a one–level directory, giving access to the stereo audio ports. Audio is the data file, which can be read or written to use the port. Audio data is a sequence of stereo samples, left sample first. Each sample is a 16 bit little–endian two's complement integer; the default sampling rate is 44.1 kHz. Some implementations only support audio output and return a zero length when read.

The length of the audio file as returned by stat(2) represents the number of bytes buffered for input or output. This provides some control over record or playback latency.

The file audiostat provides additional timing and latency control. When read, it returns lines of the form
bufsize s buffered b offset o time t

reporting number of bytes s used for DMA operations (i.e., the minimum useful size for reads and writes), the number of bytes b currently buffered, and the time t at which offset o was reached. Using t and o, it is possible to calculate at what time a byte with a different offset will be recorded or played back.

Volume is the control file associated with the audio port. Each input and output source has an associated stereo volume control, ranging from 0 (quiet) to 100 (loud). In addition, there are controls for the sampling rate of the D/A and A/D converters and for any tone controls. Reads return lines of the form
source in left value right value out left value right value

possibly abbreviated if the values are shared or non–existent. For example, if all of the values are shared, the form degenerates to `source value'. Valid sources depend on the particular audio device, though all devices have an audio stereo source, which controls the output volume from the D/A converter connected to audio.

Writes accept the same format with same abbreviations. Writing the string reset sets all of the attributes to their default value, and if no attribute is supplied, audio is assumed.

The Sound Blaster 16 (or MCD) is half–duplex and accepts the following controls on its volume file, in the format shown above for reads.
audio out        Data written to audio.
synth in out     MIDI synthesizer.
cd in out        CD player.
line in out      Line–level input.
mic in out       Monaural microphone input.
speaker in out   Monaural internal speaker connection.
treb out         Stereo treble tone control. Values less than 50 decrease the treble, those greater increase it.
bass out         Stereo bass tone control.
speed in out     Sampling rate for the D/A and A/D converters, expressed in Hz. Defaults to 44100.

SOURCE
/sys/src/9/port/devaudio.c

SEE ALSO
usb(4)
Copyright © 2024 Plan 9 Foundation. All rights reserved.