|Microsoft DirectX 9.0|
Much modern music, especially music in the popular, rock, folk, and jazz idioms, is based on the concept of chord progression. All the notes played within a given span of time are associated with a certain chord, and the music moves harmoniously from one chord to another.
The notes within a
A chordmap is a collection of chords that provides multiple potential chord progressions to a musical piece. Chord progressions are generated from a chordmap and inserted into the chord track of a segment, either at design time or at run time.
By using chordmaps, the author of the music can create multiple segments from a common set of chords. Chordmaps can also be used by the application at run time to create new segments or to build new chord progressions in existing segments.
Certain important chords in a chordmap are designated as signposts. These are chords that must be played at certain points. The music is always moving from one signpost to the next. Between the signposts, however, the chord progression can follow various routes from one chord to another, as mapped out by the author.
A chord in the chordmap can actually consist of several different chords, referred to as subchords. In order to achieve polytonality by playing different inversions of the same chord, the author can assign different parts to different subchords. Each subchord is valid for one or more levels, and these are matched up with levels assigned to parts in the