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

Petr Pařízek petrparizek2000 at yahoo.com
Wed Aug 7 20:04:21 UTC 2024


 > Why are you using a stereo file
 > containing the same sweep in both channels
 > and then downmixing to mono?

When I first tried encoding at a higher bitrate, I needed to test the 
different behavior of the "mid" (l+r) and "side" (l-r) channels. That's 
why I made the first sweep identical on both the left and the right 
channel (i.e. "side" is silent) while the second sweep is inverted on 
the right channel and the left channel is the same again (i.e. "mid" is 
silent).

 > Also, why are you repeating the sweep twice in every channel?

In the first case the two channels go in equal polarities while in the 
second case the two channels go in opposite polarities.

 > Also also, the file you linked to is Sweep50FlatMidSide.wav
 > as opposed to Sweep50.wav - is it really the same file?

Yes, it's the same data.

 > Why are you using floats for the decoded file?

Floating-point values are not limited to the range (-1,+1). If the 
compression accidentally makes the signal too loud, floating-point 
output doesn't clip the high value to -1 or +1.

 > The encoded opus file is 48kHz,
 > so how would the output wav be resampled from 16kHz?
 > What are those "clear signs" exactly?

The things that I can hear while listening at 1/2 or even 1/4 of the 
original playback rate. Where the frequency reaches 8 kHz, suddenly it 
starts going down, not up. Also, when the original frequency is getting 
closer and closer to 8 kHz from the bottom, another frequency appears 
softly, is getting louder and is getting closer and closer to 8 kHz from 
the top(!) until the two finally meet at 8 kHz. The original frequency 
then quickly disappears while the unwanted new frequency is never 
completely filtered out, keeps falling and falling and at the exact time 
spot where the original frequency would reach 16 kHz, the undesired 
frequency goes down to zero.

 > The intermediate opus file already contains
 > only the first of the two repeating sweeps.
 > After around 50s, there is silence.
 > The resulting wav file too then, obviously.

That's because originally the second sweep was in inverse mono. 
Therefore, after the mixdown, the sweep got actually subtracted from itself.

 > As far as I can tell (see the attached spectrograms),
 > the sound dies out around the point the freq reaches 12kHz.

You're probably talking about the other frequency that came in, the one 
I called the undesired or unwanted frequency. The spectrogram is one 
thing, but switching to 1/2 or 1/4 or the playback rate and pressing 
Play is another. Especially, when you have the option to synchonize the 
uncompressed and the compressed version.

 > Also see the transcript below.

Okay, I've read that. Seems the encoder and the decoder on your side 
behave the same way they do on my side.

 > What makes you think a sampling frequency of 16 kHz
 > is involved anywhere in the signal path?

First, the fact that the original frequency and the undesired frequency 
actually meet at 8 kHz. Next, the fact that the undesired frequency is 
falling, not rising. Finally, the fact that first the undesired 
frequency comes in pretty quickly and then the original frequency 
disappears very quickly; so at one point, they're both there (and this 
point happens to be at 8 kHz).

 > What makes you think there is any downsampling involved?

The fact that frequencies higher than 20 kHz are not filtered out but 
are rather replaced with frequencies higher than 4 kHz.

Petr





More information about the opus mailing list