Chord TX Mode gemerate or other solutions

That’s very impressive, thank you very much. I can’t fully follow the content, but I will try out the test patch tomorrow.

I have the following questions:

  • Theoretically, should all chords work, or should I only test the five per row that I visualized in the screenshot?
  • Where can I see where the root note is being sent?
  • I’ve made a screenshot showing the notes and the octave that need to be triggered (different octaves for major, minor, dominant seventh, and diminished chords).
  • Lastly, Channels 1 and 3 are occupied by other MIDI commands from the accordion. Will the final note be sent back to Channel 2, or which MIDI channel should I assign to the expander? 16?

I’m not sure I understand all of this; I’ll have another look later.

ignore this- see post 25

in the meantime, it looks like my arithmetic might not be right: the following chords give the same identifiers:

  • 7.D#7 → [‘F#4, B4, D5’, ‘F#4, C5, D5’]
  • 7.E7 → [‘F#4, B4, D#5’, ‘F#4, C5, D#5’]
  • 7.F7 → [‘F#4, B4, E5’, ‘F#4, C5, E5’]
  • 7.F#7 → [‘F#4, B4, F5’, ‘F#4, C5, F5’]
  • 8.D#7 → [‘G4, B4, D5’, ‘G4, C5, D5’]
  • 8.E7 → [‘G4, B4, D#5’, ‘G4, C5, D#5’, ‘G4, C#5, D#5’]
  • 8.F7 → [‘G4, B4, E5’, ‘G4, C5, E5’, ‘G4, C#5, E5’]
  • 8.F#7 → [‘G4, B4, F5’, ‘G4, C5, F5’, ‘G4, C#5, F5’]
  • 8.G7 → [‘G4, C5, F#5’, ‘G4, C#5, F#5’]
  • 9.D#7 → [‘G#4, B4, D5’, ‘G#4, C5, D5’]
  • 9.E7 → [‘G#4, B4, D#5’, ‘G#4, C5, D#5’, ‘G#4, C#5, D#5’]
  • 9.F7 → [‘G#4, B4, E5’, ‘G#4, C5, E5’, ‘G#4, C#5, E5’, ‘G#4, D5, E5’]
  • 9.F#7 → [‘G#4, B4, F5’, ‘G#4, C5, F5’, ‘G#4, C#5, F5’, ‘G#4, D5, F5’]
  • 9.G7 → [‘G#4, C5, F#5’, ‘G#4, C#5, F#5’, ‘G#4, D5, F#5’]
  • 9.G#7 → [‘G#4, C#5, G5’, ‘G#4, D5, G5’]

This comes from a checking script so I may have just gone beyond the preset’s ranges
If none or only one of your triads appear in any one of the rows, however, then I don’t need to bother.

should all chords work, or should I only test the five per row that I visualized in the screenshot?

yes I’m hoping that my settings will cover all your 60 chords

TLDNR

Take a close look at the Rescales in Line1 and the Note Remap:

  • the Note Remap is set to work for Root Notes 60-68 C4-G#4 ultimately mapping these notes to Ch1 - Ch9.
    This distinguishes chords at the first level of branching as it were.

  • The Rescale Ranges set the Transposes for the 2nd and 3rd level distinction

  • these are currently:

  1. 62-71 equiv to D4 - B4, and
  2. 65-72 equiv to D#4 - C5
    (although this one is left disabled as it will, unscaled, map to Transpose +1 → +8, which seemed fine to me)

Where can I see where the root note is being sent?

I don’t understand: the preset only deals with chords and all 3 original notes are removed in the process


notes and the octave that need to be triggered

This sounds like a different task - or I’ve misunderstood!


final note be sent back to Channel 2

See note about Channel Remap:

So, you get to choose

That’s really great! I’ll check it tomorrow and I’m very excited. For your reference, I’ve copied out where the target notes are:

  • Row 1 Major – Notes 48-59
  • Row 2 Minor – Notes 60-71
  • Row 3 7th – Notes 72-83
  • Row 4 Diminished – Note 84

I’m looking forward to it and will get back to you tomorrow. Thanks in advance!

Re-checked my script, each triad does give a unique identifier after all.

table...

…with 125 triads

triad uid
C4, D4, E4 Ch1.C-1
C4, D4, F4 Ch1.C#-1
C4, D4, F#4 Ch1.D-1
C4, D4, G4 Ch1.D#-1
C4, D4, G#4 Ch1.E-1
C4, D#4, F4 Ch1.B-1
C4, D#4, F#4 Ch1.C0
C4, D#4, G4 Ch1.C#0
C4, D#4, G#4 Ch1.D0
C4, D#4, A4 Ch1.D#0
C4, E4, F#4 Ch1.A#0
C4, E4, G4 Ch1.B0
C4, E4, G#4 Ch1.C1
C4, E4, A4 Ch1.C#1
C4, E4, A#4 Ch1.D1
C4, F4, G4 Ch1.A1
C4, F4, G#4 Ch1.A#1
C4, F4, A4 Ch1.B1
C4, F4, A#4 Ch1.C2
C4, F4, B4 Ch1.C#2
C4, F#4, G#4 Ch1.G#2
C4, F#4, A4 Ch1.A2
C4, F#4, A#4 Ch1.A#2
C4, F#4, B4 Ch1.B2
C4, F#4, C5 Ch1.C3
C#4, D#4, F4 Ch2.B-1
C#4, D#4, F#4 Ch2.C0
C#4, D#4, G4 Ch2.C#0
C#4, D#4, G#4 Ch2.D0
C#4, D#4, A4 Ch2.D#0
C#4, E4, F#4 Ch2.A#0
C#4, E4, G4 Ch2.B0
C#4, E4, G#4 Ch2.C1
C#4, E4, A4 Ch2.C#1
C#4, E4, A#4 Ch2.D1
C#4, F4, G4 Ch2.A1
C#4, F4, G#4 Ch2.A#1
C#4, F4, A4 Ch2.B1
C#4, F4, A#4 Ch2.C2
C#4, F4, B4 Ch2.C#2
C#4, F#4, G#4 Ch2.G#2
C#4, F#4, A4 Ch2.A2
C#4, F#4, A#4 Ch2.A#2
C#4, F#4, B4 Ch2.B2
C#4, F#4, C5 Ch2.C3
C#4, G4, A4 Ch2.F#3
C#4, G4, A#4 Ch2.G3
C#4, G4, B4 Ch2.G#3
C#4, G4, C5 Ch2.A3
D4, E4, F#4 Ch3.A#0
D4, E4, G4 Ch3.B0
D4, E4, G#4 Ch3.C1
D4, E4, A4 Ch3.C#1
D4, E4, A#4 Ch3.D1
D4, F4, G4 Ch3.A1
D4, F4, G#4 Ch3.A#1
D4, F4, A4 Ch3.B1
D4, F4, A#4 Ch3.C2
D4, F4, B4 Ch3.C#2
D4, F#4, G#4 Ch3.G#2
D4, F#4, A4 Ch3.A2
D4, F#4, A#4 Ch3.A#2
D4, F#4, B4 Ch3.B2
D4, F#4, C5 Ch3.C3
D4, G4, A4 Ch3.F#3
D4, G4, A#4 Ch3.G3
D4, G4, B4 Ch3.G#3
D4, G4, C5 Ch3.A3
D4, G#4, A#4 Ch3.F4
D4, G#4, B4 Ch3.F#4
D4, G#4, C5 Ch3.G4
D#4, F4, G4 Ch4.A1
D#4, F4, G#4 Ch4.A#1
D#4, F4, A4 Ch4.B1
D#4, F4, A#4 Ch4.C2
D#4, F4, B4 Ch4.C#2
D#4, F#4, G#4 Ch4.G#2
D#4, F#4, A4 Ch4.A2
D#4, F#4, A#4 Ch4.A#2
D#4, F#4, B4 Ch4.B2
D#4, F#4, C5 Ch4.C3
D#4, G4, A4 Ch4.F#3
D#4, G4, A#4 Ch4.G3
D#4, G4, B4 Ch4.G#3
D#4, G4, C5 Ch4.A3
D#4, G#4, A#4 Ch4.F4
D#4, G#4, B4 Ch4.F#4
D#4, G#4, C5 Ch4.G4
D#4, A4, B4 Ch4.E5
D#4, A4, C5 Ch4.F5
E4, F#4, G#4 Ch5.G#2
E4, F#4, A4 Ch5.A2
E4, F#4, A#4 Ch5.A#2
E4, F#4, B4 Ch5.B2
E4, F#4, C5 Ch5.C3
E4, G4, A4 Ch5.F#3
E4, G4, A#4 Ch5.G3
E4, G4, B4 Ch5.G#3
E4, G4, C5 Ch5.A3
E4, G#4, A#4 Ch5.F4
E4, G#4, B4 Ch5.F#4
E4, G#4, C5 Ch5.G4
E4, A4, B4 Ch5.E5
E4, A4, C5 Ch5.F5
E4, A#4, C5 Ch5.D#6
F4, G4, A4 Ch6.F#3
F4, G4, A#4 Ch6.G3
F4, G4, B4 Ch6.G#3
F4, G4, C5 Ch6.A3
F4, G#4, A#4 Ch6.F4
F4, G#4, B4 Ch6.F#4
F4, G#4, C5 Ch6.G4
F4, A4, B4 Ch6.E5
F4, A4, C5 Ch6.F5
F4, A#4, C5 Ch6.D#6
F#4, G#4, A#4 Ch7.F4
F#4, G#4, B4 Ch7.F#4
F#4, G#4, C5 Ch7.G4
F#4, A4, B4 Ch7.E5
F#4, A4, C5 Ch7.F5
F#4, A#4, C5 Ch7.D#6
G4, A4, B4 Ch8.E5
G4, A4, C5 Ch8.F5
G4, A#4, C5 Ch8.D#6
G#4, A#4, C5 Ch9.D#6
1 Like

Here is a Video with my Setup auf the Problem with the midihub

Routing: Accordion - Midihub - Miditemp M8 - Soundexpander - Mixer

What are the Channel Remap’s parameters? It’s filtering out the notes from the output, and/or sending them to a different channel than you expect.

1 Like

Tobias, you have been sent the start of the work:

one:

There are are only two pipes written for two chords in the demo preset.
Your task is to write the others you want.
see example back here

the triad C4-Eb-G → (identifier message) Ch1 B0 → desired note C4

two:

As @Giedrius has just asked what Channel output is the Channel Remap set for?
I left it at Out = 1

so, three:

we should expect you to get notes for C4EG and C4EbG at present. everything else will be silent until you write each necessary “identifier message” → “desired note”

Use the table above to help.

PS. if you disable the Ch Remap you will hear the unTransformed “identifier messages”, which will be weird :smile:





This is not a simple preset, Tobias, even for more experienced users.

It will take a little time to get your head around what it does.
I hope a careful read through my notes (posts 19 & 20) –all the while testing and watching the monitor –may help.

Final trivial thing for now:

I’m on PAYG mobile router :slightly_frowning_face: while waiting for my phone line to be fixed so I’ll leave any more vids for @Giedrius or someone else to download.

Gotta go and feed my carrier pigeons :hatching_chick:

Hello,

I am extremely excited. It definitely works wonderfully for the C major chord, as the corresponding sample note is triggered correctly. However, for the minor chord, the same C is triggered, unfortunately. I assume the octave needs to be changed here.

To be fair, I have to admit that I have no real understanding of the project or the technology behind it. I’m a complete beginner in this area and rely on external help.

To finalize this issue, I still have the following questions:

  1. How can I change the octave so that the C minor chord is interpreted with the correct sample?
  2. Could you make a video tutorial showing me how to replicate all the other chords? Maybe you could add two more chords as examples so I can use them as a reference and adjust the rest accordingly.
  3. I’m still working with MIDI channel 3, where a bass sound is used for rows one and two. However, this no longer works when the guitar is triggered correctly—probably because channel 3 is being blocked or repurposed. Can you modify the system so that MIDI channels 1 and 3 simply pass through?

I am deeply grateful to you, and I believe we are on the right track. Many thanks in advance!

Good,
Now begins the careful work of adding each Chord_id → Note Transform.

setting your own Transforms

You are correct, both the existing Transforms give the same note which is a mistake.
Look at the Transforms’ parameters

and
Note my error –that both have C4 as Argument 1. So this is where you change to outgoing “true” note.

Note also the Work with Note... parameters lower down are set to B0 and C#0 respectively.
So this is where you set the incoming “chord identifier” note :asterisk:

How do you know what “chord identifier note” matches which chord?

  • Either by testing to see what note comes in (to that pipeline) when you play a chord
    and/or

  • by looking up the triad in the table I posted

:asterisk: Note also that the Work with Channel is set to 1 for these two examples.
The table shows that Ch1 is used for triads with C4 as the root.
Ch2 is used for all C#4 triads and so on.
So to tell a Transform which “chord identifier note” to work on, we must tell it both the channel and the Note…

The lowest root this patch is set for is C4. Decide now whether this is OK!

Incidentally, there is no need to put all your final note Transforms in one pipeline
You may wish to group them in some way across similar pipelines:

Here we have 4 similar pipelines all leading to a single Channel Remap.
This is perfectly safe without need for Note Range Filters or Channel Filters. These may add readability, however, when monitoring – depending on how you decide to organise the work.

1 Like

Is ist possible to send me the table as google sheet oder ExcelFile?

should load in Excel ( unsure cos I don’t use it)
kleini_triad_Table.csv

please check it covers all the triads you want.

if not settings will need to be changed (thereby making Transform work done thus far redundant!)

Hello Resonotter,
thanks for your help. I’ve thought about it again. I have 4 rows on the accordion, and each row represents major, minor, diminished, and dominant seventh. This means there are only 4 C chord possibilities, which can then end on C3, C4, C5, or C6. All other constellations do not exist for C. Could you take a look at my program and my list and confirm this for me?
kleini_triad_identifier_test.mhp (695 Bytes)
Table of notes.pdf (59.4 KB)

No, I would only expect a few of them to be relevant.

I can confirm that your incoming Indikationston match your outgoing Zielton in the four Transforms you have included in kleini_triad_identifier_test.mhp

As I generated the table just by sending chords in and MIDI Monitoring Virtual B-IN, I assume the triads that generated each Indikationston are also correct.

Have you tried this yourself?:
watching MIDI Monitor as you play a chord and seeing what (Ch1-9) Indikationston follows the Ch16 triad notes?

as in this pic I showed you yesterday

kleini0

The Dispatcher pipe in Chord mode resets its channel counter automatically as long as all the notes that passed through it get released. Toggling the Bypass parameter, or the Bypass parameter of the leftmost input pipe on the line can still be a good idea, if all note release can’t be guaranteed.

1 Like

Useful info; I noticed in @Kleini’s screenshot pdf in an earlier post, there were a couple of stray notes so it’s reassuring to know that the counter won’t get upset.

I haven’t tested on single notes, though, presumably they will get through with no extra notes to reset the Transposes? Hmmm…