Why Use DirectMusic?
The DirectMusic API addresses fundamental requirements for delivering music on the platform:
- Consistent playback experience. By using downloadable sounds, an application can count on musical instruments sounding the same on all machines, and can perform with instruments of its own design.
- Jitter-free timing. Playback of MIDI-generated music has timing accuracy within two milliseconds.
- Extensibility. DirectMusic does not restrict vendors to a base-level feature set.
In addition, DirectMusic provides important features for easing program development and for enriching the user's experience:
- Generic mechanism for loading and performing musical segments, regardless of the performance technology. DirectMusic equally supports standard MIDI files, authored music segments, and third-party technology.
- Multiple performances. More than one piece of music can be played at once, with completely separate timing, instrument sets, and so on.
- More than 16 MIDI channels. By mapping performance channels to channel groups, DirectMusic 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.
- Automated management of DLS instruments.
- Dynamic and interactive playback. In combination with DirectMusic Producer, the DirectMusic performance engine can be used to create dynamic musical soundtracks based on stored compositional material. The music does not assume its final form until it is about to be played, and can respond to program events.
- Synchronization of all music playback through the use of a master clock.