Limit to amount of midi maps?

Is there a limit to the amount of midi mapping you can have set up to a controller ?

I am at a point where midi mapping no longer works unless I unmap another parameter.

1 Like

The current limit is 256 mappings. Did you really reach it? :thinking:

You may send me your .mhp file via PM so I can look into it, whether there’s any other possible issue happening.

Yes, That sounds about right,
My use case is 4 midi channels coming in Midi A and I have set up 3 pipes for each of these channels to go out on midi B,C and usb A.
I had added a chance, Harmonized & Delay module to each of these 12 pipes but have run out of mapping before I was able to map them all.
My plan was to have them all set on bypass then when I needed to use any of them, I would be able to activate them quickly and set the parameters with my controller rather than having to load the software.

Is it a limitation of the device or could more mappings be made available?

The device does have limited memory available, so we must manage the sizes of memory areas, you are the first to reach the mapping limits. :slight_smile: I’ll send you a custom test build to try out with rearranged limits.


Wow!! that’s a lot of mappings…and 256 is a good limit, I think.

I have one preset that reach half with 16X8 (all 127 CC for that matter…)
But it’s not that hard going with separate MIDI Ch.

1 Like

Many thanks for this, I will try this over the weekend.

Yes 256 is a lot, In my case it’s more about a quick workflow in having things ready to go, so if I want to add a modual to the pipe it’s already mapped and can be added or bypassed with a quick turn of a knob.

any plans to up this limit any time soon? I hit it pretty much immediately. I’m using variations on this patch for three different Elektron machines, and can’t do it. seven pipes per note with two notes per track means mapping this out for the Analog RYTM uses over 168 pipes. I want to have the same mappings set up for the Digitone and Octatrack (and Model:Cycles, actually), all in the same preset. will I ever be using ALL of them at once? HIGHLY unlikely. but I don’t want to have to re-do the mapping for any given combination of the three I’m using on a given track…

also, if this patch can be simplified to use less pipes, I’m all ears!

The current MIDI mappings limit is 511, and the limit of the pipes is 255. These limits are extremely unlikely to increase further. :slight_smile:

The preset can be simplified by doing the common parts like filtering based on channel and type once, then sending to a dedicated virtual bus, and then doing the reset of the processing.

We’ll note to look into adding message channel processing in Transform pipe too, that would allow saving some more pipes.


yes! this occurred to me shortly after I posted the above. the creator of the Digitone patch said he wasn’t trying to make it efficient, and that there were likely ways to clean it up. once I digested the whole thing, I noticed the unnecessary repetition.

thanks! yeah if Transform could process the specific channels, I’d save another pipe per note; which adds up.

I actually came to the forum to ask about this specific issue! I just got my Midihub this week and finally sat down to dig into it over the long weekend - insanely good device! I hit my limit trying to put together my first preset though.

Basically, I’ve got a bunch of pedals that have a bunch of controls that are ‘stepped’ (ie. the knobs are really scrolling through a series of discrete regions - things like intervals on harmoniser/shimmer reverb pedals, the pitched delay on some Chase Bliss pedals, various functions of Blooper etc etc). Since most of these are melodic in nature I want to play them - so my plan was to test this by creating a big mapping from note values to the relevant CC values for two of the pedals that can be ‘played’ together nicely, and use my 8x8 drum pad controller to see how it felt. I got a third of the way through the second pedal and ran out of pipes though.

First thought: I did this stupidly - every pipeline looks like this
From MIDI → Range Filter → Channel Remap → Transform → To MIDI.
Which would have ended up with 64 x 5 = 320 pipes. I realise now I could actually split the MIDI note range in half, send all of one half to a virtual port after a channel remap, and ditto for the other. So that’s ~64 pipes down, give or take the extra ones I’d have to add, but I’m still pushing right against the limit. Is there some clever, more efficient way to achieve this?

Second thought: this is a lot of instances of a simple thing - nothing particularly fancy is going on, and it’s probably under the MIDI mappings limit of 511 that was mentioned, so I’m guessing the memory on the device is probably capable of handling it. Is there any way to handle the pipe limit dynamically? That is, based on available memory rather than a hard number of pipes? This situation reminds me a bit of the Line 6 Helix amp modeller, which will dynamically limit which new effects you can put on a signal path based on the remaining processing power of the DSP chip associated with it.

Third thought: what I was doing would be way simpler if there was a pipe that let you set up a bunch of transformations a) simultaneously; and b) based on the actual incoming values rather than the type of incoming message. Say, if the transform pipe could be specified as
C1 → CC18 0
C#1 → CC18 5
D1 → CC18 12
etc, rather than Note On → CC [x] [y], which necessitates repeatedly filtering for each note and transforming it one at a time.
I suppose you could put a sensible limit on the number of simultaneous mappings on one pipe, and maybe (so it doesn’t get out of control) make it so within one pipe every transform has to be uniform in the kind of input message and the kind of output message (ie. this one would be MIDI Note → CC18). Would that be feasible?

Is there a mathematical relationship for the values? If so, then it should be possible to significantly simplify the preset. Use Note Remap pipe to ‘scale out’ the values of notes (slimmer input range) to be more spread out (wider output range), and use Transform pipe with these settings, so the produced CC18 has the value of the scaled out note numbers: