la-jarre-a-son / midi-jar

MIDI Jar is a tool box for musicians, learners, streamers, that want to route MIDI message between devices, and display a piano or chords while playing, and integrate it on a video or on a Twitch stream.
http://midi-jar.ljas.fr/
MIT License
77 stars 9 forks source link

Chord Display keyboard range #12

Open MusicMan74 opened 1 year ago

MusicMan74 commented 1 year ago

Hello and thanks for Midi Jar!

It would be very practical IMO to have a chord/melody split point. (i.e. A4)

This way I can display my entire keyboard range (i.e. C2 thru C6) but notes above (i.e.) A4 are NOT included in the chord calculation. Additionally, I would like to highlight the melody notes with a different color (ignored by the chord calculation, and played with right hand).

ArTiSTiX commented 1 year ago

Thanks @MusicMan74 for the suggestion, i like the idea.

This could be done indeed, but i don't know when this would be shipped, though. It makes me think that it may also have some interesting synergy with other useful features like Splitting midi.

One approach could be to simply add a split note (or start/end notes for chord range) and display other as melody. But this is pretty limiting in terms of feature and future involvments.

Another approach could be to have a different routing logic and modules, one output module for "displaying" notes on a keyboard, and the chord-display module for the chords. Then the chord-display keyboard could display both messages (like 2 separate MIDI devices), and i could introduce the MIDI split feature in the Routing module so that you could choose to split your keyboard, and send different parts to different output. Or have 2 stacked keyboard and still be able to differentiate the "chords" keyboard from the lead keyboard.

I'll think about it in the next few days (MIDI advanced routing is one of the milestones i would like to achieve, like splitting / mapping notes, redirect MIDI ports, and remap values like velocity and such).