ChordPro / chordpro

Reference implementation of the ChordPro standard for musical lead sheets.
Other
324 stars 51 forks source link

Support for inverted chords #84

Closed Ssamm45 closed 4 years ago

Ssamm45 commented 4 years ago

I often come across inverted chords in guitar music (eg. D/F#, A/C#, etc). What would it take to get the parser to recognize them?

It isn't hard to define them myself (eg. {define D/F# base-fret 1 frets 2 0 0 2 3 2}) but it would be nice if the common ones would be defined automatically

sciurius commented 4 years ago

Please ask questions on how to use ChordPro on the ChordPro user group, https://groups.google.com/forum/#!forum/chordpro

This issue tracker is for bugs and issues.

Thanks!

nomike commented 4 years ago

It isn't hard to define them myself (eg. {define D/F# base-fret 1 frets 2 0 0 2 3 2}) but it would be nice if the common ones would be defined automatically

It isn't that easy. The majority of those slashed chords could for example not be played on a ukulele. For some of them there is no difference between the slashed and the non-slashed version as the altered base note is already part of the chord.

So there is no universal rule of how to transform a regular chord into a slashed chord. Thus, the only way to get what you want is to add a custom config wich defines those slashed chords in addition to the ones already there. I'm not playing the guitar, so I don't know if there is a general consensus about how exactly to finger a "D/G#" chord or any other slashed chords. If there is, feel free to create a config file to define those chords for guitar in EADGBE tuning and if you think it's worth sharing, post it to the google group.

From what I know about playing the ukulele though, I can tell that for uke you can't do that. You mostly have to look at the piece of music, play it and replace some of the slashed chords by regular ones until you get what sounds best to your ears.

As for how to write those configs you should look at the documentation of ChordPro. Specifically: https://github.com/ChordPro/chordpro/wiki/ChordPro-Configuration-Generic#user-defined-chords

And as the collection of chords is a list, you might also have a look at the section on how to append your list of chords to the already existing one: https://github.com/ChordPro/chordpro/wiki/ChordPro-Configuration-Overview#merging-array-values-items

Regards nomike