DC-DSP Components is a Component Pack for Delphi 6/7 that is able to do various DSP Transformations on 8/16/24/32 Bit PCM integer and 32Bit PCM Float Buffers. Some Filters, like 3DSound and the FFT (which is used by the Equalizer, Spectrum Analyzer, ...) is optimized to use SSE/3DNow and extended 3DNow instructions.

Included are also Wrapper components for all MS DMO Filters (available since DX8), Winamp2 Visual and DSP and two (easy to use) Spectrum and Waveform Analyzer Components. (Note that MS DMOs can only handle 2 Channels and 16Bit integer or 32 Bit Float Streams)

available Filters:
TDCDMOChorus
An easy to use Wrapper Component for Microsofts DMO Chorus Filter.
TDCDMOCompressor
An easy to use Wrapper Component for Microsofts DMO Compressor Filter.
TDCDMODistortion
An easy to use Wrapper Component for Microsofts DMO Distortion Filter.
TDCDMOEcho
An easy to use Wrapper Component for Microsofts DMO Echo Filter.
TDCDMOFlanger
An easy to use Wrapper Component for Microsofts DMO Flanger Filter.
TDCDMOGargle
An easy to use Wrapper Component for Microsofts DMO Gargle Filter.
TDCDMOI3DL2Reverb
An easy to use Wrapper Component for Microsofts DMO I3DL2 Reverb Filter.
TDCDMOParamEQ
An easy to use Wrapper Component for Microsofts DMO Parametric Equalizer Filter.
TDCDMOWavesReverb
An easy to use Wrapper Component for Microsofts DMO WavesReverb Filter.


TDCAmplify
Class to Amplify Audiodata. Amplification can be done seperate on each Channel. 32 Bit Float Data is tuned to use 3DNow/SSE instructions. When using a SSE capable CPU, make sure that Data is aligned on a 16 Byte boundary.
TDCBandpass
DSP Component to cutoff a certain Frequency Range. Each Channel can seperate cutoff the Frequency range.
TDCBitrateconverter
DSP Filter to convert from one BitRate to another.
TDCChannelOrder
Component to Swap Channels to any needed Position.
TDCCompressor
DSP Compressor Filter.
TDCDownMix
DSP Component to Mix every Channel together to one and then copy that Value to every Channel.
TDCDynamicAmplify
DSP Filter to automiticaly keep the Volum eat a specific maximum Value. If the Volume is silent for a specific Time, the Amplification is raised to a specific Value. If the current Amplification would break the Range of the Audiodata, the Amplification is faded out to the maximum possible Amplification.
TDCEchoDelay
DSP Echo/Delay Filter that supprts multiple Echos.
TDCEqualizer
Equalizer Component that can Equalize from 1 (2 Point FFT) up to 4096 Bands (8192 Point FFT). Each Channel can be equalized seperate.
TDCFFT
Fast Fourier Transform Component that can do Transformations up to a Size of 8192 Samples (Power of 2 only!). Optimized for SSE, 3DNow, 3DNowExt and CPUs that only supports FPU instructions. This Routine chooses automatically the fastest one.
TDCFlanger
Component to flange Audiodata. Every Channel can be seperate controlled.
TDCHighpass
DSP Component that cuts Frequencys from a specified Frequency to half of the Sampling Rate. Each Channel can be seperate Processed with different Cutoff Values.
TDCLowpass
DSP Component that cuts Frequencys from 0 to a specified Frequency. Each Channel can be seperate Processed with different Cutoff Values.
TDCNotch
DSP Component that cuts Frequencys in a Widerange of specified Frequency. Each Channel can be seperate Processed with different Cutoff Values.
TDCPhaseInvert
Phase Invert Component that inverts specific Channels.
TDCPhaser
Class for phasing Amplify Audiodata. Phasing can be done seperate on each Channel.
TDCPitchScale
Component to inc/decrease the Pitch of an Audio Buffer without changing the Tempo. The Buffersize isnīt affected, only the Pitch of the Voice is changed. Not that the Filter delays the Data for a couple of Samples.
TDCPitchShift
Pitch Shift Filter to increase Speed and Pitch of Audio Data.
TDCReverse
DSP Component to Reverse the content of an Audio Buffer. Each Channel can be reversed seperate.
TDCSound3D
3D Sound Amplification Component that works on 2 Channels only. The difference between Left and Right Channel is calculated and added to the main Signal. For 32Bit Float and SSE CPUs make sure the Buffer is aligned on 16byte.
TDCTempo
DSP Filter to increase or decrease the Tempo without changing the Pitch.
TDCTrueBass
DSP Component to Amplify Low Frequencys of Audio Data. The Frequencyrange can be adjusted.


TDCSpectrum
Designed to retrieve some Values to do Visual drawing of a Spectrum. Output has always the same scaling on every Buffertype.
TDCWaveform
Designed to retrieve some Values to do Visual drawing of a Waveform. Output has always the same scaling on every Buffertype.


TDCWADSPWrapper
Winamp2 DSP Plugin Wrapper Component.
TDCWADSPThreadedWrapper
Threaded Version of TDCWADSPWrapper.
TDCWAVisualWrapper
Winamp2 Visual Plugin Wrapper Component.

Generally the usage is pretty simple. Drop a Filter onto a TForm, call Filter.Init() to initialize it.
Now you are able to Process some Data using Filter.Process(). To Flush the internal Buffers of a Filter,
call Filter.Flush(). Note, not all Filters needs to be initialized or can be Flushed.