Psycho dither

Admitted nerd here.

I am reading the README on Psycho dither. Is Red essentially TPDF with a high pass filter and Green vanilla TPDF?

Now the Psycho power… That lost me. I am used to the old paradigm of LSB and orders… 5th/9th etc. How does the Psycho control really work? Is it a control of how “deep” the noise shape curve is? The graph seems to show it moving things higher in the spectrum the harder you push it with the dip increasing. Is the value a true representation of the dither noise shape order? 12th order is ridiculously high. (Cool!) Then the adaptive adjustment, is that just an amplitude measure so in soft passages it backs off the LSB as at low levels it gets rid of as much dither noise as possible? However, the adaptive adjustment seems to work very differently with Green as it doesn’t back off much if at all in silent passages. Just a little confused as you can’t see Red in ReaFIR to analyze and compare to Green as it disappears with silence.

Hey BG, good to see you over here, thanks for being interested!

Neither color is a vanilla PDF. Red is TPDF with increasing high pass filtering applied as the psycho power increases, and red is an extra-adaptive mode where there’s no dither applied at all in silent passages, and only a very light dither on loud passages. In both modes, the nosie shaping adjusts according to the input signal, to try to adaptively hide as much noise power as possible behind the loudest parts of the frequency spectrum, while also moving as much as possible into the psychoacoustically deadest parts of the equal loudness curve.

So explain your reasons for the design. I am pretty fascinated with your approach. I understand the auto level idea as there is no reason for dither in silent passages etc… buy why a seemingly variable LSB value? The old rule of thumb was LSB2 for going to 16 bit using TPDF… so are you actually measuring the dynamic of the source material (an off shoot of Bitter?) in real time to adjust the LSB the dither is applied to? i.e: there is no truncation noise going from 0db to 0db or -inf to -inf (all bits on, all bits off) so why dither as are at those levels? But how does it effect the LSB value at say half way between 0 and -inf as it approaches either extreme? Sounds all fun and parabolicish to me.

And this is the first implementation of noise shaping over the 9th order I have ever seen implemented. What are the advantages? It looks like the biggest change is a greater dip in the 3khz and 12khz areas and I don’t have anything that measures over 30khz to see any real difference in the super high end.

Also, is green the same dither as Red minus the adaptive feature to the input gain? And it seems the LSB of green is around 3 according to Bitter at order 12 and damn near non existent with no noise shaping (like .5).

I know, more questions than you ever thought would come up on this. It is just a very novel design concept to me as every other well implemented dither in the past few years be it Izotope, Waves, POW-R etc has been a straight ahead LSB 2, TPDF, 9th order variation.

Then back to the Reaper implementation in the render dialog, I assume the major advantage to this plugin is its ability to adjust the psycho power and the variable LSB dependent on program? (And correct me if I am thinking the LSB is changing if it isn’t.)

Lastly, have you compared this to other dithers on a spectral analyzer as far as artifact elimination? It is always fascinating to see how one implementation compares to another.