The chord for composition sets the context of our pattern, but there are other features that we can use to direct the DirectMusic engine on how our patterns should respond to chords. Some of these features are playmodes, note properties, chord levels, pattern chord rhythms, and variation choices. We go through them one by one, learning what each does and how to use them.

Let's start with using playmodes. Open up the pattern in the SimpleStyle Style. Open the properties page for the part. On the lower right is a section labeled Default Play Mode. The first drop-down box is set to Chord/Scale. When the pattern is played with Chord/Scale selected, both the chord position and scale degrees are considered when deciding what note is played over a certain chord. The chord position is which chord tone we are talking about. For instance, inaCmajor chord, C is chord position one, E is chord position two, and G is chord position three. If it were C7, Bb would be chord position four.

In the sample project, visit the Playmode bookmark for a demonstration of the Chord/Scale playmode. Notice that the Segment has a chord that is not a traditional triad. It is D2, A2, and D2. When SimpleStyle is played with this chord, the notes are stretched out to fit the chord because the Chord/Scale playmode specifies that we take the chord into account as well as the scale. The Sequence Track's purpose in this Segment is to show you the notes that play when the Style's pattern is played through the playmode Segment. The notes are a doubling of the Style's output an octave lower. Sequence Tracks ignore chords and always play the same thing.

Back to the topic; let's look at how the engine plays the scale section of the pattern (starting on beat three) when played through the playmode Segment. If you do not have the project handy, refer back to Figure 6-1 for Simple Style's notes. The first two notes are what one would expect, but from there it looks confusing. You probably expect to hear D, E, F, G, A, B, C, D since the pattern has a straight scale, but because DirectMusic has been told to take chord position and scale into account, it does things differently. It plays D, E, A, B, D, E, C, D. The A is played as the third note because A is the second chord tone in the chord D-A-D. In C major, E was the second chord tone. So when you are in C major and you write an E, DirectMusic remembers that as the second chord tone, not as the third scale degree. Thus, you hear A because with D-A-D, the second chord tone is A. In C major, F is one scale degree above the second chord tone, so over D-A-D, B is one degree above the second chord tone. This also explains the D and E after that. The D in the next octave is the third chord tone, like G was in C major, and E is one above that, just like A was in C major. So why are the last two notes lower? We have run out of chord tones and are going to the next octave. These two notes are actually what we expected; they just seem strange since they are lower than the two before them.

The second measure plays, ignoring the chord positions because the default playmode of the Scale Style is set to the scale playmode instead of the chord/scale playmode. The scale mode obviously only takes scale position into account. The pattern starts on the root of the chord and plays the same scale degrees as the original pattern.

Here is a summary of the way pitches are retained when the chord/scale playmode is specified in a pattern. Pitches have three components in the chord/scale playmode: chord position + scale off-set + chromatic offset. So a D# in C major is what in our D-A-D chord? Well, D# is the second chord position (E) lowered by one chromatic tone in C major. In D-A-D, A is the second chord tone. G# is one half-step lower than that, so the answer is G#. In this case, there was no scale offset.

The difference between the chord playmode and the chord/scale playmode is in how these playmodes cause the engine to handle sevenths, or the fourth chord tone. If chord playmode is specified and the chord given in the Chord Track does not contain a seventh or fourth chord tone, that tone will be omitted during playback. This could be a good thing if you are trying to avoid sevenths when they are not specified. On the other hand, the chord playmode could have a negative impact if you have melodic lines that depend on sevenths.

PedalPoint is another playmode that will ignore the chord's root and round to the nearest scale note. Unless you really want a true pedal point in the sense of one note, this may not work harmonically with what you are doing. PedalPointChord is a really good option for melodic lines, since it shifts notes to the nearest chord tone. That doesn't mean that every note will be a chord tone, though. It means the generated note will have the same offset from a chord tone as the original note in the pattern. For instance,aCinaCmajor pattern (chord pos 1) shifts up toaBinaGmajor chord (chord pos 2), andaDinaCmajor pattern (chord pos 1+1 scale degree) will becomeaCinaGmajor pattern (chord pos 2+1 scale degree). In English that means if you write a chord tone, it will always play a chord tone. If you write a non-chord tone, it will play another non-chord tone. Listen to the flute part in the PedalPointChord Segment in the ChordMap tutorial for an example.

All of this information about chord position and scale-offset information can be quite confusing at first, but it is worth working through in order to take full advantage of DirectMusic.

DirectX 9 Audio Exposed(c) Interactive Audio Development
DirectX 9 Audio Exposed: Interactive Audio Development
ISBN: 1556222882
EAN: 2147483647
Year: 2006
Pages: 170 © 2008-2017.
If you may any questions please contact us: