AcousMIDI (2018)

AcousMIDI allows a user to load in a Musical Instrument Digital Interface (MIDI) file, load in a set of sound recordings, define a mapping between the MIDI file and the parameters of a polyphonic sample player using the loaded sound recordings as corpus, and output a stereo or multi-channel audio file of a realization of this mapping. Many different MIDI data sources (pitch, velocity, channel, polyphonic pressure, current polyphony, and user-selectable MIDI continuous controller (CC) messages) may be mapped to many different polyphonic sampler player parameters (sample, sampler location, sampler player amplitude, pitch, and spatialization envelopes, along with filtering, echo, and stutter effects). The mapping between the MIDI file and the sound recordings may be solely deterministic or make use of user-controllable Brownian motion or stochastic distributions to inject different types of chaos into the realization of the mapping. While designed for use with MIDI files created by algorithmic composition programs (such as AC Toolbox, M, or Nodal), programs that allow one to have unconstrained and independent control over the different dimensions of a MIDI file, AcousMIDI can also play back any standard MIDI file, for better or worse.