cspctl - Man Page
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>.