Chord TX Mode gemerate or other solutions

How it works

kleini1
the pipelines in brief

  1. the set-up line: a triad comes in, a “base identifier message” Note On|Off and two mappings go out

  2. the “base identifier message” Note On is delayed by 1ms (explained later)

  3. the “base identifier message” Note Off is passed through

  4. “base identifier message” Note On|Off are Transposed by semitones set by the two mappings from line 1. These create the “unique identifier message” Note On|Off

  5. These “unique identifier messages” are then each Transformed into the desired notes for output as seen in the previous post

  6. This is a temporary line. It provides a comparison copy on Ch16 of the incoming chord.
    This makes it easier to compare the incoming triad with its unique identifier message to know how to set up the final Transform
    When finalised, it will be disabled/deleted

the set-up line

  • The Dispatcher sorts the chord into Ch1,2,3

  • the 2nd note on Ch2 is Transformed into CC102 value=Note Number
    …this is then scaled to make a step of 10 units for Transpose1 later

  • the 3rd note on Ch3 is Transformed into CC103 value=Note Number
    …this has a (disabled) Rescale to shift it if necessary for Transpose2 later

  • The Note Offs for notes 2&3 are Dropped so…

  • …the only note left should be the Root on Ch1:

  • This is remapped to spread the root notes over steps of 8…
    …allowing for a special last Transform that puts the notes on different channels and sets their Note Number all to a “base identifier” number of 64 (middle of the range)

This “base identifier” will be shifted by a combination of the two Transposes (think of these like adding 10’s and 1’s) to the base to get a different number for each triad…

…but to make sure the Transposes are mapped and ready before the Note On arrives, I put in the Delay you see in line2

Here’s the patch for you to start testing:

kleini_triad_identifier.mhp

Caveats:
It has only been tested a little for a few root notes and chord shapes. Be aware: I/you may discover errors in my scaling arithmetic (often the case!)

Set the Dispatcher Chord Grace Period to suit your playing skills

Note that any stray note will likely set the Dispatcher out of sequence. Disabling/Enabling it will set it right. (To stop this being a performance issue is not trivial, however.)

I will continue testing and upload corrections if needed.

1 Like