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.

Home Page:http://midi-jar.ljas.fr/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Optional hide "M" and "maj" for major when displaying triads

gotthehot opened this issue · comments

Displaying three-notes major chords with single letter is a common way of notation. CM, G#M, Cmaj, Gmaj etc in midi-jar looks unusual for many musicians and chord display apps (e.g. Simple Chord Detection) usually have option to remove M for three-note major chords. Can you add this option to midi-jar for short mode of notation? For long mode this option will remove "maj" in same cases, i.e. for three-notes chords.

Hello @gotthehot !

First, thanks for your first tiekct.

Notation of major chords is also something that is bothering me. Latest version implements a big polish of the chord dictionary of tonaljs, and was motivated by the fact that chord notation was inconsistent.
Since there are many ways to notate chord (too many, i spent 1hour everyday for a months to sort this out), i had to make a lot of choices.

Notation includes "long" (i.e. take the most explicit way of naming a chord), "short" is the shortened version of long, and symbol, which is the shorter short version (no M or maj here... how funny), and there are a lot more of aliases I added to help consistency.
This 3 notations choice resulted in having more consistent notation, with "Maj", "M", or "Δ" for any major chords, and "min", "m", "-" for any minor, and unfortunately, notation of chords with absolutely no indication was kinda inconsistent with all other notations.

So now, I am a bit in two minds about making an exception for only the Major chord, (currently i can't find another example) mostly because even if it's common usage (and the one i know and am used to, and also how midi jar was displaying chords prior to 1.5.0), it is so ambigous for a beginner/learner, and it's very opinonated anyway.

Is there other chords that are notated differently as what you prefer ? surely (and you should definitely continue to make issues if you find anything like that) !

Personnally, i hate the m7b5 notation for instance, but it seems to be the best way to notate/interpret an half dim chord.

Could you give me any ideas on how i can make this not an exception to an "ideal" consistent way of notating chords that i am aiming for ?

I may add a chord dictionary module into midi-jar, which could help learning chords, but also could allow choosing a "custom" notation made out of the notations you prefer for any chord in the dictionary. This could solve the issue of not making an exception, but allowing all exceptions.

NOTE: i am not trying to rewrite how music is written, but, i am really trying to make midi jar a tool usable for any level of musician, so your issue is important, but i want to ensure this kind of features does not contradicts someone else preference.
Prior to 1.5.0, this issue was fixed by overriding the notation given by tonaljs, but also resulted in wacky results with somtimes maj, sometimes M, sometimes something else... so i jsut decided to force myself to make it consistent... and now it displays "CM"...

I just watched a video about Simple Chord Detection. I think i should implement this "Omit M for major" option soon in a patch, because the dictionary module would not be implemented anytime soon, and i don't think there is such a big exception in the opinionated chord notation as this one (maybe this, and the explicit mentions of "add" in all chords, that sometimes are not present even though they should be).

Chord notation is quite a mess, but at least i could make triads right.

Unfortunately music notation created by musicians, not by programmers :) So we have to deal alot not with logically and algorithmically motivated structures but with common conventions or just habits of people daily reading or writing scores. Such a convention is omitting M for major triads. It's common not only for bunch of printed scores but also for popular "chords addicted" sites like chordify.net

As for me I used to read any notation e.g. CM7, Cmaj7, CΔ, C+7 or C7+ and anyway was happy to discover midi-jar when looking for utility showing chords for standalone virtual instruments (outside DAW). It's very functional and daily useful toolbox especially for beginners. Just asking to make it more familiar to musicians with only a bit of customization by single parameter. Option "omit M for major" is quite enough.

Note for Long notation. Now in midi-jar Cmaj stands for C. But occasionally in scores Cmaj means Cmaj7 so there is a chance for mess. It may be good idea to remove "maj" from major triads in Long notation as well.

Hello @gotthehot !

So I finally decided to completely remove the "M" and "maj" mentions, you convinced me with "But occasionally in scores Cmaj means Cmaj7", but was also bothered by this ugly notation.

A dictionary of chords is still in my mind as a module, so it is not excluded that prefered notation could be choosed.

Please close the issue if it is solved for you :)