Why Use DirectMusic?
The DirectMusic API addresses fundamental requirements for delivering music on the Windows platform:
- Consistent playback experience. By using downloadable sounds, an application can be sure that musical instruments will sound the same on all computers 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.
- Hardware acceleration. On Windows 98 Second Edition and Windows 2000, DirectMusic can stream its output to DLS-capable hardware synthesizers.
- Software emulation. Computers without hardware acceleration are fully DirectMusic-capable with minimum impact on performance.
In addition, DirectMusic provides important features for easing application development and for enriching the user's experience:
- Generic mechanism for loading and performing musical segments, regardless of the performance technology. DirectMusic supports standard MIDI files, authored music segments, and third-party technology equally.
- 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 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.