Driver Support for DirectMusic

This document is a design guide for implementing drivers for Microsoft DirectMusic synthesizers (synths) and wave sinks:

  • A synthesizer is a device that inputs a stream of time-stamped MIDI messages and outputs an analog audio signal or a periodically sampled wave digital audio stream.

  • A wave sink is a streaming wave device that pulls wave audio samples from the synthesizer and feeds them to a target audio device.

Software synths and wave sinks can be implemented in user mode. Software or hardware components that provide the same functionality can be implemented in kernel mode. For more information about the relationship between synths and wave sinks, see Synthesizers and Wave Sinks. For information about the DirectMusic API, see the Microsoft Windows SDK documentation.

This design guide contains the following sections:

DirectMusic DDI Overview

Custom Rendering in User Mode

Kernel Mode Hardware Acceleration DDI