[opus] Opus Tools -- low bitrates, new features in 1.5, "expect-loss"

Petr Pařízek petrparizek2000 at yahoo.com
Sat Aug 10 15:37:06 UTC 2024


 > Opus resamples everything to 48kHz (aside from custom modes, where 
there be dragons);
 > it never "downsamples" to anything else, but it does *bandpass* the
 > input first. The default bandpass is based on bitrate, and is 20kHz 
for most of the range, but
 > can drop to 12, 8, or even 4. At 12kbps you have hit the
 > point where it'll try to switch to 12kHz bandpass. (And could switch 
in and out, since it's
 > right on the cusp.) This is plainly visible on the output spectrogram.

You've left out the fact that if you use any other mode than "fullband", 
frequencies below 8 kHz are encoded using the modified version of SILK, 
not using CELT. This is true even for the so-called "Superwideband" 
where the frequencies lower than 8 kHz are sent to the modified SILK 
while the frequencies from 8 to 12 kHz are sent to CELT.
 From what the decoded wave file sounds like, it seems that the SILK 
part of the spectrum actually involves downsampling to 16 kHz while the 
CELT part stays at 48. At very low bitrates, the CELT part vanishes 
completely and only the SILK part remains, which makes the aliasing 
clearly audible. If the anti-aliasing filter is too weak, then 14 kHz 
are turned into 2 kHz in the Opus file instead of being filtered out 
completely. This is actually wasting bits because if the anti-aliasing 
filter were stronger, the encoder wouldn't have to deal with the added 2 
kHz in the first place.

 > The other half of the band is a 3Hz highpass for DC rejection, in 
case you wanted to test
 > the very bottom of the spectrum for some reason.
 > Now, the reflection slightly above 8kHz is a different issue. It's 
*possible* that it's an opus
 > issue, such as the frequency masking, or even an unavoidable
 > artifact of the format. But the biggest wildcard imho is how your 
"1/2 or 1/4 rate" resampler
 > actually works, whether it could have a bug in its algorithm.
 > There's also the entire output chain (system mixer, driver, dac, 
etc). There are many people
 > who claim "golden ears" who have extensively tested the codec,
 > and have found issues, but afaik this is the first time I've heard of 
a peculiar reflection for
 > pure signal right at the 8kHz boundary.

I'm sorry but I have no idea what kind of "1/4 rate resampler" you're 
now talking about. I haven't said anything about resampling the decoded 
wave file to a different sample rate. For playing the output at 1/4 of 
the playback rate, I just changed the soundcard playback rate from 48 
kHz to 12. That's all I did. And as to the wave file, if I keep the 
original playback rate at 48 kHz, the undesired frequency meets the 
original frequency at 8 kHz. If I switch the playback rate to 12 kHz, 
the two frequencies meet at 2 kHz. In both cases it's clearly audible 
because the phenomenon is related to the actual contents of the decoded 
wave file, not to my soundcard or my DAC or anything like that. If it 
were related to my playback device, other people could not get the same 
results while testing it.

Petr





More information about the opus mailing list