The Power of DirectX Audio
DirectX Audio does much more than simply play sounds. It provides a complete system for implementing a dynamic soundtrack that takes advantage of hardware acceleration, (DLS), (DMOs), and advanced 3-D positioning effects.
By using the DirectMusic and DirectSound interfaces in your application, you can do the following:
- Load and play sounds from files or resources in MIDI, wave, or DirectMusic Producer run time format.
- Play from multiple sources simultaneously.
- Schedule the timing of musical events with high precision.
- Send tempo changes, patch changes, and other MIDI events programmatically.
- Use Downloadable Sounds. By using the DLS synthesizer, an application can be sure that message-based music sounds the same on all computers. An application can also play an unlimited variety of instruments and even produce unique sounds for individual notes and velocities.
- Locate sounds in a 3-D environment.
- Easily apply pitch changes, reverb, and other effects to sounds.
- Use more than 16 MIDI channels. DirectX Audio breaks through the 16-channel limitation and makes it possible for any number of voices to be played simultaneously, up to the limits of the synthesizer.
- Play segments on different audiopaths, so that effects or spatialization can be applied individually to each sound.
- Capture MIDI data or stream ("thru") it from one port to another.
- Capture wave sounds from a microphone or other input.
If you use source files from DirectMusic Producer or a similar application, you can do much more:
- Control many more aspects of playback at run time, for example by choosing a different set of musical variations or altering the chord progression.
- Play music that varies subtly each time it repeats.
- Play waves with variations.
- Map to audiopaths, so that different parts within the same segment can have different effects.
- Compose wholly new pieces of music at run time, not generated algorithmically but based on components supplied by a human composer.
- Dynamically compose transitions between existing pieces of music.
- Cue transitions, motifs, and sound effects to occur at specified rhythmic points in the performance.
These capabilities are the ones most often used by mainstream applications. DirectX Audio is designed to be used easily for the basic tasks, but it also allows low-level access to those who need it. It is also extensible. Specialized applications can implement new objects at virtually every stage on the audiopath, such as the following:
- Loaders to parse data in new or proprietary formats.
- Tracks containing any kind of sequenced data.
- Tools to process messages—for example, to intercept notes and apply transpositions, or to display lyrics embedded in a segment file.
- Custom sequencer.
- Custom synthesizer.
- Effects filters.
Also part of DirectX Audio is DirectMusic Producer, an application that enables composers to create DLS collections, , , and segments—the pieces that let you take full advantage of the power of DirectMusic. DirectMusic Producer also makes it possible to create playable segments that contain multiple time-stamped waves. These waves can be in compressed or uncompressed format and can be either streamed at run time or wholly contained in memory.
As an application developer, you might never use DirectMusic Producer yourself, but it is a good idea to have a broad understanding of what it does so that you can work effectively with your sound design team. For an introduction from the application designer's perspective, see Compositional Music Elements. For more detail, see the DirectMusic Producer documentation.
DirectX Audio delivers full functionality on Microsoft® Windows® 98 and Microsoft® Windows® 2000. However, support for hardware synthesizers is available only on Windows 98 Second Edition and Windows 2000.