An extensible kernel-mode audio (e.g., MIDI) processing architecture is implemented
using multiple modules that together comprise a module graph. The module graph
is implemented in kernel-mode, reducing latency and jitter when handling audio
data by avoiding transfers of the audio data to user-mode applications for processing.
In one embodiment, the audio processing architecture is readily extensible. A graph
builder can readily change the module graph, adding new modules, removing modules,
or altering connections as necessary, all while the graph is running.