One keyboard for multi-regional mapping including pedals and aftertouch

I am trying to create a setup like in the picture. I want a single channel to trigger different parts of many channels. I tried to show these yellow areas in the picture as an example.

I also aim to transfer each pedal to the desired areas of the desired channels. Another problem I encounter is; aftertouch or channel pressure messages are transferred to the existing channel instead of the forwarded channel. I would like to ask you what my approach should be to create the setup in the picture in the best possible way. Of course, already written codes will be accepted with pleasure. :slight_smile:

Hi and welcome to the Bome community!

Please find the attached. I may have got the key numbers slightly off. The are defined in the rules of preset 0 translator 2 (0.2)

// keyboard lowest note 61 key MIDI CH1 Start
ga=36
// MIDI CH 2 starts
gb=ga+16
// MIDI CH 3 starts
gc=gb+15
//MIDI CH 4 Starts
gd=gc+10
// end
ge=gd+21

Preset 1 has 3 translators

  • 1.0 handles mapping of note messages, the rules control the directed channel number to send to
  • 1.1 handles Polyphonic key pressure. It is also mapped to the the appropriate channel
  • 1.2 handles channel key pressure. Since this is not note specific, it goes to channels 1-4

Preset 2 handles the Launch Pads. I set up input routing per translator but if they are identical, the system may not know which is which

Preset 3 handles the sustain pedals. Again I targeted the input device

For more information about device selection, seethis tutorial.

I set up aliases for all of the equipment. Since I don’t have your equipment I assigned them all to BMT virtual ports.

You can learn more about aliases from this tutorial.

Not 100% complete but should be enough to get you started.

If I got the note numbers wrong, then the only place you would need to change them (it is done by math) is in the rules of translator 0.3.

multi-channel-keyboard routing.bmtp (3.3 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you very much for your answer. But the aliases and the method seemed very complicated to me. Spent a lot of time but did not get it. In fact, I can solve most of the things I want on my own, but I can only achieve results by using too many presets and translators. Are there any preset and translator limits to avoid latency? For example, will 20 presets, each with 40 translators, cause any delay? I’m asking for opinions, of course the numbers may not match exactly.

My second question is, besides the presets, is there a way to activate each translator with cc messages?

Thanks for all

| SteveC Steve staff
May 3 |

  • | - |

Hi and welcome to the Bome community!

Please find the attached. I may have got the key numbers slightly off. The are defined in the rules of preset 0 translator 2 (0.2)

// keyboard lowest note 61 key MIDI CH1 Start
ga=36
// MIDI CH 2 starts
gb=ga+16
// MIDI CH 3 starts
gc=gb+15
//MIDI CH 4 Starts
gd=gc+10
// end
ge=gd+21

Preset 1 has 3 translators

  • 1.0 handles mapping of note messages, the rules control the directed channel number to send to
  • 1.1 handles Polyphonic key pressure. It is also mapped to the the appropriate channel
  • 1.2 handles channel key pressure. Since this is not note specific, it goes to channels 1-4

Preset 2 handles the Launch Pads. I set up input routing per translator but if they are identical, the system may not know which is which

Preset 3 handles the sustain pedals. Again I targeted the input device

For more information about device selection, seethis tutorial.

I set up aliases for all of the equipment. Since I don’t have your equipment I assigned them all to BMT virtual ports.

You can learn more about aliases from this tutorial.

Not 100% complete but should be enough to get you started.

If I got the note numbers wrong, then the only place you would need to change them (it is done by math) is in the rules of translator 0.3.

multi-channel-keyboard routing.bmtp (3.3 KB)

Steve Caldwell
Bome Customer Care

You should learn them and use them. Trust me, in the long run, you will really need them.

You can learn more about aliases from this tutorial.

Not usually. Sometimes they are optimized to process in parallel to avoid latency.

No, you can only enable and disable presets. With that said, you can stop further translators down the list from processing by using a translator’s stop processing option.

For me, I tend to use more rules and less translators as it makes it quicker to change things. For instance I can have single translator with rules that can control 8 faders. You can also use rules at the beginning by checking a given condition and then use the rule ‘exit rules, skip outgoing action’.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Two more question;

1- Can I use one single perform action independently for specific virtual outputs or I have to create each perform for different outputs in init section. Can you show me?

2- What is the simplest way of sending a note on from channel 1 to multi channels(ch1, ch2, ch3, c4) in the same time with using rules in a single translator?

Thanks

You can call multiple performs within the rules of a single translator. Each translator output targets a give port or in some cases multiple ports. You can use multiple translators and a parameter for each indicating which ports you want to send to. For instance say, you have translators with the same perform action each targeting a separate port. You only want one to fire depending on the parameter.

The first perform translator could say, use the value of pp as the parameter passed and would have a rule like this.

if pp!=0 then exit rules, skip outgoing action

The second and third may say
if pp!=1 then exit rules, skip outgoing action
if pp!=2 then exit rules, skip outgoing action

So if you pass the value of 0,1, or 2 as parameters only one translator would execute.

The simplest is probably raw midi

Say you want note-on MIDI CH 1 any note set note to pp and value to qq

On output if you wanted to send to CH1,2 and 3 the raw MIDI data would be this. (If passing the same note number and velocity).

90 pp qq 91 pp qq 92 pp qq

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz