Device Details

Device Overview

Name/Version: Live MIDI Router and Receiver 1.0
Author: TBTAHG  
Description: If you're in the habit of working with rather extensive Ableton Live projects and multiple MIDI controllers, you are undoubtedly familiar with the problems caused by having to adjust Live's internal routing while being in the middle of a jam or recording session:

You've just been sequencing a drum clip using e.g. your Ableton Push, but then you want to switch over to e.g. your QuNeo to add some live percussion, but since e.g. your Bass Station II is running a sequence of it's own, just setting the drum-track's 'MIDI From' to 'All Ins' is simply not an option. So, as you probably know all too well, the only option left is assigning a dedicated track to the QuNeo and then change it's 'MIDI To' settings on the fly to match with whatever you want to do next. However, changing this routing unfortunately causes Live to freeze for a second, potentially messing up the sync between Live and some of your external hardware instruments and generally causing a whole bunch of anger, vexation and despair...

Which is exactly what drove me to create a Max for Live device that would once and for all get rid of this problem: a really astonishingly simple yet quite ingenious 32 track MIDI router and receiver that allows you to assign any MIDI controller to any instrument track on the fly without ever having to worry about potential freezes or losing sync with your external hardware again, imaginatively called Live MIDI Router / Receiver.

Just create a dedicated MIDI channel for each controller (set it's 'MIDI From' to the controller in question, set 'MIDI To' to 'No output' + arm the track) and drop an instance of the 'MIDI_Router' device on it, create as much instrument tracks as you need (set the 'MIDI From' to 'No Input') and drop an instance of the 'MIDI_Receiver' device on every single one of them: You are now able to assign a MIDI controller to an instrument by making a one-on-one connection between a router and a receiver by selecting a track number on both the router and receiver, et voila...

Oh, and if you think these devices look somewhat strange when compared to other Max for Live devices you know, that is because I believe in the idea of 'transparent software': by letting the user actually see how a given program or patch works, one is able to both demystify the realm of software and empower the user to modify, tweak and gain mastery over the software he or she uses, instead of being hopelessly subjugated by it. And after all, is that not exactly what life is about? ;-)

P.S.: As the device actually consists of two devices (Router and Receiver), the download is a .zip-file, just containing the two .amxd- files.


Device Details

Downloads: 3046
Tags utility
Live Version Used: 9.1.6
Max Version Used: 6.1.6
Date Added: May 12 2015 08:07:13
Date Last Updated: May 16 2015 05:55:37
Average Rating (4) 5
Rate this device: (must be logged in to rate devices login)
Device Type: midi_device
URL (optional):
License (more info): AttributionNonCommercialShareAlike

Device Files

Device File: MIDI Router and


This is so rad, I can't believe there is not more activity on this. Thanks for these awesome devices!

So I've got this up and running, but I noticed there isn't actually a way to record the midi coming in. Is there?

Ah, nevermind. I thought I was supposed to have the Instrument tracks also set to 'No Input' - setting to All Ins solves the problem.


good job. saved my life.

this one is crazy! any chance you can provide a XXL version with 128 or more source/destination?


PLease can you make this with 128 or more Route + recieve

or better still can u assign a Channel drop down menu for each instance with 128 channels (:

example :
**currently we are limited to 1 instance with 32 route / receive **
I am suggesting :
That each instance has a little drop down menu with( 128 instance channels ) to choose from > each instance is exactly what you have now 32 midi channels.

so if i insert a MIDI route > then select from the drop down menu instance 120 > then when i insert a MIDI Recieve and select from the drop down instance menu 120 then all 32 midi channel will connect >

Walllahaaaa yeah baby bring it on

Pretty cool, but I ran into a problem I don't believe I know how to solve.

Anything transmitted between tracks that have the MIDI_Router and MIDI_Receiver M4L device on them is broadcast globally.

Here's an example of what I did.

Track 1, MIDI Input from a Korg nanoPad2 on Channel 2, no MIDI Output.
Track 2 and track 3, MIDI Output to their respective destinations on the channels they need to send on with the MIDI Receiver handling the input.

Track 2 is set to receive on M4L Device s chan 1 and track 3 is set to receive on schan 2.

Goal: Toggle the MIDI_Router between 1 and 2 with a single controller pad. So, I mapped the MIDI for both 1 and 2 to a single pad on the nanoPad2 then turned midiin 1 on and left midiin 2 off. When I press the pad, they switch.

When I press the pad, it does what I want it to, but WAY more. It sends a signal out to every MIDI device connected to the system.

Is there a way to dial in a single channel on the router and receiver?

Hi there! It works perfectly for notes, thanks for sharing! But for knobs, it didn't work in my case. Could you advise by which objects I could make it usable for knobs?

mister u are my new hero this is saving my a** right now

Thanks so much this is a complete game changer for me!!!

exactly what I was looking for since a long time


Login to comment on this device.

[ browse device library ]