in ABX and got 14/16 (0.2% prob of guessing). I was hearing a whole different type of artifact that I have either never heard before or just never listened for before. I was 5/2 up when I started listening to the bass drum and it just sounded fuller, warmer and louder in ssrc. It was then that I noticed that there was a shrill artifact at about 9 kHz at the same time as the drum beat in question. It was obvious in both files, but louder in the LAME version. Up until now the bass drum "masked" it, "masking" is seriously like an aural illusion, that bass drum sounded fine before I heard the shrill in one and then I heard it in the other, I was dumbfounded! After that I just listened for that beep and the louder one was LAME. LAME should really look into their resampler, a lot of people are downsamping high res FLACs these days!

I feel like I did the first time I discovered that I had a blind spot on my retina that I could "discover" at will with carefully engineered designs and some ordinated displacement of said designs. Discovering the nature of my aural blind spots first hand I can only describe myself as feeling enlightened!

Since the differences seem to be localized to frequencies very close to fs/2, and since this is followed by perceptual encoding, isn't it possible that what you are seeing is not necessarily due to differences in the quality of resampling?

IOW, something innocuous like the steepness of the cutoff could allow or not allow frequencies that cause encoding problems to be present, and this causes artifacts in one that are not present or significantly reduced in the other.

What I am saying is that the perceptual encoding step could completely invalidate a comparison of the quality of resampling (though I don't see any other way to test the resampling algorithm in lame).

I'm using that as a particularly glaring example that I can show on the screen. If you listen to the two files, you can find extra artifacts in the LAME resampled file throughout. Do your own tests even. To quote someone else on the reason as to why this is the case:

QUOTE

What makes this probably worse than usual is that the kind of noise artefacts produced by bad digital filters can easily mislead lossy psycho-acoustically modelled encoders to allocate spectral buckets to these artefacts rather than "real" content.

QUOTE

something innocuous like the steepness of the cutoff

The only difference is the resampling algorithm so it must be something about the resampling process that is sub-standard.

QUOTE

Not all low pass filters are created equally, especially when the order of a "perfect" filter exceeds a few thousand, as few resamplers will bother with that.

To be sure you're not suffering from resampler implementation bias, you should do manual resampling with SSRC in "high quality" mode using the standalone tool written by SHIBATA Naoki.

Outside of proprietary closed-source resamplers, I'd assume anything less than Shibata's is broken. 44.1->48/32/24 resampling requires a relatively complex filter to do it "perfectly". (One of the reasons why 44.1KHz was chosen even though more "harmonic" values were known or even proposed at the time was precisely to make this kind of resampling "hard" for consumers.) The resampling ratio is a beast, in any event: 160:147 (for 44.1->48). EEs/DSP jocks will immediately understand the high order filter needed to do this job perfectly.

They both have the same cutoff, I specified --lowpass 10 which has a default range of 15%. The input wav from ssrc was cut off well above 11.5 kHz so after the lpf the cutoff in both is exactly the same.

I looked at this once upon a time with simple test signals. The reconstructed wav files matched the originals well when there was no LAME resampling. Lame resamled signals showed a quite visible amount of aliasing, of the sort shown athttp://src.infinitewave.ca/by some of the less able resamplers.

I looked at this once upon a time with simple test signals. The reconstructed wav files matched the originals well when there was no LAME resampling. Lame resamled signals showed a quite visible amount of aliasing, of the sort shown athttp://src.infinitewave.ca/by some of the less able resamplers.

My own ABX is not very conclusive either, so call it paranoia . Yet, I think it is possible to locate where LAME's internal re-sampling falls short in certain lower bit-rate areas.

OP: My advice is: instead of directly shoveling the (assumed) WAV directly to LAME at bitrates lower than 96kbps, just continue to use SSRC pre-processing function inside FB2K like you have been doing. I see no harm in that. Is it overkill? Maybe... or not?