Fixed Midi Value to Variable Midi Function

Hi, I am new to Bome Midi Translator and am looking for a midi scripting program to create a midi instrument which remaps the keys of a midi instrumental as interval functions rather than fixed values with pedals to enable, disable, and lock its function.

To explain, input Key C4 represents interval zero and has an initial output of C4. If no other intervals have been played, the output remains C4. If another interval has been played, the output is C4 plus or minus the interval that has been played. That is to say that the output of C4 changes after each non-zero intervalic transformation and continues to re-iterate that value with each articulation.

Then, in 12-tone et, C#4 as interval 1 would be a chromatic ½ step. If input C4 is in its initial state which outputs C4, the first press of key C#4 outputs C#4. After that press, key C4 outputs C#4, the second press of key C#4 outputs D4 (another half-step up). After that second press, key C4 translates to output D4, and this pattern continues for all positive intervals above C4, which is 0, and for all negative intervals below C4. A chromatic scale upward is played by pressing the key C#4 12 times and a chromatic scale downward is played by pressing the B3 key 12 times

A reset trigger is needed to bring the operation back to its initial value where input C4 outputs C4 and the intervalic transformation continues. Additionally, a freeze trigger is needed lock the instrument in a transposed state and disable subsequent transformation (eg. Input C4 is output C#4 but the inputs no longer act as interval functions, just as standard note inputs like on a regular instrument), and a disable trigger would serve to return the instrument to ordinary function at standard tuning, serving both the reset and freeze functions simultaneously.

A. Keys as intervals – Enable
Key C4 starting as Pitch C (or according to tuning) and functioning as interval 0
If 12 tone, then C#4 as interval 1 would be a chromatic ½ step. After the first press of key C#4, the pitch of key C4 becomes the pitch for C#4.
B. the B3 key 12 times Keys as pitches – Disable
Behaves like ordinary midi instrument in standard tuning
C. Keys as pitches after intervallic transformation – Freeze/Lock switch
Behaves like ordinary instrument in standard tuning but transposed according to the sum of intervallic transformations between the initial frequency value and the point of triggering the freeze function

I would also like it to handle multiple intervallic transformation simultaneously so that after the first set of transformations, the next set of transformation acts upon the values resultant from the first transformation rather than on the initial frequency orientation.

For instance, if the first input from a piano is the chord Cmajor7 played in root position from C4,E4,G4,B4, could one specify either a single note or a set of notes on which to perform the next transformation? There seem to be several possibilities, and I see value for an improviser to be able to navigate each of them using pedals. As I currently see it, the next set of transformation could act either on the value of the final note, on the collection of all notes (modulating the Cmajor7 chord as a whole), or on each of the four notes in individual by order of input. These pedals would work in addition to the sustain pedal.

Please let me know if this is something Bome Midi Translator would be capable of!
The prospect of being able to implement this functionality in a standalone box is very interesting and valuable to me.

Thank you,


Hi, and welcome to the forum. Your request is beyond the scope of free support here, however I will help get you started.

Interval-2021-04-21.bmtp (4.0 KB)

Please find the attached project file.
I use the global variable ga as determining the interval 0 note (initially C4 or 60)
The global variable gb is the current interval -11 to +11

The target interval 0 note +1 will increase the interval by 1 up to 11 (translator 1.1)
The target interval 0 note -1 will decrease the interval by 1 up to -11 (translator 1.2)
Translator 1.3 ensures note off messages are send when releasing the note
Translator 1.4 suppresses note going through the default MIDI route when interval mode is set.

Pressing note 48 will put you in normal mode. It does this by disabling the “Interval” preset and allowing the default routes.

Pressing note 49 will put you into interval mode. It does this by enabling the preset “Interval”.

Pressing note 50 will allow you to set a new interval 0 note. It does this by enabling the “Set Interval 0” preset. The next note you press will be the new interval 0 note and then put you back into “Interval” Mode (Translators 2.0 and 2.1)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thank you so much for your prompt response and for some direction as to understand how to proceed. The support is very much appreciated. I will likely reach out to you by email as well in reference to your paid services as I study what you have just shared.

Best wishes,


Also, once you get the project working, if you have purchased BomeBox and have a paid license of MT Pro, you can transfer the project to your BomeBox for execution without a computer.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Yes, thank you. I have purchased MT Pro and will purchase the BomeBox as soon as I get an operational model after elaborating on the direction you have pointed me in. I sent an email to the address for your paid services as well and may avail you of the support after done some tinkering of my own.


Sounds good and thanks for your purchase. I have not yet seen your email but will reply when I see it.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: