We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent fe7ca0d commit 416bf00Copy full SHA for 416bf00
1 file changed
playback/src/dither.rs
@@ -82,8 +82,15 @@ impl Ditherer for GaussianDitherer {
82
fn new() -> Self {
83
Self {
84
cached_rng: create_rng(),
85
- // 1/2 LSB RMS needed to linearize the response:
86
- distribution: Normal::new(0.0, 0.5).unwrap(),
+ // For Gaussian to achieve equivalent decorrelation to triangular dithering, it needs
+ // 3-4 dB higher amplitude than TPDF's optimal 0.408 LSB. If optimizing:
87
+ // - minimum correlation: σ ≈ 0.58
88
+ // - perceptual equivalence: σ ≈ 0.65
89
+ // - worst-case performance: σ ≈ 0.70
90
+ //
91
+ // σ = 0.6 LSB is a reasonable compromise that balances mathematical theory with
92
+ // empirical performance across various signal types.
93
+ distribution: Normal::new(0.0, 0.6).unwrap(),
94
}
95
96
0 commit comments