[vorbis] Audio Section - Game Programming Gems 3

Tom Hubina tomh at 3dgamedev.com
Thu Nov 8 05:09:57 PST 2001



At 03:39 AM 11/8/2001, you wrote:
>Scott,
>
>How detailed would this need to be? I think that this probably doesn't need
>to explain the backgrounds of vorbis encoding/decoding.
>In my opinion, the sole notion that a free and open standard for lossy audio
>(de)compression exists, can rock the foundations of todays in-game music
>playing. Vorbis has not yet caught firm roots in gamedev industry just
>because _almost no one knows it exists_!

Actually, quite a few people in the game industry know it exists. Some are 
waiting for the MP3 dorks to sue you guys while others have already paid 
for MP3 or are using it through DirectMusic / Quicktime. Then you have 
people like myself and Brian who are going to use it now :)

The larger game houses can afford to spend a couple thousand dollars on an 
MP3 license (or just get it by using Miles) because they know no one is 
going to pull the rug out from under them later(like if the MP3 dorks got 
an injunction against all products that used Ogg Vorbis as part of a 
lawsuit .. valid or not). The smaller game companies are watching every 
penny and those are the ones that would be most interested in Ogg Vorbis. 
They're also the ones who are very pressed for time and pre-packaged / 
clean solutions are very interesting to them.

>If an article about vorbis appeared in such a popular book, it would mean a
>lot. Perhaps it doesn't need to go into explaining the vorbis itself much,
>but more into explaining how to use it in a game, what are common
>traps'n'pitfalls when using it in an interactive application that is
>CPU-usage
>sensitive, etc.

An article showing how to stream the data into a DSound buffer efficiently 
using the callback functions and with a minimum of extra junk would be 
useful. Information about CPU load, memory use, and song start latency 
would be important as well.

>Now, I don't have much free time lately, but if no one else feels like doing
>the article, I'll volunteer because I think that Vorbis deserves it. :o)

I would suggest that you guys build up some binary distributions of the 
playback stuff. In general, I think game developers want a clean solution 
that they can play with right off the bat. In general we're not interested 
in contributing to the code base or spending a couple days getting the 
projects to compile and integrate with our project. It's great to know the 
source is available if we have to port to PS2 or fix a bug, but it really 
isn't a primary concern. In other words, what I'd be looking for is a 
simple package with:

1. Static and dynamic libraries.
2. Header files required for playback.
3. Some simple examples to show playback through a FILE pointer and using 
the call back functions to feed into DSound.
4. Easy to use tools for creating the Ogg files that we can give to our 
music guys.
5. Docs for the API and tools.

Repeat the above for different platforms (MacOS and maybe Linux) for extra 
credit, but Win32 is the primary concern for most game developers.

I would also suggest trying to get feedback from any developer using Ogg 
Vorbis and putting a list of titles that use it up on the web site.

One final suggestion ... remove all use of standard libraries ... get the 
decompression libs to stand on their own without linking to anything else. 
This greatly simplifies their integration into our projects under Win32 
since there's so many options for linking with the standard libraries, and 
everything you link to needs to use the same method. This means you'd have 
to rely on the callback functions as the only method for playing back a 
file, but some decent sample code makes that a non-issue.

Tom

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis mailing list