This 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 Amplify, 3DSound, BitRate Conversion and the FFT (which is used by the Equalizer, Spectrum Analyzer, ...) are optimized to use SSE/3DNow and extended 3DNow instructions.

Included are also Wrapper components for all MS DMO Filters (available since DX8). These DMO Filters can only handle 2 Channels and 16Bit integer or 32 Bit Float Streams.

Winamp2 Visual and DSP Wrappers, a Spectrum and Waveform Analyzer and a sample DSP/VIS Plugin API are also available in this Components Pack.

The DSP Components are release under the Mozilla Public License 1.1. Some of the Components are based on Sources under different Licenses (GPL/WOL). These Licenses are explicitly mentioned in the Headers of these Filters.

To get a better Performance the DSP Components uses John O'Harrow's FastMove, which is part of the FastCode Project and GLScene's RecyclerMM as MemoryManager replacement (needed for SSE Instructions).
DSP Filters
 
[TDCAmplify]
DSP Component 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. Ported from the Audacity Project.
 
[TDCDownMix]
DSP Component that mixes every Channel together to one and then copys that Value to every Channel.
 
[TDCDynamicAmplify]
DSP Filter to automiticaly keep the Volume at 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 supports multiple Echos (up to 10).
 
[TDCEqualizer]
Equalizer Component (which uses TDCFFT) 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]
DSP Flanger component. 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.
 
[TDCParametricEQ]
Parametric Equalizer Filter. Supports Bandwidths from 1Hz to 22000Hz.
 
[TDCPhaseInvert]
Phase Invert Component that inverts specific Channels.
 
[TDCPhaser]
DSP Filter for phasing Audiodata. Phasing can be done seperate on each Channel.
 
[TDCPitchScale]
DSP Filter 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. Based on the SMS Pitch Scale Code.
 
[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. Based on the Pacemaker DSP Plugin for Winamp.
 
[TDCTrueBass]
DSP Component to Amplify Low Frequencys of Audio Data. The Frequencyrange can be adjusted.
DMO Filters
 
[TDCDMOChorus]
Microsoft DMO Chorus Wrapper Class.
 
[TDCDMOCompressor]
Microsoft DMO Compressor Wrapper Class.
 
[TDCDMODistortion]
Microsoft DMO Distortion Wrapper Class.
 
[TDCDMOEcho]
Microsoft DMO Echo Wrapper Class.
 
[TDCDMOFlanger]
Microsoft DMO Flanger Wrapper Class.
 
[TDCDMOGargle]
Microsoft DMO Gargle Wrapper Class.
 
[TDCDMOI3DL2Reverb]
Microsoft DMO Reverb Wrapper Class.
 
[TDCDMOParamEQ]
Microsoft DMO Parametric Equalizer Wrapper Class.
 
[TDCDMOWavesReverb]
Microsoft DMO Waves Reverb Wrapper Class.
other Components
 
[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.
 
[TDCDSPPluginRenderer]
DSP Plugin Renderer for the sample DSP Plugin API.
 
[TDCVISPluginRenderer]
VIS Plugin Renderer for the sample VIS Plugin API.
Download
  This Package contains all Classes and Files described above, except the DSPack Components. They can be downloaded from the Link below.
  File: DCDSPFilter_v1.03_Source.zip
Size:
1.17 MB Date: April 03, 2013
Compiling
  To compile/install the DSP Components you need to install the DSPack Components before. They are available at Progdigy (better using the latest CVS Code of it).
Donations
  Thanks to Thaddy de Koning, there is now a KOL Version of the DSP Components available.
  File: kol_dc_dsp_101.zip
Size:
358.62 kb Date: April 03, 2013
  Jonathan Liu has written some VB Wrappers for the DSP Components. It also includes a simple VB Player that shows how to use them.
  File: DC-DSP_TypeLib.zip
Size:
205.23 kb Date: April 03, 2013

 
Uptime: 14 Days 19 Hours 21 MinutesImpressum             ©2013 Milenko Mitrovic