Help creating a condition that outputs a midi note upon receiving multiple, simultaneous midi notes

I will start by saying I am brand new to Bome MTP and have been doing a lot of homework via this forum, videos, and playing around. This may be an incredibly simple thing, however I just can’t seem to wrap my head around how to build the set of conditions I need or how to break down the problem.

Task:

Three separate midi note-on messages that need to pass through if played individually, however, if all three are played at the same time Id like to output a completely separate midi note-on message.

Im not sure if this is possible but If anyone has attempted something similar I would love to pick your brain!

Hi and welcome to the Bome community!

The main issue is that it may not be entirely possible to hit more than one note at ‘exactly’ the same time. With that said, if you hit 2 or 3 notes within a few milliseconds, you can capture them and evaluate them a few milliseconds later.
Unfortunately, this means there will be some latency with your note-on messages due to this evaluation time. If you evaluate too long the latency will be unacceptable. If it is too short, it might not see it as a chord and play several notes instead. It is a delicate balance.

This is a bit tricky so I will see if I can build an example for you. Stand by.

Steve Caldwell
Bome Customer Care


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

This should get you pretty close

The first translator 0.0 sends a note evaluation input to the last 0.4 with a delay of gd ms.

If there is only one note then it sends it, however if there is more than one note, it determines the lowest note and sends it instead.

Translators 0.1 and 0.2 handle clearing a busy flag so that no more than one note is sent during the evaluation. We clear the busy flag 1 ms after the evaluation.
The evaluation time in ms is set in global variable gd in translator 0.0. I currently have it at 8 ms.

I hope this at least gets you started.

Translator 0.3 handles note off messages

For a newbie, you sure had a tough question!:smiley:

Any program that has to do chord evaluation will likely cause some latency. I you are very accurate with your timing on playing the chords you should be able to reduce the time it takes to do the evaluation.

Note-Evaluator-Perform.bmtp (2.9 KB)

Steve Caldwell
Bome Customer Care


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

This is tremendous! Thank you for your effort, genuinely. This is a perfect foundation for me to push forward on.

I don’t expect the latency to be a deal breaker. This is for a slightly off-the-wall show control application in an AV install. I will update this thread as I move forward and let you know where I land with it and, if I get it dialed, how it gets deployed in the field :slight_smile:

1 Like