Mapping ranges of notes for controls?

can note ranges from a midi keyboard be mapped to transpose

use case
sequencer > midi hub (transpose controlled by using midi keyboard notes) > synth

Hey, Rick (welcome to midihub forum)

Do you have a Midihub or are you checking out capabilities in case you might get one?
(dunno how in-depth to go)

Does “transpose controlled by using midi keyboard notes” mean – using say C3 as 0 – when you hold down D3 it transposes +2?
Or same but just when you hit the key (then stays at that transpose until you hit another)?

I assume the keyboard is not playing notes too?

I’m looking at a solution for a potential purchase.

I have a master keyboard that is just used for transpose. all sequences are programmed in the key of ‘C’ so pressing a note on the keyboard changes the transpose.
It works with modular and Ableton live, but there are other midi note sources that I need to also transpose in the same way.
one is the output of the Korg sq-64 sequencer cannot be transposed by external midi.
Would a midihub take the output and then transpose using the note value set by the keyboard?

Also seen there are other effects it can do, that may be useful too.

operation is press the note on the keyboard and the value stays set regardless of note off.
say C3 is the root and E is pressed the transpose would be set at +4

How does the editor work with handling mapping a range?
I had a look at the editor, and the mapping bit (which isn’t enabled without the hardware) would show that.

Thanks for clarification.

The short answer is. Yes, but not directly.

Why not directly?

  • If you mapped a key to the Transpose Semitones property, it would respond to the velocity of that key…
    …and return to 0 (= -64 semitones) when you released.

  • Mapping values are taken directly (ie un-transformed) from a given DIN/USB IN.
    So, for example, a set of buttons each toggling to a different value/velocity, that would work.
    (I know this is not your set-up but it helps show the constraints when you’re doing it directly)

How indirectly?

In order to do something to an incoming value, then send it back in to be picked up as a mapping,
many users employ a loopback; sending a cable-out back-in or patching Midihub to itself via a PC|Mac|rPi patchbay.

Then it's not hard:

the mapping set-up loop would look like this:

[EDIT: line 1 below incorrect – should be D.LOOPBACK → D.LOOPBACK.
KEYS → D.LOOPBACK should be separate line ]

the key pipe is highlighted; a note is transformed to a CC (here ch16 CC101) with its value set to the note number.
(the Transpose is just to set C4 → 64 → 0 Transpose, the filters to ensure only notes get in and CC gets out)
When this comes back into Midihub, it will set the Sequence Transpose (the one with the green corner)


So Midihub will do this. And much, much more. Not a purchase you’ll regret!

1 Like

Thanks for the reply.

there is more to my setup but I just isolated what I put to just deal with the issue to be solved.

I have everything going through an iconnectivity mioxl.
if I put a midihub on one the usb ports of the mioxl then it will power it, and allow a loopback to be created.

everything going through an iconnectivity mioxl

Yeah, with that set-up you’ve got the flexibility to use any of the in-outs for a loop.

Got a used MidiHub from a guy in the same discord / twitch streamer (Golden Shrimp Guild) and now just got it working for this!

1 Like

Cool, post it up!



GSG.live looks interesting.
thx for that

so this is how it’s currently working:
Midihub sq-64 Transpose

From c is the input of the v49 keyboard which gets filtered and transformed to CC > then goes loopback from DIN B to DIN B (physical cable)
SQ-64 input DIN A > notes from sq-64 get transposed from cc in loopback mapped to the transpose > output DIN A to synths

The midi keyboard I have going through the midihub is the Alesis v49 original
I did find out how to change the midi channel on it. but it was clunky and didn’t show what it’s changed to.
I’d like to expandi on the patch for transposing the sq64

I’ve got a eurorack sequencer (Winter-Modular Eloquencer) with DIN, using 8 midi channels for the 8 tracks it has

I want to use the pads on the v49 to now change to allow playing notes to a specific eleoquencer track, or back to the transpose

Transpose SQ-64 (as midihub patch currently does really well, but only does this so far)
Eloquencer midi channel 1
Eloquencer midi channel 2
Eloquencer midi channel 3
Eloquencer midi channel 4
Eloquencer midi channel 5
Eloquencer midi channel 6
Eloquencer midi channel 7
Eloquencer midi channel 8

as there are 8 pads, then assign each pad to the eloquencer tracks
(the pads can be set to momentary or toggle in the editor software alesis provide and run on set fixed channels regardless of what the keyboard is set to)
when no pad is selected (all deselected) then it goes back to transpose the sq-64

Hey, Rick

Just noticed that your B → B loop is going to be in feedback!

(check it out by adding a MIDI_B_IN and watching MIDI Monitor. Plus your B LEDs must be going crazy)
My mistake: my diagram (post 4) should’ve been D.LOOPBACK → D.LOOPBACK so the safety filters happen inside the loop.

(so then you just have a C → B line to feed into the B-loop)



First thought on the Eloquencer channel aim is to set up a second B-loop line.

This line only lets in CC within an 8 CCid range:

  • say 63-70 if your V49 pads have to have different CCs
  • just say 62 if you can set pads have same CCid but have different values.

BUT thereafter it all depends on whether the V49 sends 0 on toggle-off.

If so, the basic plan is to

  • create a C → Channel Remap → Eloquencer line
  • B-loop2: Transform 0 values into a Bypass-off for your “Transpose lines” & non-0 values to Bypass-on
  • B-loop2: Transform non-0 values to a Channel Remap mapping CC
  • B-loop2: Transform non-0 values into a Bypass-off for your “Channel Remap line” & 0 values to Bypass-on

So this should shut off your “Transpose lines” while-ever a pad is on and open up ( & set) a simple Channel Remap line (and vice versa)…

BUT there are issues here…
…cos (in logic terms) this is not the same as “when no pad is selected (all deselected) then it goes back to transpose the sq-64”

Whether it makes a difference in practice depends on what’s happening with sq64, keys and pads…



btw, can you switch off V49 pads remotely by sending a MIDI message? (unlikely)