cspctl

cspctl(1)                   General Commands Manual                  cspctl(1)



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)