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

Petr Pařízek petrparizek2000 at yahoo.com
Tue Aug 6 22:41:52 UTC 2024


Hello,

I understand it would be better to post several messages with separate 
topics but I hope I don't cause too much mess if I put it all in a 
single message this time. To be clear, recently I've been testing Opus 
Tools under Windows and these are my questions/observations.

     #1. To test encoding at low bitrates, I encoded a sine sweep at 12 
kbps with Opusenc and then decoded the resulting file with Opusdec. The 
strange thing was that even though the output wave file was at 48 kHz, 
it showed clear marks of being resampled from 16 kHz and where my 
original frequency reached 16 kHz, the frequency in the output file 
practically fell down to zero.
     Unfortunately, it seems that the lowpass filtering is somehow a 
part of the actual resampling algorithm. Why do I think so? Opus 
normally doesn't encode any frequencies above 20 kHz, which would 
suggest that 20 kHz should be aliased down to 4 kHz followed by silence. 
However, right at the spot where my original sine sweep went all the way 
up to almost 24 kHz, the aliased frequency wen to almost 8 instead of 
being absent altogether.
     Now I can hear someone say that natural sounds are not composed 
solely of some very high frequencies. But I still think that aliasing is 
an undesirable effect. After all, when the final sample rate is supposed 
to be 48 kHz anyway, why should low bitrates make it necessary to first 
downsample the audio and then upsample again?

     #2. I've read about the new improvements in Opus 1.5 but I don't 
understand if it affects the behavior of Opusenc or Opusdec in any way; 
and in case it does, when. For example, if several bytes in the middle 
of my Opus file either get cut out or get repeated, does it mean that 
the new Opusdec would treat the error differently from its earlier versions?

     #3. What does the --expect-loss switch in Opusenc do? I'm unable to 
find any details in the documentation or on the Opus website.

Thanks in advance.

Petr





More information about the opus mailing list