[opus] Opus encoding rate for very quiet noisefloor
kevinconnor at mac.com
Tue May 10 20:43:08 UTC 2016
Hi Opus list,
Please forgive me if this has been asked before. I find that Opus encoder created in mode OPUS_APPLICATION_AUDIO (as opposed to _VOIP) is using a lot of bits to encode silent periods of speech. This is relevant to a voip application for which good quality music is desirable, and in which I add a minimal comfort noise (order of few bits loud, e.g. MLS signal of amplitude 1 or 2) to outgoing frames (towards opus encoder) if the frame would otherwise have been all zero-valued samples. I like to avoid switching noise, for people listening on headphones.
If one encodes 10s of all zeros, you get about equal bitrates out of _AUDIO and _VOIP mode.
If you encode 10s of loud noise, you get similar bitrates.
As you encode quieter and quieter noise, the extra cost of using _AUDIO mode vs _VOIP goes up.
At the extreme, a 10s signal of white noise with amplitude of only 2 (16bit, 16kHz), I see a near doubling. The _VOIP encoded file is size 46KB, the _AUDIO encoded file is 69K.
Now this does make sense -- in an audio mode, you want faithful reproduction of very quiet signals (reverb tails, etc).
However, I wanted to ask the list if this is expected/known behaviour. I wonder if it is possible to engineer a scenario (using existing apis) that would give one the benefits of _AUDIO mode (low delay, great fidelity, avoid voice-EQ) without this particular sensitivity that gives high bitrate for nearly inaudible noise floor. It's a lot to pay for near subliminal comfort noise. I'm prepared to hear that the answer is: choose VOIP mode ;) Thank you!
Warm regards, KevinC
More information about the opus