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: On distortion-less sample rate converters (Read 5900 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

On distortion-less sample rate converters

There is an interesting comparison of (mostly commercial) sample rate converters at http://src.infinitewave.ca/.

It shouldn't be shocking to anyone that a lot of converters do it wrong... though keeping the scale of these graphs in mind, I'm somewhat surprised that there were as many OKAY ones as there were.. clearly things have gotten better.

Insufficiently suppressed aliasing appears to be the most common fault for these converters.  This isn't a shock: A failure to completely suppress aliasing is slightly euphonic in quick non-scientific cases, especially in the 48->44 khz case. (The failure of some SRCs to completely suppress aliasing at 40khz->near DC, however, is completely unacceptable).

One thing which struck me as interesting is that virtually none of the converters completely suppressed low level distortion spurs (look at the 1khz tone graphs).  I expect that even the converters which showed no noise (Izotope 64bit, for example) on the test still had distortion spurs, but they were below the bottom of the graphs.

While many of the converters had distortion well below the levels that would matter for listening, for some measurement or processing applications they may be significant, and I don't see why they shouldn't be avoided.

If I were making a SRC with the goal of low distortion, I would do this:  Take the (16,24,etc) bit input and convert it to my internal format (32 or 64 bit floats). Generate a high level broadband noise with a triangular distribution, in the internal format. I would attenuate a copy of it somewhat, and subtract it from the input signal.  I would then apply my sample rate conversion (take your pick of any approach which doesn't completely suck) to the signal and, separately, the noise. I would then add the resampled noise back into the resampled signal, thus removing the noise.  Any distortion would instead be converted into a nice flat noise floor. Then truncate or apply noise shaped dither, and output in my desired output format.    Is there something broken in my thinking here?

On distortion-less sample rate converters

Reply #1
...This isn't a shock: A failure to completely suppress aliasing is slightly euphonic in quick non-scientific cases, especially in the 48->44 khz case...

I am shocked already: "quick non-scientific case" = meaningless

Euphonic???!!!

On distortion-less sample rate converters

Reply #2

...This isn't a shock: A failure to completely suppress aliasing is slightly euphonic in quick non-scientific cases, especially in the 48->44 khz case...

I am shocked already: "quick non-scientific case" = meaningless

Euphonic???!!!


In other words, many software developers are not using solid scientific testing methodology when they test software (if they even bother to test at all).

If you have two sample rate converters, one which is ideal in every regard, and one which aliases like crazy, and you convert some audio from 48KHz to 44.1KHz then ask people which of the two converters sounds better ,ost people will pick the crap converter that aliases for most samples most of the time. "brighter sounds better". Euphonic. 

Proper (i.e. ABX) testing would  show the crap converter for what it is, but people aren't doing proper testing, thus the non-surprising popularity of converters with broken anti-aliasing filters.

Since I'm responding anyways: Turns out that SSRC high precision mode (ssrc_hp) has no measurable distortion spurs, except for the quantization distortion from its 24 bit output, and turning on TPDF with an amp of 2 eliminates those too.  I should probably nag the folks at that testing site to add ssrc_hp.

On distortion-less sample rate converters

Reply #3
In other words, many software developers are not using solid scientific testing methodology when they test software (if they even bother to test at all)...

Well. Let's stay away from those kinds of "professionals" (and their products) then.

 

On distortion-less sample rate converters

Reply #4
Proper (i.e. ABX) testing would  show the crap converter for what it is, but people aren't doing proper testing, thus the non-surprising popularity of converters with broken anti-aliasing filters.
I'm not too sure of that, don't assume that you can hear what you see. The graphs in the test are well done, but note that the artifacts in the graphs go down to -180 dBFS. You'll be hard pressed to reveal them in an a listening test (don't forget to also listen at 16 bit as well for a more realistic cd-like result). If many SRC's are really that bad it should be easy to hear the difference between high-resolution (SACD/DVD-A) formats and CD (which apparently is not the case).
Another thing: a perfect low-pass filter at 44.1 kHz sample rate doesn't seem to be possible. There's a trade-off between no-aliasing and steep filter artifacts.
The old Sonic Solutions user manual explains it like this:
Quote
The heart of the sample rate conversion process is the low pass filter, which is designed to reject aliases (down conversion) or images (up conversion) — both of which are detrimental to sound quality. The filter’s response above cutoff must be very steep if it is to be effective at rejecting these artifacts.
Very steep filters can introduce audible distortions, however. Any filter design for sample rate conversion therefore involves tradeoffs among a number of factors: aliasing/imaging, inband/stopband ripple, reduced gain at very high frequencies, and time smear. Each of these factors has effects that can vary with the sonic characteristics of the material: sometimes it may be preferrable, for example, to allow a small amount of aliasing in order to preserve other aspects of signal integrity.
To provide the most flexibility in tailoring the conversion process to different types of program material, HD SRC offers three different filter choices: Steep, Gentle and Gentlest. The Steep option is a Nyquist filter optimized for maximum alias/image rejection. The other options trade a limited amount of aliasing/imaging for reductions in other distortions. Your choice of a filter curve for a given rate conversion operation should be based on careful audition.
[/size]
Quote
Since I'm responding anyways: Turns out that SSRC high precision mode (ssrc_hp) has no measurable distortion spurs, except for the quantization distortion from its 24 bit output, and turning on TPDF with an amp of 2 eliminates those too.  I should probably nag the folks at that testing site to add ssrc_hp.
You can ask the webmaster for instructions how to supply SRC data. There are constant updates.

Kees de Visser