Yes, that makes sense to me, and I understand. However, the buttons on the accordion do not only send one channel with a note but two channels, each with the same note. It would be better if each button sent only one channel with a single note.
Iām not seeing the link here:
Midihubās Dispatcher doesnāt care about the incoming channel of a chord.
The āIndikationstonā produced, however, is deliberately channel specific as explained.
I think I recall you saying (itās a while back now) that the ch2 Riehe 3-6 were the ones you were interested in.
Do you now want to do something additional with Ch1 Riehe 1-2?
To ensure only Ch2 enters the Dispatcher, just place a Channel Range Filter before it.
Now going to take a closer look at your presetā¦
SORRY! just realised you uploaded the pdf again. Please upload the preset that you screenshots show.
Iām not currently at the place where the Midihub is. I still only want to work with rows 3-6. Sorry, the labels on the images are incorrectāRow 1 is actually Row 3.
What matters to me is that in Row 3, Button 1 and Button 2 are outputting two indication tones:
- Button 1: Ch4 G3 & Ch7 G3
- Button 2: Ch3 C2 & Ch2 C2
For Button 3, itās correct, as Iām only getting one indication tone:
- Button 3: Ch1 D0
I think Iāll wait to see the actual preset, if you donāt mind!
kleini_triad_identifier_Klein.mhp (1.1 KB)
Thanks.
I donāt have any quick answer for you and am puzzled by
because Ch7 G3 and Ch2 C2 are not in the table of Indikationston!
Neither is it possible (AFAIcansee) for one chord to output two notes.
Which chords are Button 1&2 producing?
by the way
I went through the Transforms so far and put the settings in the Description
here it is for reference
#ch1
B0āC3, C#0āC4, D1āC5, C0āC6
#ch2
B0āC#6, C1āC#4, A#1āC#3, C#2āC#5,
#ch3
A#1āD6, B1āD4, A2āD3, C3āC5
#ch4
A2āD#6, A#2āD#4, G3āD#3, F4āD#5,
#ch5
G3āE6, G#3āE4, F#4āE3,
#ch6
F#4āF6, G4āF4, F5āF3,
#ch7
F5āF#6
If a Indikationston is not picked up by the banks of Transforms it will proceed with itās channel 1-7 until it reaches the Virtual C ā Channel Remap ā MIDI A line when it is removed
Yes, I thought so too, but it regularly happens with different notes. In this case, it would be Bb major and Eb major.
See extra notes just added to prev post.
Now I note that youāve got two stray lines at the bottom.
I donāt know what these are for.
They might be interfering with your output.
Which Bb/Eb Major chords? I need to be sure so I can try to replicate?
Lemme check the tableā¦
UPDATE:
AFAIK, Bm/A# Maj chord is not in the table and hence not covered by the preset.
I asked this
awhile back.
Now, D4 F4 A#4 ā ch3.C2 is in the table but thatās an inversion of Bm/A# Maj
SOooo, I think we might have two issues here:
-
I need to know the precise notes values (preferably as Note Numbers so thereās no ambiguity) entering MH MIDI A which seem to give these ādoubleā notes. Then I can track that down and if I can replicate. I cannot see how there can be an issue but itās now bugging me!
-
I will need to see a list of all the precise note triplets you will need. Itās starting to look like the assumed set of notes is too small (at present the root notes run from C4 ā G#4 (just)) and I need to redesign. This may not be a big deal but I wonāt be sure until I see the full range
This might be best to send as a MIDI monitor csv
(MIDI monitor: Settings⦠ā Export as CSV once you have set View ā Note Value Display ā Note Number)
This way, I can replicate exactly, including timings.
Do the same for the full triad list, please; itās easier to transfer than reading screenshots!
PS. My next available time to look at this will be Sundayā¦
The top button is Bb major, and the second one is Eb major. I can also check which three notes are sent from the chords when Iām back on-site, if that helps. The bottom two rows usually have no meaning. I can already display the indication tone before the transformation, and two of them are already showing up there.
Update:
Then I will write you a table with the following content: the required chord, and the notes that are output on each respective button. Is that enough? After that, I could read out the indication tone, set the transformation, and input the target tone. Do you need any other information? Iāll need some time until I have all the data, as I have to press all the buttons and then enter them into the table.
See extra notes in previous post!
All clear. I will select the input, press all the buttons one after the other, and send you a CSV file for each row. That will be a total of 4 CSV files. Iāll be away all weekend, but Iāll take care of it as soon as possible.
"Attached are the four CSV files.
Row 4 contains the major chords, row 5 the minor chords, row 6 the dominant seventh chords, and row 7 the diminished chords.
The order is always the same (from top to bottom):
Bb
D#
G#
C#
F#
H
E
A
D
G
C
F
Bb
Eb
Ab
Db
Gb
Cb
Fb
A
Each chord type is structured in this order for major, minor, dominant seventh, and diminished chords.
I left a 3-4 second pause between each note so you can see in the timeline when I pressed the next key.
I hope this works for you. If anything is missing, let me know!"
CSV.zip (6.6 KB)
OK @kleini, give me a little while to parse that.
By the wayā¦
Having suspected my original approach wasnāt going to cut it for your full range,
Iāve developed a better approach that will cover everything and doesnāt need a table to work out what the Indikationston will be for each triad:
Iām just documenting this now, but will take a pause and check your chords will work
Okay, I can mostly follow you. Can I rely on the indicator tones in column G of the Excel sheet being correct, or should I double-check the calculations? If you send me the preset, I can also test it myself.
In the Excel sheet, there seems to be an error in column H. The purple chords should be minor, right? Blue would be dominant seventh, and orange would be diminished.
I programmed everything; the patch is attached. I believe everything is working, but I still need to do a final check to ensure the chords are musically correct. Iām not entirely sure whether the correct notes are being triggered for the diminished chords.
Could you please take another look at my patch?
On channel 3, a bass is being played, and I want to transpose the notes A2 to B2 down one octave (to A1āB1) on channel 3. Where is the flaw in my logic chain below?
2025-04-09 Gitarre Midihub mit Bariton tiefer.mhp (2.0 KB)
This is the solution. Thanks a lot
For readers coming to this later, Kleiniās preset now takes any octave of root notes and calculates a unique āid noteā for each tri-chord based on based on the note.
it works as in this hint:
where..
- ..the lowest note dictates the Channel of the āid noteā
- ..the 2nd note decides its octave
- ..and the third note tells us what Note Name the āid noteā uses
This means that the same chord shape will give the same āid noteā, only the channel changes eg:
chord | gives | id note name |
---|---|---|
Em | ā | Ch1 D#1 |
Fm | ā | Ch2 D#1 |
F#m | ā | Ch3 D#1 |
The preset is quite intricate and itās probably not obvious how it works.
As it has some crazy potential for generative music, I may find the time to document it properly and put it up on Patchstorage.
In the meantime hereās the briefest of breakdowns.
The preset is in four sections
This is the main sectionā¦
ā¦where a tri-chord is turned into an id note.
The four mapped Transposes are the key here
This is the output sectionā¦
ā¦where @Kleini took the id notes coming from his chords and transformed them to the actual notes he wanted.
Note how each line deals with just one Note Number/Name with each Transform handling just one channel.
(We used Poly AfterTouch as a safety measure so no note got re-Transformed)
the third section is just for MIDI monitoring purposesā¦
ā¦to be able to check the incoming chord vs intermediary messages vs id note produced
This can be deleted
The final section is independent, allowing @Kleini to play bass notes direct from another bank of keys:
I will add a shaded version of the main section to point out pipes that can be safely modified
for those who want to adapt the preset
Apart from the entry Channel filter, the purple shaded pipes hereā¦
..are the only ones that might need changing.
-
Change the (unmapped) Transpose so that your lowest possible root note is adjusted up to middle E = 64.
(The whole system pivots around 64 as a reference point so incoming notes are shifted to align with this) -
Change the two shaded Rescales only if your use-case needs different ranges for note 2 or note 3 of the tri-chord
The preset is set so that each Note 2 has a range of 10 notes (on from the root)..
..and each Note 3 has a range of 12 notes (on from the 2nd)..
ā¦this gives 12channels x 10octaves of notes = 1440 tri-chords
Other adopters may prefer different combinations.
(With a little more work, a 4-chord version would be possible with say, 15 x 5 x 5 x 5 combinations)
for those who want to decode the preset
The mapped Transposes are the key:
The two Transposes on separate lines modify note 2 & note 3, respectively; preparing the final āoctave + noteā Transposes toward the end of the main block.
Further, see that Note 2 is Transposed according to a mapping derived from Note 1 ā¦
..and similarly..
.. that Note 3 is Transposed according to a mapping derived from Note 2.
It is this technique that gives us the ārelativeā ranges that make this new version work
mapped Transposes are also the reason why 64 is important as a reference point in this system!