[opus] Opus encoding rate for very quiet noisefloor

Kevin Connor 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 mailing list