cspctl (1) - Linux Man Pages
cspctl: Sound Blaster 16 ASP/CSP control program
SYNOPSIScspctl command [-options] <filename>
DESCRIPTIONcspctl is a simple CSP microcode loader for Crative 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 succesfully detected and initialized, it will be installed as a hardware dependant 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:
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 microcode from filename to CSP.
- 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.
AUTHORUros Bizjak <uros [at] kss-loka.si>.