| |
|
|
||||
![]() |
||||||
| |
|
|||||
|
Introducing the Interactive XMF Audio File Format The IXMF File Format A single IXMF file contains all of the information needed for a game soundtrack, or a level, or a character, or any other scope. This includes all media and all information necessary to play that media as the audio artist intended. An IXMF file has its own internal folder tree, starting at a Root folder. This Root folder contains metadata fields, a Cues folder, a MediaChunks folder, a MediaFiles folder, a Transitions folder, a PositionRules folder, and a Callbacks folder. The metadata fields at this root level may contain artist notes and other general information about the soundtrack, and default values for variables. The Cues folder contains all of the cue description resources for the soundtrack and may contain files that provide information for setup and teardown of the soundtrack. Each cue file has a tagged or indexed list of one or more links to media chunk files called a "chunk pool", and metadata necessary for using those media chunk files. The cue metadata, like the root node metadata, may contain general information and default values for variables. These variable settings take precedence over their root node values and apply to all media chunks in the cue's chunk pool. The MediaChunks folder contains all of the media chunk resources for the soundtrack. A media chunk file may contain some of the same metadata fields as a cue. Its variable settings take precedence over those of the cue that refers to it in its chunk pool and apply only to itself. Examples of standard metadata fields are MediaFileID, MediaType, DefaultMediaHandling, DefaultSyncGroup, DefaultTempoMapID, DefaultTransition, DefaultMixGroup, GainTriminDB, and RAM_Usage. In all cases, there will be standard metadata fields, but there is always the option to add custom fields so that audio teams can extend the functionality of IXMF in any direction they choose. The MediaFiles folder contains all of the playable media files for the soundtrack, or pointers to playable media files that exist outside the IXMF file. Playable media files can be any type of audio asset file such as WAV, Standard MIDI, AIFF, SDII, and so on. The Transitions folder contains all of the transition definition resources, the PositionRules folder contains all of the position rule definition resources, and the Callbacks folder contains all of the callback definition resources that will be used by the soundtrack. Some of these files will be predefined; some will be scripts created by the sound artist using a simple scripting language. Much of what the audio artist will need in the way of transitions, position rules, and callback definitions will be predefined. Examples of predefined transitions are cross-fades and but edits. Predefined position rules will include "start at chunk beginning" and "start at next bar", and predefined callbacks will include "cue end" and "chunk end". Scripting will allow more exotic and case-specific media control. IXMF, using no custom metadata fields and no custom scripts, is intended address eighty percent of an audio artist's needs, eighty percent of the time. Scripting capabilities and artist-defined metadata fields allow the functionality to be extended in any manner that is desired by the audio team. The "X" in IXMF stands for "eXtensible". The IXMF Impact Enough of the nuts and bolts and beats and bits. At this point you are probably asking yourself, "How will IXMF affect my work as an audio artist / audio programmer? What's the bottom line for me?" First, let's look at audio content creation. Composer George Sanger says, "In the 20 years I've been doing my job, I have never encountered a tool that allows me to map the linear audio I've created into the interactive context I've envisioned. In effect, I have been a blacksmith with no anvil. At worst, I have been able to create fairly non-interactive bits of audio, or I have given written or spoken instructions to programmers, which have only served to frustrate us all. In some cases, because of the lack of a tool, I have had to lean my work towards programming, or have had to ask a programmer to lean more towards artistry, which inevitably leads to more work, less efficiency, worse art, and frustration all around. Certainly a tool is needed. Without IXMF, it is possible for a tool to come into being to allow me to do my job for a specific platform or audio engine, and I get the sense that this brings food to the starving masses, but no water. Guitars and amps but no cables. Keyboards but no MIDI." With widespread use of IXMF, an audio artist would be able to create audio content and save it in a format that could be read by any game audio playback engine. This would allow a composer to use the tools he likes, and hop between them to use his favorite features in each without losing or damaging any file information along the way. Workflow would no longer need to be reinvented for every game, every developer, every platform. An audio artist's experience would be leveraged because the skills he develops and the terminology he uses would be consistent from one work situation to the next. The rework and file management associated with porting a game to another platform would be eliminated. The existence and acceptance of a standard file format would also encourage the development of new and better tools because the customer base would be large enough to support this development. And all of this could combine to create an audio development environment in which interactive sound designs could sound better, more interesting, and be created more rapidly. "Imagine what happens when, instead of just three or four people at each company having access to these tools, millions of people gain that access," Sanger explains. "College students and home tinkerers and accomplished musicians, engineers and artists will begin not only using the tools, but also creating their own tools and their own ways of writing to and reading from this file format. As seen with MIDI, when the bank of available tools grows, it will become easy to write efficiently, easily, and freely for games, web sites, amusement parks, 'can't-play-a-wrong-note' toys, interactive movies, songs you can change as they play, and other hitherto unheard-of situations. The only predictable thing is that it's uses will be unpredictable."
From the other side of the fence, how can IXMF benefit a game audio programmer? Audio engine programmer Martin Wilde says, "From my perspective, a game audio engine should afford the audio artist the ability to create a seamless, interactive game score with as little programming intervention as possible." Traditionally, the generation of a good game audio engine has required a great deal of programming effort. And that effort generally results in an audio engine that runs on only one platform and is focused on implementing what Wilde refers to as low-level operators, which are "bits of code or functions that load and play digital audio or MIDI, but have no higher musical purpose or understanding." Also, the audio artist must usually turn his creations over to the programmer for integration into the game, which to some extent puts artistic decisions, schedules, and priorities in the programmer's hands. Wilde believes IXMF will fix both those problems. As he explains, "First, we have a very comprehensive description and specification of the high-level audio behaviors audio artists wish to have at their disposal. This is very important and significant! The members of the IXWG, representing literally decades of game audio-making experience, have collaborated on the description and specification of the methods, intelligence and building blocks to make interactive game audio soundtracks. This includes a description of a scripting language that allows audio artists to directly control the integration and presentation of their content with minimal impact on the programming team. Second, I as an audio programmer will have an outline from which to build a high-level game audio engine. I won't have to guess what kinds of things might be useful and how they should work in a musical context. I will have it all in front of me. All I'll have to do is code it once, and I'm done. Well, almost. The IXMF spec also includes an Adapter Layer. This is the code that takes the high-level commands issued from the Soundtrack Manager and translates them into the low-level commands for the specific platform on which the game is running. All I'll have to do is write (or get the platform manufacturers to write) the various adapter layers to the low-level, platform-specific operators I talked about before. Then audio content can truly be authored once, and published many times across platforms." Once the initial tasks of writing adapter layers and the Soundtrack Manager are completed, the role of the audio engine programmer will evolve. Instead of rewriting engines for every new platform and dealing with artistic audio implementation issues, the programmer will be able to focus on what Wilde calls "clarification and refinement." As for communication across this fence, IXMF can be the means of creating a much clearer division of labor by providing a means for conveying audio content and interactivity information from the audio artist to the audio programmer in a well thought-out, well-defined, standardized format. Sanger, describing it from the perspective of an audio designer, put it this way, "Here's the sweet part. I think that the interaction between sound designer and programmer will become less like the push-and-pull that happens between a control freak having his dream house built and the drunken, arrogant, monomaniacal, but incredibly talented architect whom he has hired. It will become more like the interaction between a creatively gifted control freak sending a letter and the drunken, arrogant, monomaniacal, but incredibly talented mailman." There are several aspects of IXMF which could greatly benefit all developers. Using IXMF may decrease a game's time to market. This might not happen the first time a developer uses it, due to the learning curve associated with the new format. But in subsequent games, once the learning curve flattens out, time to market will be reduced since the workflow won't change from game to game and platform to platform, and also because of its inherent simplicity and efficiency. And let's not forget that the amount of time and money needed to move content across platforms will be tremendously reduced. If IXMF is widely adopted, another benefit to development studios will be the reduction in training time for new audio team members, and the larger talent pool from which companies can select new member for that team. That will result from the consistent format and workflow from one development house to the next. Game audio quality also stands to improve. This is not to say that it will make a linear-audio snippet sound better - just that the implementation of the audio will be vastly improved. Wilde believes that widespread use of IXMF is inevitable. "One thing that hasn't been talked about much is the tremendous explosion of content we will see packaged in IXMF files. IXMF will revolutionize and standardize the delivery format of all manner of music and multimedia content, and IXMF players will be the de facto standard everywhere. Content providers won't have to think twice about how to package their creations. Everyone will use IXMF, and then, watch out!" Sanger agrees, saying, "Developers who depend on maintaining their own technical edge over their competitors will be left behind a huge, rapidly advancing community. Developers would be well advised to implement IXMF rather than a proprietary tool, just as they would be well advised not to attempt to create their own Internet." The Fencing Lesson What should you do now to prepare for using IXMF? Chris Grigg suggests doing nothing. "The Soundtrack Manager model we're articulating reflects what basically all advanced interactive audio systems already do," Grigg says. "Just keep getting better at the craft." Martin Wilde adds, "Get familiar with MIDI + DLS, as this is one of the first formats included in XMF files. Become a member of the IA-SIG and get involved in the interactive audio scene as a whole. There's room for everybody: manufacturers, game developers, audio artists and programmers. Other than that, sit back, and prepare to change the way you think about game audio."
________________________________________________________
|
|||||||||||||||||||||
|
|