Send all incoming midi to a specific note

Hello all, Im trying to emulate Akais “16 levels” function using my ipad.
I’m successful so far yet i cant figure out how to send all incoming midi to a specific note.
Any suggestions?
Thanks
:wink:

Hi and welcome back!

The attached should help get you started.
The first preset is responsible for setting the appropriate global variables at project open or a specified keystroke.

The second preset has 3 translators as follows
1.0 Toggle on or off the 16 level functionality. Sets the level to minimum if toggled on

1.1 Suppresses Note-off message when 16 level button is released

I wasn’t sure what MIDI message was used for toggling 16 level so I just picked note 0 on the defined incoming MIDI channel (ge)
1.2 Does all of the heavy lifting. Looks for note-on or note-off messages on the defined incoming MIDI channel within the defined note range. For note-off, we pass through the note-off message with the defined note number (gg). For note-on we increment the velocity counter until we get to max (ga=8) than then start over. We calculate the outgoing velocity as ga*2 and put it into qq. We set the outgoing MIDI channel (gb) and note number (gg).

Here are the rules

// 16 channels active
if gf==0 then exit rules, skip Outgoing Action
// value within range
if pp<gc then exit rules, skip Outgoing Action
if pp>gd then exit rules, skip Outgoing Action
// Is it on the assigned incoming channel?
rr=oo&15
if rr!=ge then exit rules, skip Outgoing Action
// Determine if note on or note off
rr=oo&240
if rr!=128 then Goto "note-on"
Goto "note-off"

Label "note-off"
// Set outgoing MID channel
rr=oo&240
rr=rr|gb
Goto "done"

Label "note-on"
// check velocity
// Velocity of 0 is note-off
if qq==0 then Goto "note-off"
// increment velocity counter
ga=ga+1
// cycle at high note
if ga>16 then ga=1
// set outgoing velocity
qq=ga*2

Label "done"
// set outgoing channel
rr=oo&240
oo=rr|gb


I have my aliases set as follows.

image

I also have a MIDI thru path so that everything passes through if it is outside of scope of 16 note messages or 16 note operation is off.

image

16-level-2023-01-19.bmtp (2.8 KB)

Steve Caldwell
Bome Customer Care


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

Wow…
Thank you…
:+1:t5::+1:t5:

Hi Steve,
Thanks again for your help.
Unfortunately I am receiving the following error.
I sent a screenshot.

A.M. Dunlap

Are you using MIDI Translator Classic or Pro? It will only work with Pro. What version are you using?

Oh…
The Classic free version.

You can try it with a trial copy of the Pro version and then if it works, you can decide whether to purchase it. The Pro trial version if fully functional however it times out every 20 minutes.

Also, I did a bit of checking. I don’t have a MPD16 but have a MPD232 that has the16 level function. I found that it is different than I thought while reviewing the documentation. It does not rotate velocities as I thought, but it sets the outgoing velocity depending on the pad you press. With that, here is another version that emulates that behavior.

16-level-2023-01-19a.bmtp (3.4 KB)

Steve Caldwell
Bome Customer Care


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

I actually have the velocity workin6at increments of 8 (08-127).
Now I simply need 16 translator to send the midi to the correct pad (Midi note)

If you post your project file, I will have a look. The trick will be that you will need to have some way to enable/disable this functionality, however without a rules, capability, (not available on classis) I’m not sure if you will be able to do that.

Steve Caldwell
Bome Customer Care


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

This format might work. I just added 2 pads, not all 16. You can add the rest, I used a specific MIDI message to switch presets but you may need to change it to what you want.

16-Level-Classic-2023-01-19.bmtp (544 Bytes)

Steve Caldwell
Bome Customer Care


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

The latest example you sent is exactly what I have already.
Here is my setup.
I have on my iPad 16 pads all sending the same Pitch & Channel info.
Each pad is set to a different velocity in increments of 8 (8-127).
I think i would need 16 translators that Transform the pitch info yet pass the channel and velocity info.
These would be selected using the “Next preset” translator.
Does that sound correct?

Hi,
Please find the attached. You will need to complete Pad4-Pad16 Note Off messages.
Also, depending on the note-off format of your controller, you might need to change the incoming messages for all note-off translators.

16-Level-Classic-2023-01-20.bmtp (3.5 KB)

Steve Caldwell
Bome Customer Care


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