Provided by: alsa-firmware-loaders_1.1.3-1_amd64 bug


       cspctl - Sound Blaster 16 ASP/CSP control program


       cspctl command [-options] <filename>


       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/-]


       load   Load microcode from filename to CSP.

       unload Unload microcode from CSP.


       -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.


       Uros Bizjak <>.

                                          April 27, 2000                                cspctl(1)