Experimental release of Ghost/CELT 0.0.1 |
Experimental release of Ghost/CELT 0.0.1 |
Dec 9 2007, 11:53
Post
#1
|
|
|
Xiph.org Speex developer Group: Developer Posts: 430 Joined: 21-August 02 Member No.: 3134 |
I've just made the first public release of some new *experimental* codec work I've been doing (part of the vague Ghost project) with help from Monty and Timothy. This is mainly intended for developers with DSP knowledge, not for doing anything useful with it (but it does encode and decode already). Also, the main idea is *not* to replace either Speex or Vorbis, but to code audio with really low latency -- currently 8 ms.
This is still very experimental and everything is still likely to change, including the exact goals. The algorithm is called (temporary name) Code-Excited Lapped Transform (CELT) and the main ideas are: - Using an MDCT on very short frames - Dividing into 15 bands and transmitting the energy for each band - Using a pitch predictor (good for speech, but helps for music as well). - The rest is coded using a unit-pulse codebook. At this point, I'm still trying to figure out how to fit psychoacoustics into this. CELT is based on a paper I submitted to ICASSP and which I'm hoping will be accepted so I can make it available to everyone. The only difference is that the ICASSP paper was based on the FFT (non critically sampled), whereas this version is based on the MDCT. One part that is already published though is Tim's explanation of the pulse codebook encoding. The full source for CELT is available at: http://downloads.us.xiph.org/releases/celt/celt-0.0.1.tar.gz or through git at http://git.xiph.org/celt.git I've put some music samples at 56 kbps CBR at http://people.xiph.org/~jm/comp_celt58cbr.wav with the original at http://people.xiph.org/~jm/comp44.wav . As you can hear, it definitely doesn't suck as much as Speex on music, but there's still room for improvement. I'm open to interesting ideas, but don't bother complaining if it doesn't work or if it explodes in your face :-) Oh, and don't expect a final codec any time soon. Have fun! |
|
|
|
![]() |
Dec 20 2007, 14:36
Post
#2
|
|
|
Group: Members Posts: 43 Joined: 12-May 04 Member No.: 14052 |
So this codec is not intended to eventually replace vorbis?
From what monty said here, I thought that was the case. This post has been edited by radorn: Dec 20 2007, 14:42 |
|
|
|
Dec 20 2007, 21:40
Post
#3
|
|
|
Xiph.org Speex developer Group: Developer Posts: 430 Joined: 21-August 02 Member No.: 3134 |
So this codec is not intended to eventually replace vorbis? From what monty said here, I thought that was the case. What I mean is that in its current form, there's no way it'll beat Vorbis. However, if you add sinusoidal coding and use CELT just to encode the noise, that's another matter. That's what Monty is currently hoping to do with Ghost. Whether we'll end up with one codec or two is still an open question. Even then, a codec that will replace Vorbis is still a long way off, so don't hold your breath. For those interested, I've posted this overview of CELT along with some technical details on energy coding. |
|
|
|
Dec 21 2007, 20:51
Post
#4
|
|
![]() Group: Developer Posts: 1317 Joined: 20-March 04 From: Göttingen (DE) Member No.: 12875 |
For those interested, I've posted this overview of CELT along with some technical details on energy coding. Nice! What's the rationale behind "pulse code books"? I read Timothy's pulse coding web site and I'm not sure of what he's trying to do. Is it an attempt to uniformly tesselate the unit sphere or only a code book specialized tor "pulsy" signals? Judjung by the way it is used in CELT I'd say it's the former -- which is weird because at first glance the formulas don't look like the resulting codebooks do tesselate the unit sphere well. It might be me as I'm not familiar with those kind of specialized vector code books. Regarding pitch prediction: Am I correct when I say what you do is pretty much the same thing as LTP (MPEG4)? Cheers! SG |
|
|
|
jmvalin Experimental release of Ghost/CELT 0.0.1 Dec 9 2007, 11:53
Benjamin Lebsanft QUOTE (radorn @ Dec 20 2007, 14:36) So th... Dec 20 2007, 16:04
jmvalin QUOTE (SebastianG @ Dec 22 2007, 04:51) W... Dec 22 2007, 03:57
SebastianG QUOTE (jmvalin @ Dec 22 2007, 03:57) In t... Dec 23 2007, 12:17
jmvalin QUOTE (SebastianG @ Dec 23 2007, 20:17) N... Dec 23 2007, 13:22
jmvalin Here's some information on the pitch predictor... Dec 26 2007, 13:15
SebastianG QUOTE (jmvalin @ Dec 26 2007, 13:15) Here... Jan 2 2008, 18:01
radorn Sorry for the misunderstanding and thank you both ... Dec 21 2007, 11:27
Kef QUOTE (jmvalin @ Dec 9 2007, 12:53) I... Jan 19 2008, 13:34
jmvalin QUOTE (Kef @ Jan 19 2008, 21:34) Now, I k... Feb 3 2008, 11:57
johnsonlam QUOTE (jmvalin @ Feb 3 2008, 18:57) Keep ... Feb 21 2008, 06:18
jmvalin QUOTE (johnsonlam @ Feb 21 2008, 14:18) A... Feb 22 2008, 03:16
Nicos I absolutetly agree with what u stated above Kef. ... Jan 22 2008, 12:23
Brent A sense of "progress" I suppose. Every n... Feb 22 2008, 23:38
jmvalin QUOTE (Brent @ Feb 23 2008, 07:38) A sens... Feb 24 2008, 10:53
Saoshyant Xiph also made an announcement of everything that ... Mar 6 2008, 03:16
Bourne - Mar 6 2008, 04:09
Saoshyant The recent aoTuV tunings have not yet been merged ... Mar 7 2008, 04:08![]() ![]() |
|
Lo-Fi Version | Time is now: 20th May 2013 - 17:21 |