[vorbis-dev] Metadata, file signatures, and extentions

Mayhem & Chaos Coordinator robert at moon.eorbit.net
Fri Apr 14 09:46:52 PDT 2000



> Is it possible to desribe syncrnous events in a seperate structure with a
> uniform timestamping method so that they can be interleaved into the bit
> stream?
>
> General song info should be repeated periodically in a subband, but
> syncronus events should only be around the block they occure in when
> stored in a bitstream.

I don't know about that approach -- personally I do not like interleaving
metadata right into the bitstream. Some thoughts:

- For file based playback the player can look at the metadata by seeking to
it and cache it for the duration of the song.
- For streaming playback you obviously cannot seek to the metadata and cache
it -- it needs to be fed to the player in small increments. However, I think
this is best left to the streaming implementation -- for instance both
Icecast and shoutcast have support for handling the sending of metadata.
- Changing the bitstream becomes a lot harder -- there will be many places
to change the data

Monty, is the metadata space at the beginning or at the end of the .ogg
file?

> You might also want to have a field for perceptual volume (could be
> calculated durning encoding by the codec). This would be useful for
> controling an analog volume control between per song so there is less
> worry of a loud song waking people when tracks change..

Its already in there -- you could do the following:

<RelativeVolumeAdj>
     <Volume Speaker="1" VolumeChange="20"/>
     <Volume Speaker="2" VolumeChange="30"/>
</RelativeVolumeAdj>

This would increase the volume in speaker 1 (left) by 20 percent, and
increase the volume in speaker 2 (right) by 30 percent. Speakers 1-6 are
currently defined: Left, right, center, left back, right back, and
subwoofer. That exceeds the current capabilities of Vorbis, right?

The DTD also has a field that allows the specifcation of a peak volume for a
speaker, which would allow the client (player) to do normalization on the
fly should that be wanted.

--ruaok         Freezerburn! All else is only icing. -- Soul Coughing

Robert Kaye -- robert at moon.eorbit.net  http://moon.eorbit.net/~robert

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list