F.A.Q.

How did you create the noise table?
The noise table consists of 64k values. Simply generating 64k random values and putting them through a noise shaping filter would result in the following two problems:
-At the start of the table, the transient respons from the filter might become apparent. Most filters (like FIR) need previous input values to get proper output.
-No precautions are taken that the wrap-around "fits nicely" and doesn't generate a "click."

To circumvent these, I used the following steps, using CoolEdit in 32bit mode:
1) Create a few seconds mono white noise
2) Select&Copy 65536 samples from middle
3) Paste selection to new file. Paste to end. Paste to end. We now have "circular" noise consisting of 65536 samples repeating 3 times
4) Do the noise shaping: Using a FFT , filter out low frequencys.
5) Select&Copy 65536 samples from middle, and paste to a new file
6) Normalize to 100% (=32768 max)
7) Save to .txt format
8) write a small program to:
- scale all values with factor 0.0000763* (1/256)
Cooledit outputs floats as 256* actual value.
Whereas the table should have range -2.5 ....+2.5
-change output format into array declaration format.

How optimal is your noise table?
The table presented here was my 1st shot after reading the references mentioned on the home page. I'm still convinced it does a good job, but of course you're free to further optimize it. http://audio.rightmark.org/lukin/dither/dither.htm is a good starting point to further optimizations.

You claim only dither noise is added on high frequencys, but on your samples I hear a loud noise...?
This puzzles me too. At first I thought this was just the 16 bit noise floor. However at http://audio.rightmark.org/lukin/dither/dither.htm is a comparison between several noise shaped dither implementations. Extrabit dither manages to get noise levels way below the -96dB, by using much louder dither noise. I tried a to fill my dither table with noise that mimiced the spectrum & amplitude of extrabit, but didn't get any improvement..... 

I'm modifying a codec myself. Any extra tricks how I can test?
Instead of dither noise, fill the dither table with values -32768,-32767,....+32767
Now playback a file featuring perfect silence. When decoded to wav, a perfect ramp should be visible in your WAV editor.

I don't need dither, since I use a 24 bit sound card...?
If the interface between soundcard and codec really is 24 bits, you're indeed better off without dither. However, the majority of players doesn't support native 24 bits output mode. Also when you decode to wav to burn CDDA, dither is still usefull.