Digital Audio Theory & Mastering

Audio Dithering: TPDF, Noise Shaping & Bit-Depth Guide

By Infinite Creation · 14 min read

In digital audio processing, simply chopping off extra bits when exporting from 32-bit floating point to 16-bit creates gritty harmonic distortion on quiet signals. Dithering cures this mathematical defect. This guide covers quantization distortion physics, TPDF dither, psychoacoustic noise shaping curves, and exact export rules.

1. The Mathematics of Digital Quantization & Bit-Depth

Bit-depth determines the dynamic range and amplitude resolution of digital audio:

  • 16-bit Audio: 65,536 discrete amplitude steps providing 96 dB of theoretical dynamic range (the Red Book CD standard).
  • 24-bit Audio: 16,777,216 discrete amplitude steps delivering 144 dB of dynamic range (the professional studio recording standard).
  • 32-bit Floating Point: Uses a 24-bit mantissa with an 8-bit exponent, delivering over 1,500 dB of dynamic range, making digital internal DAW clipping virtually impossible during mixing.

2. The Problem: Truncation Distortion (Quantization Error)

When you finish mixing a 32-bit float or 24-bit project and export a 16-bit WAV file, the computer must discard the lower 8 or 16 bits of information.

If the software simply rounds down or truncates (chops off) the numbers, the quantization error becomes mathematically correlated with the original audio waveform. This creates harsh, buzzing Harmonic Quantization Distortion, which is especially noticeable as granular fuzz on quiet reverb tails, piano decay rings, and acoustic fade-outs.

3. The Solution: What Dither Actually Does

Dither is an intentional, microscopic random noise signal added to the audio right before bit-depth reduction:

By adding random noise with an amplitude equal to the least significant bit (1 LSB), dither de-correlates the quantization error from the audio signal. Instead of gritty harmonic distortion, the quantization error is converted into a benign, steady, low-level analog-like hiss at -96 dBFS.

TPDF (Triangular Probability Density Function)

The purest, most uncolored dither standard. Sums two independent white noise sources to eliminate noise modulation completely, providing flat, neutral high-frequency dither.

Rectangular (RPDF)

Uses single noise source, but causes subtle noise floor modulation during quiet passages. Rarely used in modern mastering.

4. Psychoacoustic Noise Shaping: POW-r, UV22 & Weiss

Standard TPDF dither spreads noise evenly across the entire frequency spectrum. However, human ears are extremely sensitive to midrange frequencies around 2 kHz to 5 kHz (the human speech range) and far less sensitive to frequencies above 15 kHz.

Noise Shaping filters the dither noise curve:

  • POW-r Type 1: Flat spectrum dither for highly dynamic acoustic and classical recordings.
  • POW-r Type 2: Mild psychoacoustic curve for speech and acoustic pop.
  • POW-r Type 3: Aggressive curve that scoops out noise in the critical 2 kHz to 4 kHz range and pushes it up past 16 kHz, boosting perceived dynamic range to an astonishing 115 dB on a standard 16-bit CD master.

5. The Golden Rules of Dithering in the DAW

Follow these rules to avoid noise accumulation:

  • Rule 1: Dither Only When Reducing Bit-Depth. If you export 24-bit WAV files for Apple Digital Masters or video editors, do not apply 16-bit dither.
  • Rule 2: Dither Only Once at the Absolute Final Output. Dither must always be the very last plugin in the mastering chain (after all limiters and EQs). Never dither individual track stems during mixing.
  • Rule 3: Exporting 32-bit Float Requires Zero Dither. 32-bit float preserves raw floating point math with no truncation.

Tested: what rounding, dither and noise shaping do to a quiet signal

We tested the page's quantization, dither and noise shaping claims on 2026-09-29 with FFmpeg 8.1.2 and numpy. Every signal is a computer-generated 997 Hz sine at 48 kHz, reduced from 32-bit float to 16 bits by FFmpeg's aresample filter. One point first: FFmpeg's default conversion rounds to the nearest step, it does not chop the extra bits off, so a numpy floor stands in for truncation below. A step is one 16-bit least significant bit. The table uses a sine three steps tall and one 0.4 steps tall, which is under a single step.

Method, 16 bits3 step sine: energy at the harmonics, against the tone (dB)0.4 step sine: tone level against its true level (dB)0.4 step sine: energy at the harmonics, against the tone (dB)
Rounded (FFmpeg with no dither)-20.5signal gonenone left
Truncated (numpy floor)-18.2+4.0-6.8
Rectangular dither-53.20.0-35.1
Triangular (TPDF) dither-52.60.0-33.9

The figures in section 1 hold, with a caveat about what they measure. A full-scale sine reduced to 16 bits with rounding had a signal to noise ratio of 98.1 dB, and a 24-bit rounding, worked out in numpy, 146.3 dB. The page's 96 and 144 dB are 20 times the log of the number of steps. The full-scale sine figure runs 1.76 dB above them. With TPDF dither the noise floor was -96.3 dBFS RMS, matching the page's "-96 dBFS hiss", and the signal to noise ratio fell to 93.3 dB, so dither costs about 5 dB of ratio.

Section 2 holds on a quiet signal. On the three step sine, rounding put the energy at the harmonics 20.5 dB below the tone and truncation 18.2 dB below it. Both are real distortion, far above a noise floor. Both dithers put it about 53 dB down, where it is only the noise floor falling on the harmonic frequencies. The tone came out within 1 dB of its true size in all four. The page says "simply chopping off" causes this, and it holds for rounding too.

The strongest case for dither is a signal smaller than one step. Rounded to 16 bits, the 0.4 step sine vanished completely. With triangular dither it came out 0.0 dB from its true level, sitting in the noise. A fade shows the same thing on the page's own example, a quiet tail. A tone falling from -70 to -110 dBFS was measured in one second windows. Rounded, it tracked the input until about -92 dBFS, then started reading wrong, and from the window centred on -102 dBFS onward it was digital silence. With TPDF dither the tone stayed within 0.3 dB of the input in every window, down to -108 dBFS.

Section 4 holds in direction, and the page does not mention what the shaping costs. Against plain TPDF, FFmpeg's shapers changed the noise as follows. Shibata -21 dB at 2 to 4 kHz, +26 dB above 16 kHz, +14.4 dB A-weighted. Low shibata -18 dB at 2 to 4 kHz, +21 dB above 16 kHz, +9.6 dB A-weighted. F weighted -22 dB at 2 to 4 kHz, +23 dB above 16 kHz, +10.8 dB A-weighted. Modified e weighted -16 dB at 2 to 4 kHz, +12 dB above 16 kHz, +1.7 dB A-weighted. Improved e weighted -23 dB at 2 to 4 kHz, +28 dB above 16 kHz, +15.4 dB A-weighted. Every one removed at least 10 dB from the 2 to 4 kHz band. The strongest, improved e weighted, put 23 dB more noise into the file overall. By A-weighting, which is one common model of hearing, it came out worse than plain dither, and only modified e weighted, the mildest, came out close. These are not POW-r or UV22, which are not in FFmpeg, and we did not test the "115 dB" figure or listen to any of it.

Rule 2 holds. Two dithered passes gave 3.0 dB more noise than one (-96.3 then -93.3 dBFS). FFmpeg's dither repeats the same sequence, and two passes on the same sample alignment gave 5.2 dB more, so the second run here was offset by 1,237 samples. Rule 3 holds for FFmpeg, since a float to float pass with triangular dither returned every sample unchanged. We did not test 24-bit exports (rule 1).

Reduce a file to 16 bits with triangular dither in FFmpeg: ffmpeg -i master.wav -af aresample=osf=s16:dither_method=triangular master16.wav

Validated. Measured 2026-09-29 with FFmpeg 8.1.2 (aresample) and numpy. The signals are synthetic sines, and a real recording's error is less regular than a steady tone's. The 24-bit figure is numpy rounding, not an FFmpeg run. The truncation row is a numpy floor, because FFmpeg rounds. We did not test POW-r, UV22 or Weiss, RPDF against TPDF noise modulation, the "1,500 dB" float figure, 24-bit exports, or how any result sounds. The command is the conversion that was measured.

Working Vocabulary

Key digital audio theory and dithering terms introduced in this guide:

  • Dither. Intentionally applied low-level random noise added to digital audio to prevent harmonic quantization distortion when reducing bit-depth.
  • Truncation Distortion. Correlated harmonic noise produced when extra bits are discarded during digital audio export without dither.
  • TPDF (Triangular Probability Density Function). The mathematical standard for uncolored dither noise created by summing two independent random noise generators.
  • Noise Shaping. A feedback filtering process that shifts dither noise power out of the sensitive human vocal midrange and into inaudible ultra-high frequencies.
  • LSB (Least Significant Bit). The smallest discrete binary value in a digital audio word, dictating the minimum step size of quantization.
  • POW-r. Psychoacoustically Optimized Wordlength Reduction, a widely licensed industry standard for noise-shaped dithering.

Where This Fits

Dither is the last step of a bounce, the end point Mixing a Full Song works toward from rough levels.

Translate this page

Machine translation provided by Google Translate, on Google’s servers.