[Speex-dev] To CELP or not to CELP ... at higher bitrates
steve at grc.com
Fri Oct 28 21:13:22 PDT 2005
I am building a tool for producing the highest possible quality Internet
interviews for "podcasting" applications. The goal is to produce a perfect
recording of an interview or conference -- and giving the participants a
glitch-free experience is secondary.
My approach, therefore, is to build a Windows "wave" file asynchronously by
using a streaming retransmission protocol to request the retransmission of
any lost packets from a short-term history buffer maintained by each
sender, thus "filling in any gaps" after the fact. In this way we can
guarantee that a perfect recording will always result.
Being able to tolerate lost or delayed packets in the interactive exchange
(since they will be filled-in later) means that the system can operate with
a shallower jitter-buffer to minimize the interactive delay, and the
professional participants can simply ignore any late or lost frames since
they will know that those will be handled in the final recording.
With that bit of background, my question is:
Since the resulting recorded quality is the ONLY concern, and since we can
stipulate that all parties will always have access to broadband-scale
connectivity, does using a CELP-based codec such as Speex make the most
sense in this application?
I would be running Speex in ultra-wideband with 32 or 48 kHz sampling and
its bitrate completely open-ended and upwards of 44 kbps ... but higher bit
rates (of several hundred kbps) would also be readily available to this
Given that we really don't need the compression levels offered by advanced
CELP speech encoding, does it still make the most sense to use Speex, or
would we be better served to use some other codec -- perhaps such as mp2 or
mp3 -- at higher bitrates?
Do you have any guidelines you could share?
More information about the Speex-dev