Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Stress testing sample rate converters (Read 35058 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Stress testing sample rate converters

Some generally great sounding sample rate converters (SRC) alias >22kHz content into the <22kHz range at high energy levels. Although my hearing caps between 17-18kHz, I asked myself wether this could influence the playback of lower frequency content on real world systems.

If you want to try this yourself, convert the following sample with your favorite SRC to 44.1 kHz (-70db sine wave sweep vs. -20db modulated sine wave at 23333 Hz +/- 1000 Hz):


96 kHz, 32 bit float: [attachment=5153:Sweep_70db_HF_20db.wav]

Ideally it should look like this afterwards:


44.1 kHz, 32 bit float: [attachment=5155:Sweep_70db_441.wav]

Anyway, try to ABX your conversion of Sweep_70db_HF_20db.wav vs. Sweep_70db_441.wav. I got anything from outright terrible (VMware Fusion's internal SRC sounded like amateur radio) to indistinguishable (Sox VHQ).

The following pair doesn't sweep and this should make it easier for some ears:

96 kHz, 32 bit float: [attachment=5151:LF_70db_HF_20db.wav] 44.1 kHz, 32 bit float: [attachment=5157:LF_70db_441.wav]

Remember, these are synthetic test samples specifically made to be tough on sample rate conversion. If a SRC fails this, this doesn't mean that it couldn't still produce excellent results for normal music!

If you are generally interested, wether audible effects of very high frequencies above your threshold of hearing are possible, try to ABX the following two very extreme samples against each other (-80db 4000 Hz sine wave vs. -6db 21000 Hz +/- 500 Hz modulated sine wave):


Redbook compatible, triangular dither: [attachment=5161:redbook4kplusHF16.wav]


Redbook compatible, triangular dither: [attachment=5160:redbook4k16.wav]

This post referencing this site had initially drawn my interest in the matter. This thread's samples should put a much harder burden on the tested SRCs.

Since real world amplifiers and speakers aren't totally linear, some volume differences could apply. Maybe someone with more insight into the physical side of this could explain wether that matters.

Stress testing sample rate converters

Reply #1
Since real world amplifiers and speakers aren't totally linear, some volume differences could apply. Maybe someone with more insight into the physical side of this could explain wether that matters.


What does a bad job of resampling look like?

(I'm, a long term user of CEP 2.1 and so I have very little experience with sample rate conversions done wrong.)

Stress testing sample rate converters

Reply #2
You could go to the infinitewave site and have a look at the "Ableton Live 7" results.
An excellent pulse response but lots of aliasing.

 

Stress testing sample rate converters

Reply #3
You could go to the infinitewave site and have a look at the "Ableton Live 7" results.
An excellent pulse response but lots of aliasing.



that's a horrible impulse response!  Should like like a sinc wave (sin(x*pi)/(x*pi))

Stress testing sample rate converters

Reply #4
that's a horrible impulse response!  Should like like a sinc wave (sin(x*pi)/(x*pi))
I disagree - it is a wonderful impulse response. It looks like an analogue impulse. Which is exactly what any converter will try to achieve.

A bad downsample looks like this one done with the internal resampler in WaveLab 5:


A good resampler (iZotope RX Advanced) looks like this:


... when it is configured like this:


However, I subjectively prefer this setting (with music):


... which results in this:


Not perfect, but still no aliasing artifacts mirrored below 20 kHz - and wonderful impulses.
marlene-d.blogspot.com

Stress testing sample rate converters

Reply #5
that's a horrible impulse response!  Should like like a sinc wave (sin(x*pi)/(x*pi))
I disagree - it is a wonderful impulse response. It looks like an analogue impulse. Which is exactly what any converter will try to achieve.

I'm afraid that's not possible. At least, linear interpolation is not suitable for high quality conversion. So I'd rather prefer impulses like this:

 

Stress testing sample rate converters

Reply #6
However, I subjectively prefer this setting (with music):

... which results in this:

Not perfect, but still no aliasing artifacts mirrored below 20 kHz - and wonderful impulses.

For everyone still using Cool Edit Pro 2.1 or Audition 1.x: this is very similar to what you get with the following settings: Quality: 999, Pre/Post Filter: OFF, Resolution: 32 bit.

Turning the pre/post filter on just lengthens the impulse response by a factor of 4 or so, so I always leave it off.

Chris
If I don't reply to your reply, it means I agree with you.


Stress testing sample rate converters

Reply #8
For everyone still using Cool Edit Pro 2.1 or Audition 1.x: this is virtually identical to what you get with the following settings: Quality: 999, Pre/Post Filter: OFF, Resolution: 32 bit.

No, Audition is pretty different from what Cavaille has plotted. Quality=999 is much steeper, and Audition has -6 dB point at Nyquist while Cavaille's is -36 dB.

Stress testing sample rate converters

Reply #9
At least, linear interpolation is not suitable for high quality conversion. So I'd rather prefer impulses like this:

 
I´d prefer the left graph. When I configure the SRC to resemble the graph on the right side it sounds remarkably different and "strange". But then... this could be very useful for certain things.
marlene-d.blogspot.com

Stress testing sample rate converters

Reply #10
I´d prefer the left graph. When I configure the SRC to resemble the graph on the right side it sounds remarkably different and "strange".

I don't think it does. You must be doing something wrong or it's the placebo effect in action. Please look at the time scale. The post ringing is under 2 milli seconds and the range of group delays within the audible band is probably limited to a couple of micro seconds. I would not expect you to be able to hear a difference.

Cheers!
SG

Stress testing sample rate converters

Reply #11
You must be doing something wrong or it's the placebo effect in action. Please look at the time scale. The post ringing is under 2 milli seconds and the range of group delays within the audible band is probably limited to a couple of micro seconds. I would not expect you to be able to hear a difference.
Should I do an ABX and post the samples I used for it? That should prove it...    I already told that in another thread that I found out for myself what the "best" upsampling method is in order to reach the sound of the original 24/96 source. I used my ears and several ABX for it and I was happy when I finally wasn´t able anymore to distinguish the upsampled file from the original 24/96 file. I offered some upsampled files here. I also described that I came up with this by testing the SRC from iZotope. In order to find out what sounded closest I also experimented with impulse setting or Pre-Ringing. And when I had no pre-ringing but huge post-ringing it sounded "strange", as if someone had been playing around with some stereo expanding tool. The same with downsampled material. I didn´t try testtones like this one here in this thread, I used only music.
marlene-d.blogspot.com

Stress testing sample rate converters

Reply #12
Yes, Alexey, sorry, I realized that while you were typing your response and pulled back from "virtually identical" to "very similar"... which I guess is still an overstatement, I remembered my Audition experiments wrong. Quality = 600 or so is closer to what Cavaille came up with. But I prefer the whole 999

Chris
If I don't reply to your reply, it means I agree with you.

Stress testing sample rate converters

Reply #13
that's a horrible impulse response!  Should like like a sinc wave (sin(x*pi)/(x*pi))



99.9% of the golden ears who have been educated by our favorite golden-eared journalist(s) would think they would prefer the Abletron impulse. ;-)

The interesting question is what this sort of implulse response does to music.  If I downsample regular music to say 11 KHz sample rate, would I prefer the Abletron or CEP downsampler?

Stress testing sample rate converters

Reply #14
If I downsample regular music to say 11 KHz sample rate, would I prefer the Abletron or CEP downsampler?

Good question. Does anyone have Ableton and can upload a 11.025 kHz downsampled (using the High Quality setting) music item? Like castanets? Or the Everything is Green (eig) sample?

Chris
If I don't reply to your reply, it means I agree with you.

Stress testing sample rate converters

Reply #15
If I downsample regular music to say 11 KHz sample rate, would I prefer the Abletron or CEP downsampler?

Good question. Does anyone have Ableton and can upload a 11.025 kHz downsampled (using the High Quality setting) music item? Like castanets? Or the Everything is Green (eig) sample?

But why high quality?  These pictures at post #3 are from "Ableton Live 7", not "Ableton Live 7 High Quality".

Stress testing sample rate converters

Reply #16
But why high quality?  These pictures at post #3 are from "Ableton Live 7", not "Ableton Live 7 High Quality".

Well, the non High Quality is without any anti-aliasing filter. I think it's not hard to imagine that this will produce pretty bad sounding 11-kHz audio, especially for tonal signals. IIRC, there is such a demo on the CD in this book. For me, it would be more interesting to hear what their "quality" mode sounds like, as this still produces significant aliasing.

Chris
If I don't reply to your reply, it means I agree with you.

Stress testing sample rate converters

Reply #17
99.9% of the golden ears who have been educated by our favorite golden-eared journalist(s) would think they would prefer the Abletron impulse. ;-)
Arnold, you know that I read some of those magazines from the "golden-eared journalists". And in theory, this impulse resembles an analogue impulse pretty much. But what most journalists fail to see is that these impulses only affect frequencies close to nyquist. To my knowledge, the effect on the rest of the frequency spectrum diminishes to zero the lower you get. Still, since being exposed so many years to the "impulse-lie" I tend to respect it - and only to make sure. Furthermore, since I came up with my up- and downsampling technique by ABXing the results, I´ve got these better impulses only by chance. Now there are two possibilities: 1. the SRC from iZotope colours the sound 2. despite theory, impulses can be heard.

In the case with Ableton the theoretical advantage of having a perfect impulse is completely destroyed and overshadowed by strong aliasing artifacts mirrored back into the audible signal. So there appears no benefit in using this SRC.
marlene-d.blogspot.com

Stress testing sample rate converters

Reply #18
In the case with Ableton the theoretical advantage of having a perfect impulse is completely destroyed and overshadowed by strong aliasing artifacts mirrored back into the audible signal. So there appears no benefit in using this SRC.

Such "perfect impulse" will inevitably lead to very poor artifacts. Linear interpolation is poor for both audio and video.

Stress testing sample rate converters

Reply #19
In the case with Ableton the theoretical advantage of having a perfect impulse is completely destroyed and overshadowed by strong aliasing artifacts mirrored back into the audible signal. So there appears no benefit in using this SRC.


Hopefully you understand that those two facts aren't unrelated either. The impulse response and the frequency response are just two sides of the same coin, they have an underlying mathematical relationship that can't be avoided. In fact you can prove that if the frequency response is finite then the impulse response must be infinite (as in infinite extent) and visa versa. Note here that we are talking about "finite extent" in an exact mathematical sense as in going precisely to zero outside of some finite domain. Of course an impulse response can have an "infinite" extent in a strict mathematical but still sensibly go to "zero" in an audible sense.

Stress testing sample rate converters

Reply #20
Hopefully you understand that those two facts aren't unrelated either. The impulse response and the frequency response are just two sides of the same coin, they have an underlying mathematical relationship that can't be avoided. In fact you can prove that if the frequency response is finite then the impulse response must be infinite (as in infinite extent) and visa versa. Note here that we are talking about "finite extent" in an exact mathematical sense as in going precisely to zero outside of some finite domain. Of course an impulse response can have an "infinite" extent in a strict mathematical but still sensibly go to "zero" in an audible sense.
That´s why it is so difficult to program decent SRCs I believe. It´s perfectly simple: If you have a perfect impulse you´ll sacrifice other things by introducing audible aliasing artifacts. And if you don´t have any aliasing, you basically have to choose between pre- and post ringing or no pre-ringing but huge amounts of post-ringing. It´s the same with every SRC around... That´s why I like SRCs being able to be "tweaked" - that way you´ll get the best of "both worlds" by adapting the SRC to the needs of the job.
marlene-d.blogspot.com

Stress testing sample rate converters

Reply #21
You're really ascribing a lot more importance over temporal masking than I believe is generally recognized. Minimum-phase conversion is a rather high-end topic. To the best of my knowledge, nobody (yet) has ever ABX'd a difference between two correctly implemented (ie, not Ableton Live) converters. So you do have to excuse us for being skeptical.

If you're going to keep asserting a positive 24/96 test, one of these days you will need to actually post the details on it.  We won't be that hard on you, will we?

Also: It's worth pointing out that the "perfectness" of the Ableton filter is really an illusion caused by incorrect rendering of the waveform.

Stress testing sample rate converters

Reply #22
Also: It's worth pointing out that the "perfectness" of the Ableton filter is really an illusion caused by incorrect rendering of the waveform.

RX plotted the waveform quite correctly, it uses a high-order windowed sinc interpolation to reconstruct the analog waveform. The reason why there's no ringing is that the sampling rate of the impulse response is 14.112 MHz (this is the rate at which SRC filter works). If this is plotted at 44.1 kHz, the ringing will be definitely present.

Stress testing sample rate converters

Reply #23
RX plotted the waveform quite correctly, it uses a high-order windowed sinc interpolation to reconstruct the analog waveform. The reason why there's no ringing is that the sampling rate of the impulse response is 14.112 MHz (this is the rate at which SRC filter works). If this is plotted at 44.1 kHz, the ringing will be definitely present.
Oh, that is interesting. How can I setup the waveform window in RX to show me the impulse response and what tone do I need for that? I always wondered how people were doing it...
marlene-d.blogspot.com

Stress testing sample rate converters

Reply #24
In the case with Ableton the theoretical advantage of having a perfect impulse is completely destroyed and overshadowed by strong aliasing artifacts mirrored back into the audible signal. So there appears no benefit in using this SRC.
It's not even a perfect impulse in the time domain - it might look like one for the specific 100% artificial example where you're looking at an impulse perfectly co-timed with a sampling instant - but delay the signal by half a sample, and then see what you get

Cheers,
David.