[Vorbis-dev] Controlling the vorbis encoder precisely

Ralph Giles giles at xiph.org
Mon Nov 26 11:44:00 PST 2007


On Mon, Nov 26, 2007 at 12:18:08PM +0100, Robin Siegemund wrote:

> - 1. use lossless encoding like FLAC 
> - 2. insert large chunks of silence between the wave sounds
> - 3. use completely seperate chained streams

2 is cheaper than 3 which is cheaper than one, as far as storage space 
goes. Speex is much cheaper than any of them.

> -> 3. Seperate streams mean additional overhead because every sound gets its own header pages. I'm going to use 40.000 sounds (a word dictionary) in one file so about 40.000*3KB=120MB would be wasted for redundant data.
> But what happens if I chain seperate streams of the same format but skipping their headers (except the first one)?. If this approach would do it why there's no vorbis function to reset the whole encoding process like having a new stream?

Chaining separate streams with identical headers and removing the 
headers will probably be glitchy. However, since you have seek table 
anyway, you can just store them that way, and then reset the decoder and 
feed it a copy of the headers when you decode each word. Extra code and 
non-standard, but will do what you want with no extra overhead.

HTH,
 -r


More information about the Vorbis-dev mailing list