Provided by: alsa-firmware-loaders_1.1.7-1ubuntu1_amd64 bug

NAME

       cspctl - Sound Blaster 16 ASP/CSP control program

SYNOPSIS

       cspctl command [-options] <filename>

DESCRIPTION

       cspctl  is  a  simple  CSP microcode loader for Creative Sound Blaster 16ASP and some Sound Blaster AWE32
       sound cards with Creative Signal Processor (CSP) chip (CT1748A) installed.  cspctl can also be used as  a
       post-install function to snd-sb16-csp module to load default codec at module installation. If CSP chip is
       successfully detected and initialized, it will be installed as a hardware dependent  device  hwC0D2  into
       /dev/snd directory. Currently, following codecs can be loaded to CSP device:

           wfm0001a.csp  QSound decoder
           wfm0006a.csp  A-law codec
           wfm0007a.csp  u-law codec
           wfm0011a.csp  IMA ADPCM codec (distorted output for IMA test files)
           wfm0200a.csp  Creative ADPCM codec (sounds like Intel/DVI IMA ADPCM compatible)
           wfm0202a.csp  Fast Speech 8 codec
           wfm0203a.csp  Fast Speech 10 codec

       These codecs are not yet supported by ALSA:

           wfm0201a.csp  Text2Speech decoder

       Qsound microcode file has four functions, each function is a decoder for different sample rate. Rates for
       QSound functions #1, #2, #3 and #4 are 44100,  22050,  11025  and  8000Hz  respectively.  IMA  ADPCM  and
       FastSpeech  codecs  are  formed  of two functions, the first one is for capture and the second one is for
       playback. A-law and u-law codecs have only one function.  To load for example  function  #2  from  QSound
       microcode file (decoder for 22050Hz), run as follows:

           % cspctl load -f 2 -d QSound wfm0001a.csp

       After successful loading, /proc/asound/SB16/cspD2 will show:

           Creative Signal Processor [v1.0]
           State: -x--L
           Codec: QSound [func #2]
           Sample rates: 22050Hz
           QSound decoder disabled

       With  QSound  decoder  microcode loaded, all simple PCM file formats can be played with QSound 180 degree
       positioning applied. QSound element is dynamically added into mixer structure as 3DEffect1-space element.
       It  will  only  show if support for CSP has been compiled into ALSA drivers, CSP chip has been found, and
       QSound codec is loaded into CSP. When enabled, QSound  position  can  be  dynamically  changed  by  mixer
       slider, and proc interface should follow the state of CSP chip and its current QSound position:

           Creative Signal Processor [v1.0]
           State: Qx-RL
           Codec: QSound [func #2]
           Sample rates: 22050Hz
           QSound decoder enabled
           Processing 16bit mono PCM samples
           Qsound position: left = 0x9, right = 0x9

       Driver  supports  autoloading  of  u-Law, A-Law and Ima-ADPCM hardware codecs. Autoloading is active only
       when there is no microcode loaded to CSP, and there is no need to preload  appropriate  *.csp  files.  To
       unload manually loaded microcode, you should run

           % cspctl unload

       If  hardware  codec  microcode has been manually loaded, then CSP will support only loaded PCM format and
       autoloading will be disabled. In such case, proc interface will show loaded codec properties:

           Creative Signal Processor [v1.0]
           State: -x--L
           Codec: IMA-ADPCM [func #2]
           Sample rates: All
           PCM format ID: 0x400000 (16bit/-) [mono/stereo] [playback/-]

COMMANDS

       load   Load microcode from filename to CSP.

       unload Unload microcode from CSP.

OPTIONS

       -h, --help
              Display a short help.

       -c card
              Select a card number. Option defaults to 0.

       -f function
              Select a function from microcode file. Option defaults to 1.

       -d description
              Optional microcode description string.

AUTHOR

       Uros Bizjak <uros@kss-loka.si>.

                                                 April 27, 2000                                        cspctl(1)