Max for Live musebots – a tutorial
You must have at least Live 9.6.1 to open the Live Sets, due to backwards incompatibility with Ableton Live.
Musebots can function within the Max for Live environment, either as devices in a Ableton Live set, or in combination with other musebots standalone applications. However, there are a few things that require special explanation.
There are two types of Max4Live musebots: the Live set, which operates as a container, and the individual devices in separate tracks of the Live set. Both require separate directories in the Musebot folder, but only the first kind (the set) can be launched from the Conductor.
Thus, in the Max4Live template folder, you will find sets typically named as “M4L_Bot.zip”, and devices names as “M4L_device_Drumbot.zip”. These are distinguished in the Max4Live area of this website.
Getting Started making Max 4 Live musebots
Both set and device folders must be in the “Musebots” folder, and contain the following files:
Set folder (i.e. M4L_Botname):
config.txt (with the first line as M4L_Botname, for example)
M4L Musebots Project (this can have any name)
M4L_Botname.app (with the same name as the parent folder)
run.command (containing the “open M4L_Botname” line)
Device folders (i.e. M4L_device_Botname):
config.txt (with the first line as M4L_device_Botname, for example)
Within the Musebot Conductor, select the set name (not the device). This will launch Ableton Live and load the set containing Max4Live devices.
What is happening:
• the Conductor is providing the click for all bots. Note that the Live transport is not functioning, and we are only using Live instruments;
• the volume can be controlled via the Conductor;
• devices can be faded out via the “Kill” command, but the Ableton Live set will not quit.
Differences between Max for Live musebots and regular Musebots
• the Conductor can only launch M4L_Bots, not devices;
• the Conductor cannot kill any device, although it can fade it out.
(as a result, Live will always be running. New ensembles can continue to function, as the M4L musebots will no longer send heartbeats once they have faded out. The next ensemble with an M4L bot will reinitialize that musebot’s gain).
Making your own Max for Live musebot (device)
Copy an existing M4L_device folder, and name it something like M4L_device_myBot.
Edit the config.txt file so that the id (1st line) matches the name of the folder.
Edit the name of the .amxd file so that it matches the name of the folder.
Drag the .amxd file into Max, and edit it.
Open a M4L_Bot set. Create a new MIDI track. Add an instrument. Add your device before the instrument.
Edit your device (in Live), and make sure that the device is UNFROZEN (the snowflake should be white, not blue). Resave the device.
Restart the Conductor. It will now find your device, and update its OSC ports in the config file. Your device should be receiving OSC messages, and controlling the Live instrument.
Note that you cannot launch the device from the Conductor, it must be contained in a Live set (see below) .
Making your own Max for Live musebot (Bot)
Copy an existing M4L_Bot. Rename it to M4L_myBot (or something like that).
Open the M4L_Musebots set inside. Rearrange the M4L_devices inside, and save the set.
Make an alias of the .als file, and move it outside the Live project (but still inside the musebot folder). Rename the file the same as the new musebot folder (M4L_myBot), adding the suffix .app (M4L_myBot.app).
Edit the run.command file with a text editor, so that the last line matches the name of folder (M4L_myBot.app).
Edit the config.txt file so that the ID (1st line) matches the name of the folder (M4L_myBot).
Restart the Conductor.
If you edit your M4L musebot by dragging the .amxd file into Max, Max will freeze the device when you save it. The next time you run the musebot in Live, OSC data might not be received, since the now-frozen device won’t be able to rewrite its config.txt file.
To avoid this, either always edit your musebot’s through Max for Live (i.e. unlocking and editing the device inside Live), or open the frozen device in Max for Live, unfreeze it, re-save it, and re-save the Live set.
Tutorial videos by Paul Paroczai
#1 – Max4Live Musebots: Up and Running
#2 – Max4Live Musebots: Working with Multiple Instruments
#3 – Max4Live Musebots: The Selectorbot
#4 – Max4Live Musebots: Working with a Conductor
#5 – Max4Live Musebots: Creating a Bot Set