IPB

Welcome Guest ( Log In | Register )

IETF Opus codec now ready for testing, That's CELT 0.11
jmvalin
post Feb 4 2011, 17:36
Post #1


Xiph.org Speex developer


Group: Developer
Posts: 480
Joined: 21-August 02
Member No.: 3134



We'd like to announce that the Opus codec is now ready for testing. The bit-stream is now is a "pseudo-freeze", which means that unless a problem is found during testing/review, there are no longer any changes planned. The only exception to this are the SILK-mode FEC and the stereo SILK mode, which should be landing in the next few days. Considering that these are not critical features, we felt like the testing phase could already begin.

You can get the source code in two different ways. There is a release tarball at http://jmvalin.ca/opus/opus-0.9.0.tar.gz . You can also extract the source directly from the I-D ( http://www.ietf.org/id/draft-ietf-codec-opus-02.txt ) with the following command:

cat draft-ietf-codec-opus-02.txt | grep '^\ \ \ ###' |
sed 's/\s\s\s###//' | base64 -d > opus_source.tar.gz

Now the Opus codec supports three mores, one of which is identical to CELT 0.11, which was just released (not announced officially yet).

It would be nice if the HA community could help test this codec. Opus targets a very wide range of bit-rates, from 6 kb/s narrowband speech up to 510 kb/s stereo music. Perhaps a 64-96 kb/s stereo music test would be interesting to do. Anyone would like to help?
Go to the top of the page
+Quote Post
 
Start new topic
Replies
zerowalker
post Jun 3 2012, 02:19
Post #2





Group: Members
Posts: 268
Joined: 6-August 11
Member No.: 92828



Maybe a stupid question, but can someone say, what Latency has for relevance on Audio Codec?
I understand, low latency is good for speech, but what i donīt get it, where is the latency coming from, is it the decoding latency or what?

Thanks:)
Go to the top of the page
+Quote Post
NullC
post Jun 3 2012, 02:55
Post #3





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



QUOTE (zerowalker @ Jun 2 2012, 18:19) *
Maybe a stupid question, but can someone say, what Latency has for relevance on Audio Codec?
I understand, low latency is good for speech, but what i donīt get it, where is the latency coming from, is it the decoding latency or what?
Thanks:)


In order to get useful compression codecs work with multiple samples at a time. They read in some samples enough to fill a code frame plus potentially some more for psycho-acoustic analysis 'lookahead', then they process it and emit a packet of compressed data. On the far end the decoder reverses the process.

So even if your computer is infinitely fast a codec must have a least a frame size worth of delay and more if the frames overlap or the encoder needs lookahead for analysis (e.g. for transient switching). Popular music codec like Vorbis and AAC have delays of hundreds of milliseconds which makes them not very suitable for interactive/communication uses. Larger frames are generally better for compression because they enable higher coding gain and more precise psycho-acoustic models, though they also tend to have more pre-echo liability. Opus has basic frame frame sizes from 2.5 to 20ms and and lows as 2.5ms, so 5-22.5ms codec latency (there are larger frame sizes, but they only pack multiple smaller frames to save a few bytes of header space/entropy coder overhead). Through a lot of hard work and a little luck it can get quality competitive with high latency coders at mid to high rates. Though at low bitrates (e.g. <=48 for music) I still expect high latency codecs to do better (except for speech).

Go to the top of the page
+Quote Post
zerowalker
post Jun 3 2012, 03:08
Post #4





Group: Members
Posts: 268
Joined: 6-August 11
Member No.: 92828



QUOTE (NullC @ Jun 3 2012, 03:55) *
QUOTE (zerowalker @ Jun 2 2012, 18:19) *
Maybe a stupid question, but can someone say, what Latency has for relevance on Audio Codec?
I understand, low latency is good for speech, but what i donīt get it, where is the latency coming from, is it the decoding latency or what?
Thanks:)


In order to get useful compression codecs work with multiple samples at a time. They read in some samples enough to fill a code frame plus potentially some more for psycho-acoustic analysis 'lookahead', then they process it and emit a packet of compressed data. On the far end the decoder reverses the process.

So even if your computer is infinitely fast a codec must have a least a frame size worth of delay and more if the frames overlap or the encoder needs lookahead for analysis (e.g. for transient switching). Popular music codec like Vorbis and AAC have delays of hundreds of milliseconds which makes them not very suitable for interactive/communication uses. Larger frames are generally better for compression because they enable higher coding gain and more precise psycho-acoustic models, though they also tend to have more pre-echo liability. Opus has basic frame frame sizes from 2.5 to 20ms and and lows as 2.5ms, so 5-22.5ms codec latency (there are larger frame sizes, but they only pack multiple smaller frames to save a few bytes of header space/entropy coder overhead). Through a lot of hard work and a little luck it can get quality competitive with high latency coders at mid to high rates. Though at low bitrates (e.g. <=48 for music) I still expect high latency codecs to do better (except for speech).



Ah so for example Skype, if i speak, it will collect some voice data in a framesieze, then send it, and the lower that framesize is, the faster it goes, but the less Accurate it will be?

But for Vorbis etc, does it even needa frame size, canīt it be unlimited?
If itīs better i mean?

But donīt you think Opus will dominate Vorbis at all?
Cause it would be lovely if Vorbis and AAC got knocked down from the throne letting new codecs and probably pushing the lossy codecs even more.
Go to the top of the page
+Quote Post
NullC
post Jun 3 2012, 04:25
Post #5





Group: Developer
Posts: 200
Joined: 8-July 03
Member No.: 7653



QUOTE (zerowalker @ Jun 2 2012, 19:08) *
Ah so for example Skype, if i speak, it will collect some voice data in a framesieze, then send it, and the lower that framesize is, the faster it goes, but the less Accurate it will be?


Basically.

QUOTE
But for Vorbis etc, does it even needa frame size, canīt it be unlimited?
If itīs better i mean?

But donīt you think Opus will dominate Vorbis at all?
Cause it would be lovely if Vorbis and AAC got knocked down from the throne letting new codecs and probably pushing the lossy codecs even more.


Even if you don't care about delay bigger frames also mean more memory required and usually more computing power, as well as files which are more sensitive to damage and/or aren't good for seeking. For any design beyond a certain point the quality stops going up and you also get more pre-echo problems, so there is diminishing returns.

In listening tests Opus has done substantially better than Vorbis and HE-AAC (e.g. at 64k http://listening-tests.hydrogenaudio.org/igorc/results.html), smaller more informal tests have also showed superior performance at 96k (though testing at 96k is harder). At lower rates I expect opus to hold up well for speech, but for music I expect it to be worse than AoTuV vorbis, at least depending on personal artifact preference, and or HE-AAC.
Go to the top of the page
+Quote Post

Posts in this topic
- jmvalin   IETF Opus codec now ready for testing   Feb 4 2011, 17:36
- - mudlord   Did some testing.... I noticed one particulary bad...   May 5 2011, 11:33
- - mudlord   Peter fixed this, now cant ABX the samples. Issue ...   May 7 2011, 15:01
- - Tom Servo   Sorry for looking like a tool for asking this, but...   Jun 19 2011, 00:46
|- - NullC   QUOTE (Tom Servo @ Jun 18 2011, 16:46) So...   Jul 27 2011, 20:04
- - mudlord   Oh, since your here, did jmvalin add the resampler...   Sep 4 2011, 23:13
- - romor   subscribe?   Sep 4 2011, 23:44
- - mudlord   ah yes, just noticed that, opusenc includes the re...   Sep 5 2011, 12:58
- - FreaqyFrequency   I'll go ahead and bump this thread as well, wh...   Oct 13 2011, 16:04
- - Speckmade   The codec's featureset sounds as if it could b...   Nov 26 2011, 15:05
- - FreaqyFrequency   I'm hoping that Opus will be used more widely ...   Nov 27 2011, 04:57
- - greensdrive   I was under the impression that low latency usuall...   Nov 27 2011, 16:20
- - Speckmade   QUOTE (FreaqyFrequency @ Nov 27 2011, 04...   Nov 28 2011, 03:11
|- - NullC   QUOTE (Speckmade @ Nov 27 2011, 18:11) Op...   Dec 1 2011, 04:08
|- - IgorC   Speaking about complexity the things are changing ...   Dec 1 2011, 15:44
- - greensdrive   QUOTE (Speckmade @ Nov 27 2011, 20:11) co...   Nov 28 2011, 04:46
|- - Speckmade   QUOTE (greensdrive @ Nov 28 2011, 04:46) ...   Dec 1 2011, 01:55
- - punkrockdude   Will the CELT encoder accept 24 bit wav files? I a...   Jan 15 2012, 11:45
- - Caroliano   I saw the IETF draft, and, as expected, the final ...   Jan 20 2012, 05:48
|- - rillian   QUOTE (Caroliano @ Jan 19 2012, 20:48) So...   Jan 23 2012, 23:49
|- - NullC   QUOTE (Caroliano @ Jan 19 2012, 20:48) I ...   Jan 24 2012, 00:28
|- - bawjaws   QUOTE (NullC @ Jan 23 2012, 16:28) The pr...   Mar 16 2012, 14:47
- - .alexander.   CELT/OPUS has been designed before 2/06/12 and I...   Mar 27 2012, 14:14
|- - NullC   QUOTE (.alexander. @ Mar 27 2012, 05:14) ...   Apr 10 2012, 00:29
- - polemon   Can we have some updates about OPUS? there isn...   May 4 2012, 14:42
|- - bawjaws   QUOTE (polemon @ May 4 2012, 06:42) Can w...   May 21 2012, 14:38
|- - NullC   QUOTE (polemon @ May 4 2012, 06:42) Can w...   May 24 2012, 04:49
|- - NullC   For any Windows users who are waiting on binaries ...   May 28 2012, 01:22
|- - mdefranc   Works on my Vista system, as well.   May 28 2012, 05:12
|- - bawjaws   QUOTE (NullC @ May 27 2012, 17:22) If any...   May 29 2012, 10:42
- - IgorC   Yes, encoder has a big room for improvements. Some...   May 21 2012, 21:16
|- - 2012   Indivisual/Average bitrates would have been great ...   May 22 2012, 12:26
- - IgorC   Bitrate calibration was done on 45 tracks of diffe...   May 22 2012, 14:05
|- - 2012   Thanks.   May 22 2012, 15:00
- - kode54   Plays audio on my Windows 7 system. Also decodes t...   May 28 2012, 02:30
- - Gainless   Can someone explain how to use the command line de...   May 28 2012, 12:53
- - dr.schanker   Works fine under WindowsXP SP3 32bit. However, i f...   May 28 2012, 15:38
- - naturfreak   @dr. schanker The Opus codec does not support mult...   May 28 2012, 16:25
|- - dr.schanker   QUOTE (naturfreak @ May 28 2012, 17:25) @...   May 28 2012, 21:11
|- - NullC   QUOTE (naturfreak @ May 28 2012, 08:25) @...   May 29 2012, 07:49
- - zerowalker   How can i get a compiled encoder of this codec:)? ...   May 28 2012, 17:27
- - naturfreak   QUOTE (NullC @ May 29 2012, 07:49) Multic...   May 29 2012, 10:38
- - dr.schanker   The inputfile: "test_wav.7z" (5 MB) The...   May 29 2012, 20:18
|- - NullC   QUOTE (dr.schanker @ May 29 2012, 12:18) ...   May 30 2012, 21:23
- - zerowalker   did som fast tests after finally getting it to wor...   May 30 2012, 22:17
- - rt87   a rough test is done here: test file: vocal only ...   May 31 2012, 05:13
- - LithosZA   QUOTE I:\>opusenc --music --bitrate 48 --f...   May 31 2012, 08:15
|- - rt87   QUOTE (LithosZA @ May 31 2012, 15:15) QUO...   May 31 2012, 08:29
- - LithosZA   QUOTE did som fast tests after finally getting it ...   May 31 2012, 08:33
|- - zerowalker   QUOTE (LithosZA @ May 31 2012, 09:33) QUO...   May 31 2012, 17:18
|- - NullC   QUOTE (zerowalker @ May 31 2012, 09:18) O...   Jun 1 2012, 04:28
- - LithosZA   QUOTE It's linked above— https://people....   May 31 2012, 19:13
|- - zerowalker   Had done something entirely else XD But got it wo...   Jun 1 2012, 00:41
|- - rt87   aoTuV Q -1 is 48kbps.   Jun 1 2012, 00:49
- - punkrockdude   I can't seem to playback an encoded opus file ...   May 31 2012, 20:27
- - LithosZA   QUOTE I can't seem to playback an encoded opus...   May 31 2012, 20:36
|- - punkrockdude   QUOTE (LithosZA @ May 31 2012, 20:36) foo...   May 31 2012, 20:41
|- - kode54   QUOTE (punkrockdude @ May 31 2012, 12:41)...   Jun 1 2012, 03:55
- - CoRoNe   Does Opus have, or will Opus get an option equival...   Jun 1 2012, 23:09
- - Gainless   Already found a sort of bug sample with a loud dis...   Jun 1 2012, 23:31
|- - 2012   QUOTE (Gainless @ Jun 1 2012, 23:31) Alre...   Jun 1 2012, 23:55
|- - 2012   QUOTE (2012 @ Jun 1 2012, 23:55) Opus ope...   Jun 2 2012, 00:08
- - Gainless   QUOTE (2012 @ Jun 2 2012, 00:55) QUOTE (G...   Jun 2 2012, 00:16
|- - NullC   QUOTE (Gainless @ Jun 1 2012, 16:16) Ok, ...   Jun 2 2012, 06:03
|- - 2012   QUOTE (NullC @ Jun 2 2012, 06:03) Based o...   Jun 2 2012, 10:17
|- - Gainless   QUOTE (NullC @ Jun 2 2012, 07:03) QUOTE (...   Jun 2 2012, 12:37
- - lvqcl   upper channel: opusenc --bitrate 128 --framesize 6...   Jun 2 2012, 10:46
|- - NullC   QUOTE (lvqcl @ Jun 2 2012, 02:46) upper c...   Jun 3 2012, 03:02
- - zerowalker   Maybe a stupid question, but can someone say, what...   Jun 3 2012, 02:19
|- - NullC   QUOTE (zerowalker @ Jun 2 2012, 18:19) Ma...   Jun 3 2012, 02:55
|- - zerowalker   QUOTE (NullC @ Jun 3 2012, 03:55) QUOTE (...   Jun 3 2012, 03:08
|- - NullC   QUOTE (zerowalker @ Jun 2 2012, 19:08) Ah...   Jun 3 2012, 04:25
- - NullC   Okay, the fix for the click on the opusdec 44.1kHz...   Jun 3 2012, 04:16
|- - rt87   QUOTE (NullC @ Jun 3 2012, 11:16) Okay, t...   Jun 3 2012, 09:42
|- - NullC   QUOTE (rt87 @ Jun 3 2012, 00:42) Cannot o...   Jun 3 2012, 14:22
- - lvqcl   CODEDecoding 44100 Hz audio (1 channel) Ca...   Jun 3 2012, 10:40
- - IgorC   Opus, AoTuV and Apple AAC at ~ 128 kbps http://d.h...   Jun 3 2012, 18:56
- - bawjaws   I notice the previous blog entry was them testing ...   Jun 3 2012, 21:49
- - darkbyte   Is somebody working on a foobar decoder plugin for...   Jun 5 2012, 16:02
- - greensdrive   not sure if this is a bug or if it's meant to ...   Jun 6 2012, 06:13
|- - NullC   QUOTE (greensdrive @ Jun 5 2012, 22:13) n...   Jun 11 2012, 14:57
- - lvqcl   I have a question about setup_resample() function....   Jun 11 2012, 16:32
|- - NullC   QUOTE (lvqcl @ Jun 11 2012, 08:32) I have...   Jun 11 2012, 16:51
- - lvqcl   get_output_latency() returns rounded value... For...   Jun 11 2012, 17:27
|- - NullC   QUOTE (lvqcl @ Jun 11 2012, 09:27) get_ou...   Jun 11 2012, 19:06
- - greensdrive   this first one doesn't work (I put --vbr just ...   Jun 11 2012, 20:29
|- - NullC   QUOTE (greensdrive @ Jun 11 2012, 12:29) ...   Jun 11 2012, 21:11
- - kode54   foobar2000 sends 0xFFFFFFFF for the length fields ...   Jun 11 2012, 23:42
- - greensdrive   QUOTE (NullC @ Jun 11 2012, 15:11) How lo...   Jun 12 2012, 04:01
|- - NullC   QUOTE (greensdrive @ Jun 11 2012, 19:01) ...   Jun 12 2012, 05:38
- - greensdrive   --ignorelength works like a charm.   Jun 12 2012, 14:47
|- - NullC   QUOTE (greensdrive @ Jun 12 2012, 05:47) ...   Jun 12 2012, 16:17
- - greensdrive   wow. no --ignorelength. no %s. opusenc.exe now ...   Jun 12 2012, 17:26
- - NullC   Just a minor update: The win32 builds of opus-to...   Jun 14 2012, 19:43
- - greensdrive   NullC: not directly related to opus, but it seems...   Jun 14 2012, 20:44
|- - NullC   QUOTE (greensdrive @ Jun 14 2012, 11:44) ...   Jun 14 2012, 21:11
- - Brazil2   Before I run anything, can you explain me why the ...   Jun 15 2012, 09:55
|- - NullC   QUOTE (Brazil2 @ Jun 15 2012, 01:55) Befo...   Jun 15 2012, 21:11
|- - Brazil2   QUOTE (NullC @ Jun 15 2012, 22:11) The Mo...   Jun 16 2012, 17:31
- - NullC   Opus has received the IETF's approval to becom...   Jul 3 2012, 14:21
6 Pages V   1 2 3 > » 


Closed TopicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 18th September 2014 - 19:34