Disco_Steve wrote:I think you will find the dither works, and works well!
Sorry Disco, no offence meant - 'crude' wasn't the best choice of words - more that the assembly can be optimised quite a bit still. e.g. the rounding can use the cvtps2dq and cvtdq2ps commands instead of all the one channel floating point maths that the code expands to - it really does save a lot of CPU cycles. It's also quite possible I wasn't even looking at the most up to date version.
I'd be interested to know more about your thoughts on dithering within a plugin - I was always taught that dithering was somethihg that should only be done once (final output of a signal chain), so that dithering multiple times could not occur (which would bring the noise level above the last bit of resolution). AFAIK, most hosts keep all their maths in the floating point domain, so I would have expected dithering to not be an issue until D/A conversion - hence using my uv22 as the last process before the soundcard outputs.
As for using bitrate reduction as an effect - I personally don't want it to sound nice, I want to use it deliberately as a form of distortion (I'm one of those oddballs that quite likes a bit of aliasing too!)