HydrogenAudio

Lossy Audio Compression => Opus => Topic started by: muaddib on 2020-11-03 13:52:55

Title: Which mode uses Opus 1.3 at 24.4 cbr mono
Post by: muaddib on 2020-11-03 13:52:55
Hi all,

anybody knows what is Opus 1.3 (libopus 1.3, libopusenc 0.2.1) using when coding 48 kHz mono files with switch "--bitrate 24.4 --hard-cbr"?
Is it using Hybrid or CELT mode? Or is it adaptivelly switching between them? Is there any tool to check which mode was used in the encoded bitstreams?

Title: Re: Which mode uses Opus 1.3 at 24.4 cbr mono
Post by: Octocontrabass on 2020-11-03 19:48:26
Try "--save-range file_name_here.txt" with opusenc or opusdec. It'll say LP for SILK, HYB for hybrid, and MDCT for CELT.
Title: Re: Which mode uses Opus 1.3 at 24.4 cbr mono
Post by: lithopsian on 2020-11-03 19:49:08
For 24.4 kbps mono speech, all other things being equal, you'd expect hybrid mode.  Some of those other things are whether the audio is assessed as speech with a high probability, whether there are any issues with forward error correction, VOIP, frame sizes, etc, that can affect the decision one way or the other.  There is a dramatic difference between speech and music, with music switching to CELT-only at a much lower bitrate.  The actual usage can vary frame by frame, but there is some hysteresis built into the algorithm so there is a strong tendency to keep to the same mode and it doesn't thrash about in borderline cases.
Title: Re: Which mode uses Opus 1.3 at 24.4 cbr mono
Post by: muaddib on 2020-11-04 08:52:18
--save-range works
At 24.4 kbps mono with 48 kHz Opus uses all modes, even SILK in some very rare cases. And it also switches between WB, SWB and FB.
Hysterisis and the decision itself seem to work as expected - Hybrid for speech, mostly CELT for music.

Thanks for the help.
SimplePortal 1.0.0 RC1 © 2008-2021