Best viewed with
DuBaron Freeware
Open source libraries
Commercial libraries
ArTee Ficial Soft
Free Petite DSP Beta 0.6

Petite DSP is our home written digital signal processor. We developed it to use with an electric guitar and other instruments, but it can perfectly be used while playing cd's or tapes.
In Beta release 0.6 are the following effects implemented:
  • Flanger
  • Chorus
  • Phaser
  • Noise Reduction
  • Karaoke
effects explained

You can download the executable right here:

dsp.zip 308 Kb

System requirements: Pentium 166+ for 44k1 stereo dsp, (although you can try a 486 at 22 Khz mono), full-duplex 16 bits soundcard, windows 95+



The program is tested using equipment like a PR200Mx, Pentium 133, Pentium 200, using a OPTI924, an Aztech, an SB AWE 64, and a few 20 Euro cards ('addonics' trident pci,.crystal cmi). It all seems to work fine.
Your sound card has to work full duplex. Some direct-x drivers prevent your sound card from doing so, so please check, sometimes the option 'direct-x / full duplex' can be changed. Check -Configuration Screen - Sound&Game controllers - 'YourSoundCard' Wave Audio - properties - ... .

Depending on your hardware you can increase or decrease buffer sizes, nr buffers used and your numbers of pre filled buffers.
Especially, if you want to use this dsp real-time, try to reduce your buffer size and use 44k1 stereo.
The latency can be about 40-70ms up to 300 ms.
Normal settings are:
Buffer Size:32-1024 byte;
Prefill- bufs: 50-350; (increase prefill as buffersize decreases and vice versa);
Number of buffers (200-1000);
I've given full control over these hardware settings to make it run optimal on different systems.
One can not say which settings are 'best' - try, because it's rather safe. Look at the presets to understand the relations (especial memory consumption). Don't make your prefill bigger than about half the amount of buffers used.

Please be aware that this program can take up to 100% processor time, and always should be terminated normally, which as far as I know, it always will.
I disabled the save-to-file function in this version, since this was rather system recource consuming and therefore a bit tricky.


Effects explained

A Phaser, Flanger and a chorus all use the same basic principal.
A delayed signal is added to the original signal. The delay itself changes in time, with a Low Frequency Oscillator (LFO).

The shape of the LFO has also influence,
Triangle , sinus  and exponential  shapes are common used.
For the chorus/flanger I used a triangle LFO shape. For the phaser an exponential LFO shape (typical for a phaser).

A Chorus adds a vibrating -almost- echo to the signal (the delay is too short for your ears to hear it as a delay). So a voice sounds as if two people are singing, or two people sound like a chor. Or a guitar is some more 'full' as if there were two.

A phaser uses a very short delay. This way, some frequency's get filtered out (if the delay is the same as one half wavelength the frequency is filtered out). Because the delay is changing, it gives a very 'spacy' sound. Apply it on a drum or on a whole mix.

A flanger is- in my opinion, just weird. But you may like the sound. By setting the initial delay to almost zero, it will act a bit as if it were a phaser. With another LFO wave type though.
Nice for guitar effects or 'scrambled' voice.

Depending on the settings you can get different effects.

Typical settings for Phaser, Flanger and Chorus are:
Effect Volume Initial Delay LFO Depth
Phaser: 0 dB added to input 7KHz-200Hz < 0.5 Hz 1/10-1/3 of max.
Chorus: -3 - 0 dB 20-30 ms <0.5-2 Hz +-2.5 ms
Flanger: -10 - -3 dB <5ms Free Big?
Please Note that if you reduce the depth of the Effect to 0, the remaining thing is an ordinary echo.

Noise Reduction:
A smart kinda fir filter cuts noise and real high tones out of your input source. It is applied before the signal goes through other effects. I think the best setting is halfway. (>14K7 cut off at 44k1, >8K cut off at 22Khz)

All effect signals are added into one master. Please adjust your master to avoid clipping.
Internal processing is partly float and partly 24-28 bits integer, so don't worry about 16 bits quality.
Note that the original signal is added the same as the effects. Setting of this has no effect on the source going into the effects. You have to adjust your windows mixer line/mic in if your input sound is to loud or to soft. The only effect applied before the input sound goes through the effects is the noise filter.

I added it for fun, because it's quite simple:
subtracting left from right and vice versa results in a signal where the equal parts of a stereo signal are filtered out, so you only hear what typically came out of you left or right speaker originally.
Applied on a mono signal the result simply is that you hear nothing.
You can adjust the balance (the L/R centre of the sound filtered out).
Whether Karaoke works or not depends on your sound source. Just try.
Normally you don't mix the Karaoke signal with the original input for the karaoke effect, although you can 'boost' left or right placed instruments by adding karaoke...
dubaron - your partner in free solutions
Frontend programming (C) 1998-2005 by René for dubaron.com