views:

45

answers:

1

Curiosity question. Nothing serious to do with it.

What are the algorithms and techniques to adapt seamlessly the theme and feeling of a soundtrack to the events the user performs. In other words, how does iMUSE work, and what kind of data do you feed in?

+1  A: 

I can think of two ways.

One is to continuously run an algorithmic composition engine in the background, driving a synthesiser system which creates the music on the fly much like the sound effects are done. That could react to literally anything, and fairly quickly too (on a bar-by-bar basis, for example). You could, for example, have themes for each character in a game, and introduce them as the characters show up... even vary the feel of the individual character themes according to events in the game (Sad theme when your sidekick dies? Sure.).

The other is to have a large number of audio tracks, annotated for their BPM and beat position in the sample, and also arranged and annotated so they have transition points. Then the audio system would cue up the next track with the beat aligned at a transition point and then crossfade, much as a dance DJ does. This system will be a little less reactive, so it will need carefully aligned with the level design, so the music changes feel a bit in advance of events in the game.

I guess the two can be combined to some extent.

Andrew McGregor