Translate CC, keystroke, or single notes to chords

Hi. I do not own a Bome box or the MIDI Translator Pro software yet - but I’m seriously considering it - but trying to figure out if it can do what I need before I purchase :-). I use a Line6 Helix Rack to control a Korg Wavestate synth module. The Helix can send CC messages or keystrokes when changing a snapshot or preset. I would like to be able to have that tricker a chord on the Wavestate i.e., a cc or keystroke message in (to the Bome box) and a chord out. So for instance sending keystroke A to the Bome box and having the Bome box sending notes A, C and E to the Wavestate. In other instances, I can send a note out from the Helix but would like to change that to a chord. So e.g. sending any note to the Bome box and having the Bome box sending a minor chord with that root note to the Wavestate. Is this possible? Hope you can help and thanx in advance.

1 Like

Hi and welcome to the Bome community!

You would need both BomeBox and Bome MIDI Translator Pro. The Bome MIDI Translator Pro project would handle the translation when running on BomeBox. You would develop the project file on PC or Mac and when you have it working, upload it to your BomeBox.

I have a simple example attached here were you type in the root note and the major 3rd and 5th are generated as chords. I have protection so that if the 3rd or 5th falls greater than note 127 (highest note in MIDI) then nothing sounds.

Here are the rules in the translators:

// input note is root note pp
//add third to tt
tt=pp+4
// add fifth to uu
uu=pp+7
// if either third or fifth is out or range, then ignore
if tt>127 then exit rules, skip Outgoing Action

The example is very simplified. You could probably use modifier keys to enable different presets for things like minor, dominant 7th, major 7th, etc.

Also in my simple example, the the root is always the lowest note. You might add ways to change it to allow for chord inversions. All of this logic would be done in rules.

Note-to-Major Triad.bmtp (1.6 KB)

Steve Caldwell
Bome Customer Care


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

I’m in almost the exact some boat! In addition to just triggering one chord with a single note, I would very much like to be able to trigger a series of chord, by the same logic usage. For example, it would be ideal to have, say, C4 trigger an Amin chords, then subsequently have D4 trigger a Cmaj and so on. I’m kind of assuming that this process would be the same once you have the midi translation doing that for a single note and chord, but I just want to be sure I’m not completely missing something.

We you ever able to crack this code?

Thanks in advance!

It is not difficult, but could be rather time consuming. The first thing you would need to determine if what MIDI modifiers would be needed to alter the chord type (ie. Major, Minor, etc), what modifiers you would use to do chord inversion and so forth. Then the preset structure you need to alter the behaviour.

Steve Caldwell
Bome Customer Care


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

Good evening, Steve,

I’m new to BMTP and the forum, so I’m probably tacking this question onto a current thread in the incorrect manner–please correct me.

I am wondering about the assignment of variables, where can I learn more about this feature? Are you choosing any two letters as the variable or do each have specific meanings in MTP? If I chose to calculate a seventh note could I choose “ss” as in:

// add major seventh seventh to ss

tt=pp+4

uu=pp+7

ss=pp+11

My hope is to set up presents for various songs in MTP to recevie foot pedal midi messages from Nektar Pacer and return a variety of seventh chords and their inversions.

Thanks,

Erik

Hi and welcome to the Bome community!

You can read about variable in the user manual. Press F1 or go to the help menu while in Bome MIDI Translator Pro.

Essentially there are 10 local variables. These variables
are private to a given incoming trigger which means you can use them in a lot of places without interfering with the same global variable in another translator (if it has a different incoming trigger). They are:

oo,pp,qq,rr,ss,tt,uu,vv,ww, and xx.

They have no initial value so you have to set them, either in the incoming trigger or in a rule within the translator.

You cannot share them across translators and their value does no persist.

All variables are two letters starting with o-z and ending with o-z or 0-9.

Global variables share their name and value across translators and are primarily used to communicat between them. Their initial value is 0 until it is otherwise set. Care must be taken to not try to set them by two translators simultaneosly. Usually I designate a single translator to set their value and allow multiple translators to read their value.

I hope this help and yes, I’m sure you will be able to get chords working with your Pacer.

Steve Caldwell
Bome Customer Care


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