Skip to content

Event-Driven Features in Music


In Virtual Instrument (or VI) software such as synthesizers and samplers, a common aspect shared by their behaviors is interactivity. In other words, code is always executing in response to a certain type of event, rather than executing in a procedural fashion when the program boots up.

The scope of variety in the different types of events is broad. While there are too many to list in an introductory unit, here are the most common examples you might find:

  • MIDI CC - A MIDI CC controller has changed. In response, an instrument may adjust a filter cutoff, a balance between sample layers, and so on. In other cases, sometimes the event can be responded to in more advanced ways, such as toggling parameters in the software.

  • MIDI Note On - A MIDI note has just been pressed; almost always instruments will play sounds corresponding to the pitch of this note, but there are other possible responses. For example, articulation keyswitches respond to MIDI notes by storing what type of sound to play next, rather than producing a sound directly; in otherwords, the code is executing a command, rather than playing a sound.

  • Transport - When the host DAW for the instrument starts or stops, oftentimes the instrument might respond to this in order to guarantee consistent and clean playback. For example, an instrument with round-robins may want to reset its counters, in order for every song render to play an identical sequence of sample recordings.

When features are primarily executed in response to some type of event, we refer to them as event-driven. Virtual Instruments (or VI) are a class of software which consist entirely of event-driven features.