Forums > MaxMSP

Global MIDI transpose in Ableton (using M4L)

Feb 09 2013 | 2:28 am

Is is possible to create a MIDI device that allows the user to simultaneously change the transpose amount of all the instances of the MIDI device. For example, if the MIDI transpose device is loaded on 3 different tracks, every time one MIDI device is adjusted, the other 2 change to the same value.

Feb 09 2013 | 2:47 am

Yeah, you can put a send and receive object in a loop formation on each transpose–with a change object you can avoid a feedback loop.

This patch would always change them all to be the same as any one that is changed–to avoid this you could put a gate object before the numbox to toggle whether they change with the others or not.

-- Pasted Max Patch, click to expand. --

Feb 09 2013 | 2:52 am

Suggest finding a M4L device that first does the transpose trick on a single target, them mapping it to the rest simultaneously?

There are quite a few M4L devices that allow mapping to tracks outside of that in which they reside – they’d be a good starting point.

Sorry I can’t be more specific, just popped in to say yes, it’s very possible – and point you in a fruitful direction.



Feb 09 2013 | 4:07 am

Thanks for the quick replies. I’m demoing Ableton and Max 4 Live. I’m trying to switch from REAPER and so far, Ableton looks good. I’m currently watching a youtube tutorial on Max so I can figure out where to copy/paste etk’s patch. LOL.

Feb 09 2013 | 10:55 am

It can also be done with a global variable using the [value] object.

-- Pasted Max Patch, click to expand. --

Feb 09 2013 | 5:10 pm

I've made a simple device that transposes each note but I'm not sure how to incorporate your patches into my patch. I don't understand what needs to be connected to what. How do I copy/paste my code/patch into this forum? I'd like to show you what I've got so far.


  1. MaxTranspose.png


Feb 09 2013 | 5:50 pm

Thanks broc. Can someone please look at my code and help me add a global variable?

-- Pasted Max Patch, click to expand. --

Feb 09 2013 | 6:06 pm

-- Pasted Max Patch, click to expand. --

Feb 09 2013 | 6:39 pm

Seems I misunderstood the original request – I thought you wanted to map a CC to the transpose function built in to a plugin / device.

Feb 09 2013 | 10:55 pm

Thank broc. I really appreciate it! I noticed that the transpose amount is correctly updated on the other instances of the devices but the other Live_Dials do not up update. When I try to fix it, I get weird (feedback) results. How do I fix that?

Feb 10 2013 | 1:40 am

Updating the dials would require additional send/receive. But then you may as well use send/receive alone without a global variable (as shown above in the patch from ‘etk’).

-- Pasted Max Patch, click to expand. --

Dec 11 2015 | 1:19 pm

This pair of Max for Live devices worked for me, and was much simpler to use than any other method of transposing multiple MIDI tracks.

Viewing 13 posts - 1 through 13 (of 13 total)

Forums > MaxMSP