HydrogenAudio

Lossy Audio Compression => Opus => Topic started by: Banned on 2017-08-12 20:30:52

Title: Can Opus encode speech below 6 kbit/s like Codec 2?
Post by: Banned on 2017-08-12 20:30:52
Just curious. Some modes of Codec 2 seem very simple, seemingly enough for CELT mode to replicate. Basically, one needs to be able to generate white noise (possible), periodic signals (sort of possible by filtering white noise using CELT's pitch postfilter) and to adjust signal power per band (of course possible).

Am I missing something?
Title: Re: Can Opus encode speech below 6 kbit/s like Codec 2?
Post by: Makaki on 2017-08-12 22:09:32
As for the available options:

Opusenc --bitrate N.nnn
Set target bitrate in kbit/sec (6-256 per channel)

And the front page for the official doc reads:
Sampling rates from 8 to 48 kHz
Bit-rates from 6 kb/s to 510 kb/s


But digging further into the API you can find that:
#define OPUS_SET_BITRATE(x)    
Configures the bitrate in the encoder.
Rates from 500 to 512000 bits per second are meaningful


So maybe by using the library directly you can test bit-rates as low as 0.5 kbps?

I'm not sure if such a low value is later capped to a minimum elsewhere.
Title: Re: Can Opus encode speech below 6 kbit/s like Codec 2?
Post by: lithopsian on 2017-08-13 14:10:26
The codec specification says 6 kbps. However, the libopus encoder clamps the value between 300 kbps per channel and 500 bps. opusenc itself accepts values down to 500 bps, although the corresponding error message points out that 6 kbps is the "meaningful" lower limit.
Title: Re: Can Opus encode speech below 6 kbit/s like Codec 2?
Post by: polemon on 2017-08-17 00:32:11
I was discussing this not too long ago, and the consensus is, that Opus creates somewhat meaningful codecs at 10kb/s and above, so I'm not sure these endeavours even make sense.