[Speex-dev] Hints & examples for content creators & packagers

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Thu Aug 23 16:46:28 PDT 2007

Pat Smith a écrit :
> At speex.org, I read that Speex is well-suited to
> internet audio streaming and audio books.  However, I am
> having difficulty finding or creating audio-book-type
> material of acceptable audio quality vs file size.

Speex is only well suited for those applications if the input is speech
and the bit-rate is low (< 32 kbps).

> For the sake of comparison, look at the speex sample in
> Ubuntu's example-content_26_all.deb
> vs
> http://podcast.msnbc.com/audio/podcast/pd_mtp.mp3

In general, you can't compare the quality on different input files.

> The mp3 sounds ok, streams and seeks well over poor net
> connections, and can easily have textual info
> added/modified as ID3 tags.  The mp3 sounds much better,
> with a size of ~0.25MB/minute, vs ~0.3 for speex.

0.3 MB/s means around 40 kbps, which is the highest bit-rate you can use
for Speex. Also, it turns out that the file was recorded at 44.1 kHz,
which is explicitly discouraged because Speex wasn't designed for that
(only for 8, 16, 32 kHz). Also, at these rates, Vorbis is likely to
perform better for your application, even for Speech. In any case, just
listen to the samples on speex.org to get an idea.

> Is there a simple app that will record to speex using a
> simple tape recorder-like interface (eg you can quickly
> rewind to your error, and continue from that point)?

Not that I'm aware of, nor would I recommend it. You should always
record to a wav file and *then* compress to Speex (or whatever codec),
while tuning the parameters.

> Is there any kind of filter/processor that will produce
> very compact low-bandwidth results so that playback
> sounds like telephone quality, without any of the scary
> digital overcompression effects?

Speex is designed for telephone-like quality. You'll need to resample
your recording at 8 kHz and then encode with Speex. You'll then be able
to get rates around 8 kbps (60 kB per minute).

> Can any user app play and seek speex streamed over http,
> and display and modify author/title/comments?

Any app can do it... if they have support for Speex.

> Is there a way that someone listening to an audio book
> in Speex format can skip to a bookmark or to the next
> page?

Sure, if the app supports seeking and has the offsets somewhere.

> Is there a preprocessor that can help with spoken word
> that has music in the background?

Speex is not designed for music. If you increase the bit-rate enough, it
may be encoded not too badly, but that's all.

> Is it unreasonable to suggest that all xiph formats use
> the same comment tools?  Can vorbiscomment be adapted?

It could, it should, it hasn't yet.

> Would anyone here be willing & able to provide a few
> diverse examples that show speex at its realworldish
> finest, along with technical details of how the speex
> files were created?  eg:

If you want the finest quality, use Vorbis. If you want decent speech
quality at very low rate, then use Speex.

> # interview recorded in an igloo
> # using builtin mic on a microsoft xpod at 48kHz

Speex is not designed for 48 kHz and will perform poorly.

> # processed using sux 5.5:
>     sux -l3 -m300 -r -nfg talk48kHz.wav talk4kHz.wav
> # encoded using speex 3.0:
>     speexenc --vad --vbr --secretcode talk4kHz.wav talk.spx
> ... and then attach those details to the spx file as
> comments.

If you give me a URL for a speech file (don't email it to me directly),
I can encode it with Speex and send it back to you if you like.

> Wouldn't it be worth creating even 1 good example to
> replace what's being distributed by the millions in
> Ubuntu?

You mean like these ones: http://www.speex.org/samples/ . You know, I
have no control over what crap Ubuntu puts in their examples.


More information about the Speex-dev mailing list