[Speex-dev] Vorbis-/Speex-Audio for Movie-Archiving

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Sun Apr 12 19:30:30 PDT 2009

I've heard that proposal (or variants) thousands of times and it useless

1) There's no decent/practical algorithm to separate speech from the
rest of the soundtrack
2) It's fundamentally inefficient unless you have a large number of
languages (e.g. for two languages, you'd end up encoding three streams
instead of two)
3) Unless you aim for low bit-rate audio below 32 kbps (which is stupid
considering the size of a video stream), Vorbis will still perform
better than Speex, even on speech.

Point 3) is especially important. People think that as soon as something
is speech, Speex is automatically better than Vorbis. That's not the
case. Speex is designed for low bitrate communication (VoIP). It can
also be used for storing speech files, but then it only makes sense for
lower rates. Speex can never (and never aimed to) achieve the level of
transparency that Vorbis can achieve at higher rates.


Hannes Hauswedell a écrit :
> Hi everyone,
> I have been using vorbis for ages as audio codec for archiving movies and I 
> have always been happy with it, but now I have been thinking about two things:
> I) Multi-channel
> Up until now I mostly encoded to stereo; now I am thinking of encoding more 
> movies to 4.0 or 5.1. I heard that vorbis does not optimize for channels > 2, 
> i.e. that 6 channels is just stereo*3. AAC is supposed to do this better...
> Now I really digg vorbis, because its patent-free and grass-roots-developed ;) 
> so this doesnt mean I am switching to aac, but I'd like to know whether this 
> true or if its just FUD. 
> And if it is true, how big do you think the compression advantage of aac5.1 is 
> over vorbis5.1? If it is true, is someone working on changing this or is it 
> low-priority?
> II) Multi-language
> I usually archive both the audio stream in original language and in my native 
> language, but I always thought that a lot of space is wasted there, especially 
> when going multi-channel for one or both languages. Wouldn't it be possible 
> to:
> * encode the audio stream minus the speech in vorbis 
> * encode each language as speex
> => save a lot of space because 1*vorb+X*spx << X*vorb
> That would of course require that,
> a) a container and the players support this
> b1) the language be available seperate of the other audio on DVD/BD/... 
> OR
> b2) an efficient algorithm be available for stripping language from background 
> audio
> concerning b1) is this not the case anyway? I at least got the impression when 
> copying a DVD to .iso whithout one of its audio tracks, after which this track 
> was still available but without speech.
> concerning b2) I am sure there are intelligent things out there, but maybe a 
> real simple thing would already work (note that I dont actually have a clue 
> about audio encoding or speex in particular):
> * the main vorbis as the "intersection" of all audio channels
> * first speech-track in speex as "audio channel 1 - main vorbis"
> * second speech-track in speex as "audio channel 2 - main vorbis" aso asf
> When doing this, the speech-tracks of course wouldn't be clean language and 
> the 'main audio-track' not completely free of language, but who cares, since 
> the 'main-audio-track' is always played concurrently with one one of the 
> speech-tracks. Of course speex would have to be able to efficiently encode 
> language with a little mumble-jumble of other lanugages subtracted ;)
> Has anyone ever thought about this or is it complete and utter nonsense?
> Thanks for your time and of course for developing the best free audio-codecs!
> Regards,
> Hannes
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list