List of Figures


Chapter 2: Linear Playback

Figure 2-1: Multiple waves on Wave Tracks are split into "layers" so you can see their beginnings and endings more easily.
Figure 2-2: A Segment with a Sequence Track consisting of multiple instruments.
Figure 2-3: An empty DLS Collection in the project tree.
Figure 2-4: We've inserted four wave files into our DLS Collection.
Figure 2-5: Setting the proper root note for our BritePiano_C4 wave.
Figure 2-6: The Wave Editor. You can specify whether waveform selections (made by clicking and dragging) should snap to zero crossings via Snap To Zero, and you can specify a loop point by selecting Set Loop From Selection.
Figure 2-7: Creating an instrument.
Figure 2-8: The Instrument editor.
Figure 2-9: Resizing a region with the mouse. Alternatively, we could change the Note Range input boxes in the Region frame.
Figure 2-10: The completed regions for our piano instrument.
Figure 2-11: A DLS region's property window. Here we've slightly adjusted the fine-tuning for BritePiano_G4 only as this region plays it back. If any other regions or instruments used the wave, their pitch would be unaffected by this change.
Figure 2-12: To add any per-region articulations (presumably different from the global instrument articulation), right-click on the region and choose Insert Articulation List.
Figure 2-13: The top single stereo region is actually stored by DirectMusic Producer as something closer to the bottom pair of mono regions.
Figure 2-14: Making our piano's right channel wave play in sync with the left channel and on the right speaker. Both channels would be set to the same Phase Group ID, and one of them should have the Master check box checked.
Figure 2-15: Double-click the Band in the Band Track to open the Band Editor.
Figure 2-16: The Band Editor window.
Figure 2-17: The Band Properties dialog box.
Figure 2-18: The Choose DLS Instrument dialog box.
Figure 2-19: The Transition, or A|B button.
Figure 2-20: The Transition Options window grants access to various transition settings.
Figure 2-21: Play the Segment.
Figure 2-22: Highlight the Segment to which you want to transition, and press the Transition button.

Chapter 3: Variation

Figure 3-1: The Wave Properties page allows you to specify ranges for attenuation and fine-tuning. This particular example will randomly pitch-shift the wave up or down by two semitones.
Figure 3-2: The Pattern Note Properties page allows you to specify variability for velocity, start time, and duration. This particular note will play with randomization in start time, duration, and with a random velocity between 75 and 125.
Figure 3-3: The Variation Button window.
Figure 3-4: Variation 1 has data in it, while variation 2 is empty.
Figure 3-5: Variations 3 and 4 are disabled. Variation 3 has data in it, which typically should be deleted (since the variation will never be chosen).
Figure 3-6: Variation 1 is selected; 2 is not.
Figure 3-7: Part three (piano) is in audition mode. Within DirectMusic Producer, all other parts will randomly choose which variation to play from the enabled variation buttons. Part three will always play whatever variation button is pressed (until it is no longer in audition mode).
Figure 3-8: Selecting per-part variation behavior for a Pattern Track part.
Figure 3-9: Selecting per-part variation behavior for a Wave Track part.
Figure 3-10: Reset Variation Order on Play functionality for the Pattern Track.
Figure 3-11: This Wave Track part's Lock ID is set to 1. Any other Wave Track parts in the Segment that are set to Lock ID 1 will choose the same variation as this part.
Figure 3-12: Locking a Wave Track's variation to a Pattern Track.
Figure 3-13: A variation using variation switch points. This variation can jump to any other variation at the position of the exit switch point (red blocks), shown as the dark blocks in the Var Switch Points line. Similarly, this variation can start playing mid-Segment if any other variation has an exit switch point corresponding to this variation's enter switch point (green blocks), the lighter blocks in the Var Switch Points line.
Figure 3-14: The Variation Choices window.
Figure 3-15: One possible configuration for a variation.

Chapter 4: Interactive and Adaptive Audio

Figure 4-1: A newly created style file. Remember that design-time file extensions end with p, so this is a .stp file. The run-time version of the file will be a .sty file.
Figure 4-2: The Pattern Editor window.
Figure 4-3: The properties page for a pattern within a Style.
Figure 4-4: The Style Designer window for a Style with five patterns for varying groove levels. The highlighted pattern is an ending embellishment (as indicated by the E in the Embellishment column).
Figure 4-5: A typical Style-based Segment. Groove level 1 is specified in the first bar. When the Style was inserted, the other tracks were created and/or modified automatically.
Figure 4-6: Attempting to transition using Segment alignment can be difficult for patterns of differing lengths. In the above diagram, Pattern 1 is four bars long, and Pattern 2 is five bars long. Below them is a display of the 20 bars of a looping Segment, so we can see how they line up over time. If we transition from Pattern 1 to Pattern 2 at, say, the end of bar eight, we're transitioning at the end of Pattern 1 but into the start of the fourth bar of Pattern 2. If both patterns had been the same length, we would be making a potentially more natural transition from the end of Pattern 1 to the beginning of Pattern 2.
Figure 4-7: A sample diagram for five pieces of music. Each arrow indicates that a piece of music will need to be able to transition to another piece of music. For this scenario, we assume that you have to somehow "engage" enemies in combat, so you'll never jump right to the "fighting" music from the "no enemies" music. Similarly, if you decide to flee the room, you'll disengage from the enemies first, so you don't have to worry about the "fighting" music jumping directly to the hallway "ambient" music.
Figure 4-8: Chord Track Properties dialog.
Figure 4-9: Our Eb major seventh chord. Adjusting layer 1 (the bottommost chord layer) defaults to automatically editing all four layers, so you would only need to adjust the chord (four-octave keyboard on the left) and the scale (one-octave keyboard on the right) once. Right-click and uncheck Auto-Sync Level 1 to All to change this behavior.
Figure 4-10: Our (well, Tchaikovsky's) love theme. Note that we've authored it in the key of C (not having a Chord Track implies this) and named the Segment "LoveTheme." The Pattern Track part uses performance channel 17 (which can be adjusted from the property page), and we disabled all variations except our theme on variation 1. Our band similarly just has an entry for performance channel 17 telling it what instrument to play.
Figure 4-11: The Secondary Segment toolbar.
Figure 4-12: Our new chord.
Figure 4-13: Our primary Segment.
Figure 4-14: The Default Play Mode area determines how our secondary Segment responds to chord changes. In the default behavior, chord and scale are used to determine appropriate notes, but there are also settings to only transpose according to scale, to remain fixed to the authored notes (useful for drum tracks), and so on.
Figure 4-15: Adding a new Chord Track and C major chord to our secondary Segment.
Figure 4-16: Setting up a Play button in the secondary Segment toolbar (by right-clicking on it) to play a controlling secondary Segment. Don't forget that this is an audition setting only; the composer would want to tell the programmer or scripter that the Segment should be played as a controlling secondary Segment.

Chapter 5: DirectMusic Producer

Figure 5-1: A DirectMusic Segment file, created from a MIDI sequence.
Figure 5-2: The properties dialog box.
Figure 5-3: The roll editor displays note data, which you can edit right in DirectMusic Producer.
Figure 5-4: We define the chord and scale reference in the Chord Properties page. Here we use a C7 chord with a C Mixolydian scale.
Figure 5-5: Adding your melody and bass line.
Figure 5-6: Your completed master Segment.
Figure 5-7: Setting up alternate ways for DirectMusic to interpret the G7 chord.
Figure 5-8: Adjusting chord levels.
Figure 5-9: The variation bar.
Figure 5-10: Only variation 2 is selected.
Figure 5-11: Our first bass line variation.
Figure 5-12: Variations 1 and 2 are enabled, while all others are disabled.
Figure 5-13: Our accompaniment pattern.

Chapter 6: Working with Chord Tracks and ChordMaps

Figure 6-1: This is a C major Alberti Bass figure (arpeggio) followed by a sixteenth note scale run.
Figure 6-2: Chord Properties dialog box.
Figure 6-3: Play the Segment to hear the pattern cycle through all the chords.
Figure 6-4: The signpost list.
Figure 6-5: Signpost demonstration.
Figure 6-6: Connecting chords.
Figure 6-7: Connecting chords example 2.
Figure 6-8: Cadences.
Figure 6-9: Chord levels.
Figure 6-10: Randomly bypassing connecting chords.
Figure 6-11: Variation Choices window.

Chapter 7: DirectX Audio Scripting

Figure 7-1: An empty script as displayed in the project tree.
Figure 7-2: The Add/Remove Files dialog provides a quick way to add many files to a script's container at once.
Figure 7-3: The setup for our upcoming examples. Our two Segments happen to refer to their own DLS Collections, but they could also (or instead) use General MIDI instruments.
Figure 7-4: An empty script.
Figure 7-5: The Script Properties window.
Figure 7-6: IntroduceCharacter in the Routines window.
Figure 7-7: The Message Window displays errors in your script.
Figure 7-8: The status bar displays the exact line and column number that your cursor is currently on.
Figure 7-9: The Message Window displays an error regarding an unlocatable Segment.
Figure 7-10: The routine works!
Figure 7-11: Variables list in the lower-right frame of the Script Designer window.
Figure 7-12: Every four bars, the script routine CheckNumEnemies is called. If this Segment was our primary Segment, and the routine CheckNumEnemies fired off another primary Segment, this Segment would of course stop playing.
Figure 7-13: You can control whether loading and downloading automatically occur via the script's properties page.

Chapter 8: DirectX Audio Programming 101

Figure 8-1: In DirectX 7.0, DirectMusic and DirectSound are separate components.
Figure 8-2: In DirectX 8.0, DirectSound and DirectMusic merge, managed by AudioPaths.

Chapter 9: The Loader

Figure 9-1: File referencing in DirectMusic.
Figure 9-2: LoaderView.

Chapter 10: Segments

Figure 10-1: Multiple overlapping Segments combine to create the complete score.
Figure 10-2: Segment with four Tracks.
Figure 10-3: Underlying chord progression assembled from primary and controlling Segments.
Figure 10-4: Jones demonstrates loading, configuring, and playing Segments.
Figure 10-5: The Chord Properties window

Chapter 11: AudioPaths

Figure 11-1: AudioPath phases.
Figure 11-2: AudioPath Performance phase.
Figure 11-3: AudioPath DirectSound phase.
Figure 11-4: Jones with AudioPaths.

Chapter 12: Scripting

Figure 12-1: A script with its internal routines, variables, and content.
Figure 12-2: Jones with scripting support.

Chapter 13: Sound Effects

Figure 13-1: Three AudioPaths manage sounds for four things, sorted by priority.
Figure 13-2: Mingle.

Chapter 15: A DirectMusic Case Study for Russian Squares for Windows XP Plus Pack

Figure 15-1: Intensity Range

Chapter 16: A DirectMusic Case Study for No One Lives Forever

Figure 16-1: The Producer setup for the Ambush theme, showing project structure and Style/pattern associations.
Figure 16-2: The Band setup for the Ambush theme.
Figure 16-3: A typical Segment from NOLF.
Figure 16-4: The LithTech DirectMusic test player.

Chapter 17: A DirectSound Case Study for Halo

Figure 17-1: A rocket launcher in action.
Figure 17-2: An Infection Form closes in on the Master Chief.
Figure 17-3: The jeep wins a game of chicken.
Figure 17-4: Dropships on the beach.
Figure 17-5: Shotgun-toting Marines are great to have around.
Figure 17-6: A Jackal has an unpleasant meeting with the front of the jeep.

Chapter 18: A DirectMusic Case Study for Interactive Music on the Web

Figure 18-1: The DMX control in action.
Figure 18-2: The front page of our site.
Figure 18-3: The DLS Collection.
Figure 18-4: The Style, expanded to show all the patterns.
Figure 18-5: A Pattern Part using Variation Switch Points.
Figure 18-6: The Style Designer window showing the Groove Range settings for each Pattern.
Figure 18-7: The Repeat Pattern menu.
Figure 18-8: Main.sgp.
Figure 18-9: The Chord Properties dialog.
Figure 18-10: The transport controls and Secondary Segment toolbar.
Figure 18-11: Controller data in a CC Track, simulating an LFO.
Figure 18-12: FlashPath.aup in the AudioPath Designer window.
Figure 18-13: The Transition Options dialog.
Figure 18-14: Routines and variables displayed in the Script Designer window.
Figure 18-15: The AudioPath list.
Figure 18-16: Saving run-time files from DirectMusic Producer.
Figure 18-17: Compression settings in WinAce.

Chapter 19: A DirectMusic Case Study for Worms Blast

Figure 19-1: Worms Blast.
Figure 19-2: Worms Blast.

Chapter 20: A DirectMusic Case Study for Asheron's Call 2: The Fallen Kings

Figure 20-1: Tumeroks are deeply in tune with the spirits of the world around them. They channel magical energy through drums to attack their foe.
Figure 20-2: Here is an example of one of our chords. Chord track 1 is set to CMin7, the first chord in the mode of Dorian. This is the mode for the background music. Chord tracks 2 and 3 are also in the mode of C Dorian, but their chords are set to an EbMaj7 chord.
Figure 20-3: Our master Segment with its script call in the Script Track.
Figure 20-4: During the last four hours of the beta test, users gathered on top of the Deru Tree to play music together. Part of this jam session is included as an MP3 track on the CD.
Figure 20-5: Secondary Segments in the example project. Use the first secondary Segment to start the project, the second and forth to change the groove level, and the rest to sample various instrument and monster melodies.




DirectX 9 Audio Exposed(c) Interactive Audio Development
DirectX 9 Audio Exposed: Interactive Audio Development
ISBN: 1556222882
EAN: 2147483647
Year: 2006
Pages: 170

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net