chord-symbol
chord-symbol copied to clipboard
Weird renderings/parsings
#285 will fix:
- Cadd11
- Cmi11 : no alternate rendering!
- G4add9 (3 ?!!)
- C4
Remaining:
-
C11(add3)
=>C9
-
CM711
=>null
Is that all what's needed for 1.1 to be released?
almost: https://github.com/no-chris/chord-symbol/projects/3
- C11(add3) => C9: what should be expected? C11(add3) or C9(add 11)?
- CM711=> null: that is correct: b7 & 7 cannot be in the same chord
C11(add3) => C9: what should be expected? C11(add3) or C9(add 11)?
For this one I would expect either C9 (add 11) or (maybe?) BbMaj13(# 11)/C This last one may be longer, but it is the only one theorically "correct". But you probably don't want to change the root of the chord, so C9 (add11) is probably better.
Thanks!
I found another one: Do / DO -> Ddim (would expect C)
I understand that the "o" can be used to express a diminished chord, but in this case the root note should win I guess. Maybe latin name parsings could be optional, to keep the o for diminished in some cases.
thanks for checking this out.
That one is actually documented in the readme:
Support for different notation systems
ChordSymbol can recognize notes written in english, latin and german systems. By default, ChordSymbol will try all the notation systems one after the other until he properly detects a chord (or not). This works well in the vast majority of cases, with a notable exception:
- the Latin Do (C) conflict with the English D and the o modifier, which is widely used in some popular software to describe a diminished chord. Given the prevalence of this modifier, priority has been given to it. Thus, by default, it is not possible to use the Do symbol to describe a C chord.
- if you know for sure the chords that you want to parse are written in the latin notation system, you can disable english and german when configuring the parser (see the API documentation). This will allows you to parse a Do (C) chord.
Thank you @no-chris, and sorry for overseeing it in the documentation. For me that will do the trick! But I still believe that it would make more sense the other way around, just as the occurrence of a single D-diminished chord base is way lower than all chords with a latin C root note, and especially looking at the vast usage of this notation system around the world. I understand that there is a lot of software that uses the "o" for diminished, but for that case latin could be disabled as well.
You are probably right, I don't really have a strong opinion on this, one way or the other could work. As it would be a breaking change though, I'll probably keep it that way until someone comes up with a use case that cannot be solved with the current functionality.
-
C11(add3) => C9
: edge case enough to ignore it -
CM711=> null
: valid rejection, since it contains both7
andb7
Thus, closing issue for now