[opus] Quality degradation with 1.3.1 when using FEC

Mathias Buhr napcode at apparatus.de
Wed Feb 26 12:28:41 UTC 2020


Hi,

I noticed that in some scenarios, Opus 1.2.1 produces better quality
than 1.3.1 does. In the use case here, I'm enabling FEC and "transcode"
signals from telephony networks (PCMU, 8kHz sampling) to VoIP (48kHz
here). In this case, Opus always produced some leakage/ringing above
4kHz but for 1.3.1, these artifacts became worse. The small script below
can be used to demonstrate this. Interestingly, the quality is better
for the settings in the script when complexity is reduced to 0. I assume
the encoder disables FEC at complexity = 0? Is the degradation between
1.2.1 and 1.3.1 a known
problem? Is it intentional?

The resulting wav files can also be downloaded here (unfortunately,
restricted to 7 days and 100 downloads):

https://send.firefox.com/download/562352b2a488fcb7/#Ksojxpe0MGsFTtRTEc-zUQ


Thanks and regards,

Mathias

----------------

#!/bin/bash


wget
https://freesound.org/people/tim.kahn/sounds/174372/download/174372__tim-kahn__virtual-machine.wav
-o /tmp/input.wav
file=/tmp/input.wav

params="--set-ctl-int 4012=1 --bitrate 25 --comp 4 --framesize 20
--expect-loss 10"
path_to_121_lib=~/git/opus/install/lib
path_to_131_lib=

sox $file -c 1 --norm=-3 --rate=8000 -e signed-integer mono_in_8k.wav
sox mono_in_8k.wav --rate 48000 resample48.wav
LD_LIBRARY_PATH=$path_to_121_lib opusenc $params resample48.wav
encoded-121.opus
LD_LIBRARY_PATH=$path_to_131_lib opusenc $params resample48.wav
encoded-131.opus

LD_LIBRARY_PATH=$path_to_121_lib opusdec --rate 48000 encoded-121.opus
output-121.wav
LD_LIBRARY_PATH=$path_to_131_lib opusdec --rate 48000 encoded-131.opus
output-131.wav
aplay output-121.wav
aplay output-131.wav





More information about the opus mailing list