GithubHelp home page GithubHelp logo

Comments (4)

ArTiSTiX avatar ArTiSTiX commented on June 9, 2024

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"...

from midi-jar.

ArTiSTiX avatar ArTiSTiX commented on June 9, 2024

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.

from midi-jar.

gotthehot avatar gotthehot commented on June 9, 2024

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.

from midi-jar.

ArTiSTiX avatar ArTiSTiX commented on June 9, 2024

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 :)

from midi-jar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.