• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

How DAC reconstruction filters would sound like if we were bats (listening examples)

KSTR

Major Contributor
Joined
Sep 6, 2018
Messages
2,730
Likes
6,100
Location
Berlin, Germany
There is a lot of discussion on how different DAC reconstruction filters sound like, besides the pure technical aspects which are easily explained and visualized with frequency response plots where the imaging -- mirrored frequencies above half the sample rate -- can be seen (if any), as well as impulse responses shown. I won't repeat that in all detail here as it's been covered already multiple times (for example, here).

Direct listening tests are not easy as we normally don't use any material with sample rates less than 44.1kHz and hence artifacts (both in frequency and time domains) start at close to fs/2 (22.05kHz) which is outside the range most adult individuals can hear.

Therefore, I've made some test files where I use a sample rate of 11.025kHz, 1/4th of 44.1kHz. Frequency response thus is restricted to 5.5125kHz and then artifacts above that range will be easily heard. Further, any effect of ringing etc also is much better exposed as that will happen right at this 5.5125kHz.
The test snippet is a music sample that doesn't have too much high frequency energy and fast transients as that would probably overexpose the effects since I've effectively scaled the audio two octaves up, from the sample rate point of view. Some of you may have heard that snippet already, in @Blumlein 88 's 8th generation DAC-ADC loopback test.


What I did is the following:

1) Downsample the 44.1kHz source file with Audition to 1/4x, using the most precise settings. This a standard (linear phase) close to ideal "sinc" filter with pre and post filtering and is representative of the situation when an analog stream is AD-converted with a textbook proper anti-aliasing filter.
1622222584880.png


2) Upsampling 4x back to 44.1kHz with NOS "filter" (which simply repeats each sample four times), using Foobar2000's "multiresampler" plugin (with Zero Order Hold, which is the technical name for NOS).
1622222608770.png

The somewhat irregular shape comes from the actual samples being quadrupled which are just the sample values of the previous impulse which are not fully symmetric (would show up at higher zoom levels).

3) Another upsampling 4x of the downsampled track with a true maximised sinc filter (passband to 99%, linear phase, filtered), using Foobar2000's "SoX resampler" plugin . This gives an impulse reponse with the usual pre-ringing and post-ringing, quite long in this case, from the maximally extended passband.
1622222636300.png


4) A third upsampling 4x with with the mimimum phase version of the above (otherwise same settings) This gives an impulse reponse with only post-ringing and even longer duration.
1622222658822.png


Basically, this covers the extremes. Actual filters in DACs usually are in between, notably the filters have only little rejection at fs/2 (where a true sinc filter would have already full attenuation) and reach their stop-band up higher -- not as bad as NOS (which does not attenuate at all) but still images will be created.

Listening to the NOS clearly shows that nasty mirrored content.
Telling the two steep filters apart is not so easy (unless one would listen to the impulse shown, directly, where the long tail of the minimum phase filter clearly can be identified). You may post ABX logs of attempts to do so (I failed in quick run).

Have fun!

https://www.dropbox.com/s/xddak5sjsh8eyzs/RecontructionFilterComparison.zip
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,478
Likes
4,098
Location
Pacific Northwest
... The test snippet is a music sample that doesn't have too much high frequency energy and fast transients as that would probably overexpose the effects ... Telling the two steep filters apart is not so easy (unless one would listen to the impulse shown, directly, where the long tail of the minimum phase filter clearly can be identified). ...
Nice test, thanks for posting.
As you suggest, the 2 steep filters would be easier to differentiate using content with lots of HF energy, a square wave, jangling keys, or if you want actual music something really "clicky" like castanets [... cue the inevitable jokes about whether castanets are music...]
The Drums & Bells CD has several tracks with intense HF energy, particularly track 19 "Dropping Objects". I've found it great for A/B testing high frequency related stuff.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
There is a lot of discussion on how different DAC reconstruction filters sound like, besides the pure technical aspects which are easily explained and visualized with frequency response plots where the imaging -- mirrored frequencies above half the sample rate -- can be seen (if any), as well as impulse responses shown. I won't repeat that in all detail here as it's been covered already multiple times (for example, here).

Direct listening tests are not easy as we normally don't use any material with sample rates less than 44.1kHz and hence artifacts (both in frequency and time domains) start at close to fs/2 (22.05kHz) which is outside the range most adult individuals can hear.

Therefore, I've made some test files where I use a sample rate of 11.025kHz, 1/4th of 44.1kHz. Frequency response thus is restricted to 5.5125kHz and then artifacts above that range will be easily heard. Further, any effect of ringing etc also is much better exposed as that will happen right at this 5.5125kHz.
The test snippet is a music sample that doesn't have too much high frequency energy and fast transients as that would probably overexpose the effects since I've effectively scaled the audio two octaves up, from the sample rate point of view. Some of you may have heard that snippet already, in @Blumlein 88 's 8th generation DAC-ADC loopback test.


What I did is the following:

1) Downsample the 44.1kHz source file with Audition to 1/4x, using the most precise settings. This a standard (linear phase) close to ideal "sinc" filter with pre and post filtering and is representative of the situation when an analog stream is AD-converted with a textbook proper anti-aliasing filter.
View attachment 132420

2) Upsampling 4x back to 44.1kHz with NOS "filter" (which simply repeats each sample four times), using Foobar2000's "multiresampler" plugin (with Zero Order Hold, which is the technical name for NOS).
View attachment 132421
The somewhat irregular shape comes from the actual samples being quadrupled which are just the sample values of the previous impulse which are not fully symmetric (would show up at higher zoom levels).

3) Another upsampling 4x of the downsampled track with a true maximised sinc filter (passband to 99%, linear phase, filtered), using Foobar2000's "SoX resampler" plugin . This gives an impulse reponse with the usual pre-ringing and post-ringing, quite long in this case, from the maximally extended passband.
View attachment 132422

4) A third upsampling 4x with with the mimimum phase version of the above (otherwise same settings) This gives an impulse reponse with only post-ringing and even longer duration.
View attachment 132423

Basically, this covers the extremes. Actual filters in DACs usually are in between, notably the filters have only little rejection at fs/2 (where a true sinc filter would have already full attenuation) and reach their stop-band up higher -- not as bad as NOS (which does not attenuate at all) but still images will be created.

Listening to the NOS clearly shows that nasty mirrored content.
Telling the two steep filters apart is not so easy (unless one would listen to the impulse shown, directly, where the long tail of the minimum phase filter clearly can be identified). You may post ABX logs of attempts to do so (I failed in quick run).

Have fun!

https://www.dropbox.com/s/xddak5sjsh8eyzs/RecontructionFilterComparison.zip
Listen to the two clicks at sample position around 942600 and perhaps you can ABX them as well. The interesting thing is that the "MP" one actually sounded more like pre-echo to me.
Code:
foo_abx 2.0.6d report
foobar2000 v1.6.6
2021-05-29 02:34:39

File A: DS-4x-Sinc--US-4x-Sinc(LP).flac
SHA1: 27d01cb8278dc05d625a1fb7b985a6b667e9c63a
File B: DS-4x-Sinc--US-4x-Sinc(MP).flac
SHA1: 79dcacc42aa0c4ffb235f7c6391630917d37d20c

Output:
Default : Primary Sound Driver
Crossfading: NO

02:34:39 : Test started.
02:36:36 : 01/01
02:36:47 : 02/02
02:37:04 : 03/03
02:37:16 : 04/04
02:37:38 : 05/05
02:37:56 : 06/06
02:38:25 : 07/07
02:38:42 : 08/08
02:38:57 : 09/09
02:39:40 : 10/10
02:39:40 : Test finished.

----------
Total: 10/10
p-value: 0.001 (0.1%)

-- signature --
3be73c52c56b23fa170eb7b1d289b5e0a51d2276
 
Last edited:
OP
KSTR

KSTR

Major Contributor
Joined
Sep 6, 2018
Messages
2,730
Likes
6,100
Location
Berlin, Germany
Listen to the two clicks at sample position around 942600 and perhaps you can ABX them as well. The interesting thing is that the "MP" one actually sounded more like pre-echo to me.
Yep. I didn't notice these blips previously. They are pretty pronounced in the original as well.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
Yep. I didn't notice these blips previously. They are pretty pronounced in the original as well.
foobar2000 1.6.6 replaced the PPHS resampler with RetroArch. In highest quality settings RetroArch is faster (conversion speed) and more precise (via measurement) than PPHS's "ultra" mode. The interesting thing is RetroArch also allows lower quality settings with poorer attenuation and non-flat passband response, good candidates for listening tests.

SSRC on the other hand resembles Chord's filter, very long and very steep (over 99% bandwidth).
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
@bennetng , I cannot make a connection between your post and the quoted section of mine.
Playing the original meant no resamplers in place.
Sorry, not my intent, just conveniently quoted your previous post. I meant there are other resamplers to play with other than the SoX and Multiresampler plugins. Anyway, here are some examples, the attenuation depth of RetroArch highest and SSRC are limited by Audition's display accuracy already.
foobar.PNG
 
Last edited:
OP
KSTR

KSTR

Major Contributor
Joined
Sep 6, 2018
Messages
2,730
Likes
6,100
Location
Berlin, Germany
I meant there are other resamplers to play with other than the SoX and Multiresampler plugins. Anyway, here are some examples, the attenuation depth of RetroArch highest and SSRC are limited by Audition's display accuracy already.
Yes, Audition is limited, better throw the IR's onto REW RTA window where the FFT is 64bit (and the import can even handle 32bit integer .wav's).
SSRC looks nice (I already have it in my Plugin collection)

I'm currently experimenting with homebrewn FIR lowpass filter kernels for frequencies I still able to hear (~14kHz), like (windowed) sinc and Gaussian, etc, to be able to apply these to any file via convolving rather than multiple resampling.
 

Tortie

Active Member
Forum Donor
Joined
Mar 26, 2018
Messages
265
Likes
126
foobar2000 1.6.6 replaced the PPHS resampler with RetroArch. In highest quality settings RetroArch is faster (conversion speed) and more precise (via measurement) than PPHS's "ultra" mode. The interesting thing is RetroArch also allows lower quality settings with poorer attenuation and non-flat passband response, good candidates for listening tests.

SSRC on the other hand resembles Chord's filter, very long and very steep (over 99% bandwidth).

Hi,

In your opinion between the two Foobar built-in opotions for resampling, SSRC and RetroArch, which one would be best suited in terms of audio fidelity for simply downsampling a 24/96 audio file to 16/44 or 16/48?
 

tuga

Major Contributor
Joined
Feb 5, 2020
Messages
3,984
Likes
4,285
Location
Oxford, England
Listening to the NOS clearly shows that nasty mirrored content.
Telling the two steep filters apart is not so easy (unless one would listen to the impulse shown, directly, where the long tail of the minimum phase filter clearly can be identified). You may post ABX logs of attempts to do so (I failed in quick run).

Have fun!

https://www.dropbox.com/s/xddak5sjsh8eyzs/RecontructionFilterComparison.zip

Shouldn't these be compared with a DAC set to "(digital) filterless"?

Edit: and file player in "pass-through" mode?
 
Top Bottom