Rob Watts
Member of the Trade: Chord Electronics
- Joined
- Apr 1, 2014
- Posts
- 3,231
- Likes
- 13,651
Hello Rob,
Some background:
I use Roon's DSP Convolution engine for 131k tap FIR room correction filters along with the volume leveling feature for volume adjustment free listening. Before any DSP is applied to the signal, Roon expands the audio to 64bit floating point and does all DSP with 64bits of precision. Once the desired DSP has been applied, Roon will dither (TPDF) back down to the maximum word length accepted by the audio device. So in the case of Chord DACs, this would be 32bits for the USB input and 24bits for the Toslink input.
My questions:
A. Coming from the 64bit floating point audio stream, is it best to dither to 32bit and then send to the M-Scaler via USB, or should I dither to 24bit and use the optical input for full electrical isolation?
B. Does the M-Scaler output 32bit audio on dual BNC or is it internally dithered to 24bits before leaving the device? If it internally dithers to 24bit, are the advantages of having the 32bit input greater than the cost of dithering twice (64 -> 32 -> 24)?
C. You've stated numerous times that your devices perform their best when given a bit-perfect audio stream, for obvious reasons. In your best guess/subjective opinion, at what level of DSP volume attenuation would one be causing serious auditory consequences? Assuming that this attenuation was being done with 64bit precision and dithered back to 32/24bit using TPDF.
Thanks!
A. My guess is that optical at 24b would be best sounding. Try both, and see for yourself; use a test track that has good depth (I use an organ track), and the one that has the best perception of depth plus the warmest tone, is the more accurate/transparent one.
B. No - it's not dithered down to 24 bits but very aggressively 11th order noise shaped. Now noise shaping at 768k with my truncation noise shaper (the truncation noise shaper actually has a different architecture to pulse array noise shapers), allows for -301 dB accuracy (so a -301 dB signal is accurate to +/-0.001dB in amplitude and +/- 0.001 deg in phase) and better than 350dB THD and noise within the audio bandwidth. This is measurably perfect small signal performance, and it's something that, based on my listening tests, is essential for transparent sound quality (that is maintaining depth perception).
When the M scaler was first put together with the Blu 2, I spent a lot of time in listening tests to get the maximum SQ performance (and here the problem is trying to add a digital module without it reducing my perception of sound stage depth), and this is how I came up with the 11th order truncation noise shaping. Now this is something one can do at 768k; but at 44.1 or 48k you cannot do this, so when converting to n bits down to 24 bits than you have to use dither. As part of my ADC project, I wanted dither to sound as good as the noise shaping - so started with rectangular and triangular dither (TPDF). Rectangular sounded the worst, but TPDF was still much inferior to the 768k noise shaping; I then used pseudo Gaussian dither, and this got me much closer to the noise shaper performance compared to TPDF - but it was still no where near as good as the noise shaped performance. Incidentally, if you have a truncation setting for a filter, never switch dither to off, the small signal distortion then becomes huge. If you have the option use Gaussian dither - if this isn't available (it's very rare) then triangular or TPDF.
As far as the Davina project goes, I still have more work to do, in order to improve 44.1k truncation to 24 bits. Perhaps making the pseudo Gaussian more Gaussian may help close the SQ gap.
C. Any change in the digital data requires re-quantization if there is a truncated data residual (the bits that can't be transmitted). And my answer B shows this can only be done at 705/768 when using advanced noise shaping. So even using a -0.001dB change would create problems in depth perception; this is why my standard advice is to keep it source bit perfect - and that ignores the fact that any up-sampling filter is not the same as a WTA filter.
Last edited: