Generative Music Systems

These are a few of the generative music systems I have created

MBM

MBM is a Multi-agent generative music system built for improvising live music performances. It is built as a standalone Max patch that interfaces with Ableton Live by way of a MaxForLive bridge patch. For scalability purposes, a single agent patch was created so that multiple agents may be populated using a ~poly Max patch. Each agent is tied to a particular instrument or timbral source. Once a score is presented to the agents, they use the score to choose which corpus will be used relative to its role in the virtual ensemble. Each agent generates meldodic and rhythmic patterns for the sections of the score. For testing purposes and to lower latency, the patterns are genrated to Clips in Live's Session View. These clips act as MIDI buffers which are played autonomously by the agents or correspond to the score. Alternatively the paramenters for the agents can be manually controlled by the user and the system can function more as a computationally assistive composing tool or for live generative improvisation. This system is still a work in progress and additional parts will be coming. Currently the system uses Markov chain models for generation but a newer version that wil incorporate other machine learning algorithms such as a neural network is in the works.


GEDMAS

The Generative Electronic Dance Music Algorithmic System (GEDMAS), came out of my few years of research assistant work at the Generative Electronica Research Project (GERP) of Simon Fraser University’s Metacreation lab with Dr. Arne Eigenfeldt and Dr. Philippe Pasquier. GEDMAS was built in MaxMSP 6 and MaxForLive. It generates full breakbeat style songs or tracks by probabilistically modelling a corpus of 24 fully produced breakbeat tracks. The tracks generated contain top-level song form structures created using: a 1st-order Markov model and bottom-level instrumental sequences based on the probabilistic models of the analyzed corpus. Below is a video of the system and a Soundcloud playlist of music that it created with the moniker PitterPattr. I chose the instrumentation and sounds to play, but the melodies, chords, rhythms, form, and perfromance was done by the system.

Clip Generator

This is a simple melody and rhythm MIDI generator. Its purpose is to be a sort of generative compositionally assistive tool, but it could be used to generate MIDI content in a live setting too. It uses a random generator that can be massaged to make more desirable results.
In future more complex algorithms will be added to make for more interesting results. There are no external objects in this patch. It's a Max for Live MIDI Effect that was made entirely with vanilla Max objects. This is a smaller patch from a larger project of mine that generates MIDI clip patterns for multiple instruments for live improvisation. This work has come about from my previous experiences in making generative systems in Max for Live for research and personal use.

Operating it is pretty simple:
Drop the patch into any MIDI track.
In Session View, click an existing MIDI clip or empty clip slot in the track
Choose your settings
Click Generate

You can download the patch here