Looking for a free dither plugin

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
RELATED
PRODUCTS

Post

Mutant wrote:
Thanks but look at the post date it is 31 Mar - i think it was meant to be posted on 01 Apr :hihi:
Here it says "Posted: Sat Apr 01, 2006 03:07" so that depends on your time zone.
(and Christian lives in Europe, so it definitely was an Aprils Fool VST)
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

iain_morland wrote:oh, ok, fair enough. if it's just for experimental purposes rather than actual mastering, you may have more luck and fun creating a dither sound from scratch using a noise generator in a synth.

p.s. look at the current thread about Sonalksis; it seems their FreeG plugin adds some dither. (TBC by the developer)
Is dithering just adding a simple noise ?
Then why all those different algorithms exist ? Some even patented ?

http://www.24-96.net/dither/results.htm
BertKoor wrote:
Mutant wrote:
Thanks but look at the post date it is 31 Mar - i think it was meant to be posted on 01 Apr :hihi:
Here it says "Posted: Sat Apr 01, 2006 03:07" so that depends on your time zone.
(and Christian lives in Europe, so it definitely was an Aprils Fool VST)
Hehe i did not set up my time zone correctly - it was off by 10 hours - now it's 01 Apr 03:07 in my browser too.
[====[\\\\\\\\]>------,

Ay caramba !

Post

Yep, dithering is nothing but adding a very faint noise. But the type of noise matters. Some algorythms adapt the noise to the processed material and then patents apply.

You can compare it to graphics. Remember the times we only had 16 or 256 colours on the computer screen? A colour-fade from e.g. blue to green would look very nasty that way: a sudden change from one to the other instead of smooth transition. By adding a bit of noise to the picture BEFORE converting the high-colour resolution version to low resolution, you'd get a more smooth-like transition.
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

BertKoor wrote:Yep, dithering is nothing but adding a very faint noise. But the type of noise matters. Some algorythms adapt the noise to the processed material and then patents apply.
OK i remember reading on wikipedia about 6 months ago that dither is a random rounding, it's not a simple mixing in a little bit of noise - the smooth noise is a result of dither not the other way around.

So if i understood correctly, creating a "dither noise" with a synth would not work as good as a real dither - it would only mask/drown the artifacts while a real dither would reduce their peaks on a spectrum analyzer.

That's why i was surprised by this:
iain_morland wrote:you may have more luck and fun creating a dither sound from scratch using a noise generator in a synth.

How ??????????????????????
[====[\\\\\\\\]>------,

Ay caramba !

Post

Dither should only cover the artifacts you get when you remove
say the lower 8 bits of a 24 bit master to get a 16 bit output...

In other words adding a bit noise at the floor so it sounds
like zzzzzzzzzzzz instead of floouddrabbrrt when you do
a fadeout for example....

//Daniel :D

Post

OK so how can i calculate how much noise to mix in if i want to dither to exotic bit depths like for example to 15 , 7 or 21 ?
[====[\\\\\\\\]>------,

Ay caramba !

Post

Have you read the Izotope mastering guide (a free PDF download from the Izotope site)? That explains exactly what dither is, and what different kinds of noise-shaping do to it.

But yes, dither is just a very quiet noise. It isn't itself a calculation or rounding. But it means that the rounding performed (after dithering) by your bit depth converter will sound more pleasant.

I don't know what kind of dither would be suited to the unusual bit depths that you mention. I imagine that would require a lot of knowledge of mathematics and psychoacoustics to work out! At a bit depth of 7, though, I doubt dither would help much! ;)
Sound design, audio editing, and instrument programming for UVI Workstation and Falcon/MachFive
http://www.iainmorland.net

Post

There is a source code for dithering:
(taken from http://www.musicdsp.org/showone.php?id=77 )

Code: Select all

Dithering
References : Paul Kellett
--------------------------------------------------------------------------------
Linked file : nsdither.txt
(this linked file is included below)
--------------------------------------------------------------------------------
Notes : 
(see linked file)
--------------------------------------------------------------------------------
Linked files

Noise shaped dither  (March 2000)
-------------------

This is a simple implementation of highpass triangular-PDF dither with
2nd-order noise shaping, for use when truncating floating point audio
data to fixed point.

The noise shaping lowers the noise floor by 11dB below 5kHz (@ 44100Hz
sample rate) compared to triangular-PDF dither. The code below assumes
input data is in the range +1 to -1 and doesn't check for overloads!

To save time when generating dither for multiple channels you can do
things like this:  r3=(r1 & 0x7F)<<8; instead of calling rand() again.



  int   r1, r2;                //rectangular-PDF random numbers
  float s1, s2;                //error feedback buffers
  float s = 0.5f;              //set to 0.0f for no noise shaping
  float w = pow(2.0,bits-1);   //word length (usually bits=16)
  float wi= 1.0f/w;            
  float d = wi / RAND_MAX;     //dither amplitude (2 lsb)
  float o = wi * 0.5f;         //remove dc offset
  float in, tmp;
  int   out;


//for each sample...

  r2=r1;                               //can make HP-TRI dither by
  r1=rand();                           //subtracting previous rand()
    
  in += s * (s1 + s1 - s2);            //error feedback
  tmp = in + o + d * (float)(r1 - r2); //dc offset and dither 
  
  out = (int)(w * tmp);                //truncate downwards
  if(tmp<0.0f) out--;                  //this is faster than floor()

  s2 = s1;                            
  s1 = in - wi * (float)out;           //error



-- 
paul.kellett@maxim.abel.co.uk
http://www.maxim.abel.co.uk
//Daniel :)

Post

i've got sweetboy's dither,very good it is too.i've looked at the readme's and can't see any restrictions exept it's free and use it at your own risk.i've dropped him a line in case he's still around,but pm me in the meantime if you want it,i'm sure he won't mind.

Post

spacedad wrote:i've got sweetboy's dither,very good it is too.i've looked at the readme's and can't see any restrictions exept it's free and use it at your own risk.i've dropped him a line in case he's still around,but pm me in the meantime if you want it,i'm sure he won't mind.
Thanks Spacedad

PM sent.
[====[\\\\\\\\]>------,

Ay caramba !

Post Reply

Return to “Effects”