In this post, you will know the freely available dithering plug-in or tools that you can use in audio mastering. The objective is to provide the best sounding 16-bit audio that you can produce using an open source dithering solution.
As an overview, dithering is added to prevent quantization distortion brought about by reducing bit depth from 24-bits (used during tracking, mixing and mastering) to 16-bits (used during distribution, available in CD audio and MP3 formats).
With dithering, these distortions will be converted into noise. A feature of a dithering tool called “noise shaping” will be used to distribute the noise in a frequency spectrum where human ears are less sensitive. This is usually in the high audio frequency spectrum, starting around 8000Hz or above. Dithering noise distributed at much higher frequencies (e.g. 15000Hz above) is more desirable as human ears are least sensitive in this range.
Each dithering tools whether it’s commercial or open source behaves differently. The quality of the converted 16-bit audio result will depend on the performance of the dithering plug-in you are using.
I included my personal recommendations at the last section of this article.
The Open Source Dithering Tools and Assessing Performance
I did some research and below are the tools/software that offers some dithering solution:
1.) Audacity
2.) MDA Plug-in
3.) Shibatch Audio Tools
4.) Wavosaur
5.) Loser/Asseca
6.) RDR 1.01
7.) Sox
The performance of dithering tools will be assessed in terms of how the noise will be distributed in the frequency spectrum. The evaluation procedure will be as follows:
1.) Use Audacity software as the VST host. And then add the dithering plugin as VST:
2.) Load the high resolution 24-bit/44.1KHz sweep test tone signal. You can download it here.
3.) Apply dithering.
4.) Export as 16-bit/44.1KHz test signal (of course with the VST host dithering off, if using plug-in solution.)
5.) Examine the results. This uses Adobe Audition Spectral View and Audio Statistics tools.
Original Audio and Commercial Dithering Performance
This is the original un-dithered audio sweep tone (starting from 0Hz to 22000Hz at the end of the audio). As you can see, you can only see the white-blue solid lines depicting the original signal. The background is pure black implies that there is no noise involved.
You can click the image to enlarge. Specifically, the x-axis is the time (in seconds) and the y-axis is the frequency of the signal.
Let’s dither this test tone using a Waves IDR (Increased Digital Resolution) plug-in. This is a commercial and popular dithering solution used by several mastering engineers. Below is the dithered 16-bit plot (plug-in setting – “Quantize to 16-bit”):
As you can see, there is now dither noise but it’s nicely distributed (click the image to zoom) in the upper frequency range starting at 12000Hz (very few) with heavy distribution around 19000Hz.
19000Hz is clearly not audible to most human ears and this is a good noise shaping performance
Audacity Dithering Tools
Let start with the most popular open-source audio editing software (version 2.0.2 used); it includes its own dithering tools. In the Edit – Preferences – Quality – under “High-quality Conversion”. You can set the dithering option for Audacity.
The default is NONE, implies dithering is off when you export 24-bit audio to 16-bit. There are three options with its 16-bit dithered response:
a.) Rectangle
b.) Triangle
c.) Shaped – this is the dithering option with noise shaping behavior.
The dithered noise starts distributing (click the plot for zoomed image) at 6000Hz to 12000Hz (thinly distributed); then continued to be heavily distributed above 13000Hz.
MDA Dithering Plug-in
This plug-in currently supports the following options:
1.) TRI
2.) HP-TRI
3.) N-Shape – where noise shaping is implemented. The following is the 16-bit audio dithered response:
It looks better than Audacity although Waves IDR is still better. It starts distributing evenly above 8000Hz.
Shibatch Sample Rate Converter (SSRC)
This plug-in cannot be installed using VST but this will only run in command line mode. Let’s illustrate step by step on how to dither using this tool:
1.) Download the software here.
2.) The downloaded file is archived using .tgz. This cannot be extracted using your usual Windows unzip functions. You need software like 7-ZipPortable to extract the file.
You may need to perform the extraction twice to get into the final un-archived folders.
3.) You should arrive at the following files after those extractions:
4.) Launch the DOS command line, go to Start — > Run and then type CMD. Navigate inside to the SSRC folder by typing the following commands like this (for example SSRC is on the Desktop):
5.) Place your 24-bit audio inside the SSRC folder. It is recommended to rename the 24-bit audio file into a short name so that you can easily type them in the command line. For example:
6.) Execute the following command to dither the audio file:
ssrc –bits 16 –dither 4 sample24bit.wav outputfile.wav
Where:
16 – the target bit depth (usually 16-bit for CD audio)
4 –the dithering constant for SSRC
sample24bit.wav – the source 24-bit audio file that you want to dither, this should be placed inside the SSRC folder
outputfile.wav – this is the output 16-bit audio file. This is the dithered file.
This is the dithered response:
The performance is better than MDA and Audacity because the dithering noise is distributed at a much higher frequencies where the ears are least sensitive. In fact, it is equally superior to Waves IDR performance based on the above data.
Wavosaur Dithering Feature
The light and compact Wavosaur audio editing software offers some dithering features. If you have this software, you can go to Process — > Bit depth converter — >Convert to 16-bits, set it to dithering 2 bit white noise. Below is the dithered output of the 24-bit sample audio:
The dithered response is not very good and it’s noisy. It is obvious that there is no noise shaping implemented during the process.
LOSER/Assecca
These plug-in offers a lot of dithering options (noise shaping, etc.) and below is the response output:
It performs slightly better than MDA, Audacity and Wavosaur built-in dithering features.
RDR 1.01
This is the dithered output of this plug-in (using 16-bits –heavy dithering):
The dithered noise is distributed at a very high frequency range starting at 16000Hz. One issue is that there is still substantial dithering noise hovering around the entire audio frequency range (click the image for enlarged view). It would be great if there is none.
Sox Dithering Features
Another command line utility for audio dithering is sox. This is a highly versatile audio utility that can perform beyond sample rate conversion and dithering. Like SSRC, all commands are to be executed in a DOS prompt (if you are using Windows).
Below is the dithered response using the following command:
sox raw24bit.wav -b 16 16bitoutput.wav dither -s
Where:
Raw24bit.wav –> is the test 24-bit audio file.
-b 16 -> the bit depth of the source file will be reduced to 16-bits
16bitoutput.wav -> this is the output file name.
dither -> you will enable the dithering feature.
-s -> you will enable the noise-shaping features of SOX dithering.
Sox have cleaner response to all free dithering plug-in except SSRC. The dithered noise starts distributing at 14 KHz however there is still substantial dithering noise below 1000Hz which is not ideal.
Recommendations
You have a lot of free dithering plug-in to choose. Depending on your configuration, experience and setup, you can refer to the following recommendations:
1.) If quality for you is very important, then you can use SSRC. This is one of the best performing dithering plug-in based on the above test.
Sox dithering are promising; I have not fully tested all combinations of their dithering options. But as far as I’ve observed, you can also use Sox for a variety of audio processing implementations.
2.) If you prefer convenience and you don’t like the command line method at all; you can use LOSER/Assecca that have the best dithering response for VST classification. You can as well pick MDA plug-in.
3.) For most users, using MDA or Audacity built-in dithering might suffice for non-critical implementations.