Skip to main content
Topic: Ultra low delay 16 kbit/s wideband Codec for 16 kHz audio (Read 198 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Ultra low delay 16 kbit/s wideband Codec for 16 kHz audio

Hi,

for a research application I am searching for an wideband 100 Hz to 7/8k kHZ codec working with a sample rate of 16 kHz. The algorithmic delay should be below 10 ms and the codec should be working at 16 kbit/s. Ideally I am looking for a codec that could also be run at a higher bitrate of 64 kbit/s for comparison purposes. For 48 kbit/s to 64 kbit/s im using the G.722 but could not find a wideband subband adpcm with sufficiently low delay and bit-rate.

Does anyone know of such a codec? All the ones I find offer either a bit-rate too high, different sample-rates or a latency thats too high.

Thank you for any input :)

Re: Ultra low delay 16 kbit/s wideband Codec for 16 kHz audio

Reply #1
I think that there are no one that met that specific criteria, Opus is the closest thing, specially is used the "Opus Custom" API but better consult it with people at xiph or some developer to be sure.

Opus standard is able to encode WB in hard-cbr or better at:
packetalgorithmic delaybitratebitrate with container overhead
2.5ms5 ms32 kbps36 kbps
5ms7.5 ms20 kbps (19.2 kbps)21 kbps
10ms12.5 ms14 kbps (13.6 kbps)15 kbps
5ms7.5 ms16 kbps (16 kbps)18 kbpsusing internal switch: "opusenc.exe" --hard-cbr --comp 10 --bitrate 16 --framesize 5 --set-ctl-int 4008=1103 input.flac output.opus
Well at least with opus you can met 2 of the 3 requirements, and possibly the only not met is the less important of the 3.

Re: Ultra low delay 16 kbit/s wideband Codec for 16 kHz audio

Reply #2
Thank you for your reply :)

Where did you get the numbers from? Do I understand correctly that the total delay in the examples you gave is is framesize + algorithmic delay? Thus 7.5 ms for the 32 kbps version?

 

Re: Ultra low delay 16 kbit/s wideband Codec for 16 kHz audio

Reply #3
Actually the algorithmic delay that I put also have in account the frame making it the total delay but I made a error on the table for 10ms frames, the numbers came from various sources but the bitrates was by testing and are only valid for opus 1.3.x .

Opus works in 2 modes Celt and SilK:

Silk mode has 10 or 20 ms frames and need 5ms of look-ahead and 1.5 ms resampler for a total delay of 6.5 ms.
Celt Mode has 2.5, 5, 10, 20 ms frames and needs 2.5 ms off look-ahead.

Normally the Opus has a delay of 6.5ms for 10 and 20ms frames even in Celt mode but the application can restrict the encoder to CELT and omit 4ms that are added making it only to have a 2.5 ms delay. Then the 10ms frame delay in the table is only true If the mode is restricted to CELT. If I'm not wrong in 2.5 and 5 ms frame the 4 extra ms are omitted by default making the delay only 2.5 ms.

references:
https://tools.ietf.org/html/rfc6716
https://www.researchgate.net/publication/286609722_High-Quality_Low-Delay_Music_Coding_in_the_Opus_Codec

 
SimplePortal 1.0.0 RC1 © 2008-2018