manisandher
Addicted to Fun and Learning
Background
Many software players (and an increasing number of DACs) offer ‘leaky’ filters that are not optimized in the frequency domain. (Even pro companies like RME offer 'NOS filters’ in their DACs nowadays!) The rationale cited is that such ‘soft’/’smooth’/’slow’ filters are optimized in the time domain instead, which some believe is more important for sound quality.
Is this true? Let’s see if we can find out…
Setup:
(More hardware/software details at end.)
I started out with a Reference Recordings 24/176.4 file, the main reasons being SQ and provenance. It would have been recorded judiciously by Keith Johnson, originally in analogue and mastered for digital on a Pacific Microsonics Model Two, a machine I know very well. It would have passed through a passive analogue anti-alias filter (no over-sampling) and digitized using full ladder converters (no sigma-delta modulation).
But I wanted to use a 16/44.1 file for the comparison, as 99.9% of my music is in this format. So, I decimated the RR 24/176.4 file down to 16/44.1 (with TPDF dither).
I could have kept things purely in the digital domain, but decided to capture the analogue output of my DAC instead, as ultimately, it’s here that ‘the rubber meets the road’.
I took five 24/176.4 captures of the analogue output of my DAC:
1. Bit-perfect (reference file)
https://drive.google.com/file/d/1btTKG8xnMQQYvzNQpawbKeHyLG6Lu0T3/view?usp=sharing
As you can see, there’s ‘real’ content right up to ~50 kHz (though at a very low level by that point).
2. HQPlayer sinc-M & NS5
https://drive.google.com/file/d/1pOP8uc3xNVWWNrnxeE6XffCwMzrZpoIn/view?usp=sharing
A pretty much ‘textbook’ result, with the signal being massively attenuated well before Nyquist.
3. HQPlayer poly-sinc-lp & TPDF
https://drive.google.com/file/d/1SzK-6_7atGeRCCLjgR86HjcQ1MP7GeX1/view?usp=sharing
Here, the signal is ~80dB down by Nyquist. I suspect the filter designer considers this a good balance between frequency and time optimization.
4. Roon smooth-mp
https://drive.google.com/file/d/1HdNMz31eRmEllqYnz3_5mePKs8tdXREx/view?usp=sharing
A much ‘leakier’ filter than the two previous two. Everything above 22.05 kHz is imaging (not to be mistaken for the real ultrasonic content in the reference file).
5. XXHighEnd Arc Prediction
https://drive.google.com/file/d/1q57OQlC_3XQS04GNK5R1iUw6q4YMWarc/view?usp=sharing
The ‘leakiest’ filter of all with lots of imaging above 22.05 kHz. But even so, it could be argued that there’s still less ultrasonic noise here than there is in a DSD64 file (derived from the 24/176.4):
However, the DSD file has ‘real’ content up to around 34 kHz. Also, the noise above 34 kHz is not correlated with the music (whereas imaging obviously is).
Findings
If sine tones are to be believed, I can’t hear much above 12 kHz nowadays. Irrespective of filter, the FFTs look virtually identical below 12 kHz... and yet… the captures all sound distinctly different to me. (I’d be happy to describe the differences in detail later.)
Moreover, the ‘textbook’ filter does NOT sound closest to the reference file (to my ears).
I’ve linked all the files. You’re welcome to analyse these yourself, or even, God forbid, take a listen .
Mani.
******************************
Hardware/Software
Music Server
Many software players (and an increasing number of DACs) offer ‘leaky’ filters that are not optimized in the frequency domain. (Even pro companies like RME offer 'NOS filters’ in their DACs nowadays!) The rationale cited is that such ‘soft’/’smooth’/’slow’ filters are optimized in the time domain instead, which some believe is more important for sound quality.
Is this true? Let’s see if we can find out…
Setup:
music server -ethernet-> audio PC -USB-> DAC -analogue-> ADC -USB-> laptop
(More hardware/software details at end.)
I started out with a Reference Recordings 24/176.4 file, the main reasons being SQ and provenance. It would have been recorded judiciously by Keith Johnson, originally in analogue and mastered for digital on a Pacific Microsonics Model Two, a machine I know very well. It would have passed through a passive analogue anti-alias filter (no over-sampling) and digitized using full ladder converters (no sigma-delta modulation).
But I wanted to use a 16/44.1 file for the comparison, as 99.9% of my music is in this format. So, I decimated the RR 24/176.4 file down to 16/44.1 (with TPDF dither).
I could have kept things purely in the digital domain, but decided to capture the analogue output of my DAC instead, as ultimately, it’s here that ‘the rubber meets the road’.
I took five 24/176.4 captures of the analogue output of my DAC:
- original RR 24/176.4 file played back bit-perfectly (to provide a reference file for listening comparisons)
- 16/44.1 file up-sampled to 352.8 using HQPlayer’s sinc-M filter (& NS5 noise-shaping)
- 16/44.1 file up-sampled to 352.8 using HQPlayer’s poly-sinc-lp filter (& TPDF dither)
- 16/44.1 file up-sampled to 352.8 using Roon’s smooth-mp filter
- 16/44.1 file up-sampled to 352.8 using XXHighEnd’s Arc Prediction filter
1. Bit-perfect (reference file)
https://drive.google.com/file/d/1btTKG8xnMQQYvzNQpawbKeHyLG6Lu0T3/view?usp=sharing
As you can see, there’s ‘real’ content right up to ~50 kHz (though at a very low level by that point).
2. HQPlayer sinc-M & NS5
https://drive.google.com/file/d/1pOP8uc3xNVWWNrnxeE6XffCwMzrZpoIn/view?usp=sharing
A pretty much ‘textbook’ result, with the signal being massively attenuated well before Nyquist.
3. HQPlayer poly-sinc-lp & TPDF
https://drive.google.com/file/d/1SzK-6_7atGeRCCLjgR86HjcQ1MP7GeX1/view?usp=sharing
Here, the signal is ~80dB down by Nyquist. I suspect the filter designer considers this a good balance between frequency and time optimization.
4. Roon smooth-mp
https://drive.google.com/file/d/1HdNMz31eRmEllqYnz3_5mePKs8tdXREx/view?usp=sharing
A much ‘leakier’ filter than the two previous two. Everything above 22.05 kHz is imaging (not to be mistaken for the real ultrasonic content in the reference file).
5. XXHighEnd Arc Prediction
https://drive.google.com/file/d/1q57OQlC_3XQS04GNK5R1iUw6q4YMWarc/view?usp=sharing
The ‘leakiest’ filter of all with lots of imaging above 22.05 kHz. But even so, it could be argued that there’s still less ultrasonic noise here than there is in a DSD64 file (derived from the 24/176.4):
However, the DSD file has ‘real’ content up to around 34 kHz. Also, the noise above 34 kHz is not correlated with the music (whereas imaging obviously is).
Findings
If sine tones are to be believed, I can’t hear much above 12 kHz nowadays. Irrespective of filter, the FFTs look virtually identical below 12 kHz... and yet… the captures all sound distinctly different to me. (I’d be happy to describe the differences in detail later.)
Moreover, the ‘textbook’ filter does NOT sound closest to the reference file (to my ears).
I’ve linked all the files. You’re welcome to analyse these yourself, or even, God forbid, take a listen .
Mani.
******************************
Hardware/Software
Music Server
- SMPS ATX
- Supermicro mobo
- i3 CPU
- W10
- Roon Core v1.7_610
- music storage
- ultra-fast linear PSU -> HDPlex 800 DC-ATX
- Xeon 14/28 CPU
- W10 loaded into RAM
- no SSDs or HDDs attached to mobo
- XXHighEnd v2.11 (Kernel Streaming)
- HQPlayer v4.7.1 (WASAPI)
- RoonBridge v1.0_172 (WASAPI)
- Phasure NOS1
- 8x BB PCM1704U-K chips
- 24/768 capable
- no internal upsampling/filtering
- no SDM
- 2000 V/μs slew rate
- RME ADI-2 Pro FS R
- set to 24/176.4
- ‘Slow’ filter (little risk of aliasing at these rates)
- W10
- RME Digicheck