Comments (4)
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.
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.
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.
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)
- Malfunction with keyboards that send 'Note On' with 0 velocity instead of 'Note Off' HOT 7
- Chord Display keyboard range HOT 1
- Circle of fifths screen is empty on Linux HOT 6
- Support flatpak HOT 2
- [Feature] Allow switching Key from web interface HOT 2
- Native support for PipeWire or alternatively Jack HOT 6
- Chord display should understand no 5th chords HOT 4
- installation authentification failure HOT 10
- v1.5.0 is actually 1.4.0 and tries to download an update for AppImage HOT 7
- Recognize invertions and display more common chords first HOT 6
- Default startup mode and remembering last state HOT 1
- Suggestions for improving "Chord Display" GUI in MIDI-Jar HOT 13
- Confusions with inversions HOT 16
- Start minimized option seems doesn't work HOT 8
- Impossible to clone and run this repo because of private npm repositories HOT 2
- Rootless voicing quiz? HOT 6
- Give setting for font size of key note labels
- Staff customization for MIDI guitar HOT 5
- After some time, ALSA fails with cannot allocate memory HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
š Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ā¤ļø Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from midi-jar.