AUDIO(3)                                                 AUDIO(3)

     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) repre-
          sents 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.

     AUDIO(3)                                                 AUDIO(3)

          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 convert-
                          ers, expressed in Hz.  Defaults to 44100.

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

     SEE ALSO
          usb(4)