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

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