ABSTRACT

At a high level, game audio engines can be described as a feature-rich software sampler that manages and organizes thousands of audio files, which play synchronized to game events and are driven by many more thousands of complex real-time parameters. For many successful games and game audio engines, music is treated as simply another audio file. It is only differentiated by the fact that it is played back at a higher priority (usually with reserved voices) so that it is guaranteed to have resources to play, is nonspatialized (i.e., 2D), often looping, and-because of its usually longer duration (and thus larger memory requirements)—is streamed from disk rather than loaded into resident memory. This approach is not sufficient because many other games require music to more closely match and respond to the game’s dynamic environment. In these cases, where interactive music systems need to be designed, music systems require their own complex state machines, logic controls, timing mechanism, and implementation tools and potentially other techniques.