m7 / 6 chords and alternate tunings
Hey! Awesome little library. The custom chord progression example is almost exactly what I've been looking for.
It seems to have trouble with sixth / minor 7th chords.
Am7 / C6 is the open ukulele tuning, and barring straight across at any position gets you a Sixth, so on the uke, they're pretty commonly used.
You mentioned you were working on a branch that calculated the notes/positions dynamically, and that's ideally what I'm looking for - especially for 'weird tunings'. Slack key tunings, for example, where one or more strings are 'slacked' to form a major chord in the open strings.
Also, arbitrary numbers of strings, for creatures like the 5 string bass.
I'm curious to see the code that calculates chords dynamically!
I looked at the chord calculation code a bit, and hacked at it some. I think the re-entrant uke tuning is confusing it. It often mutes the G string. If you switch to G3 (low-G) it seems to work better. It also might miss some necessary notes when building the chords. I put in some Sixth chords (after creating the necessary semitone definitions in the code) and it always dropped a note from the D6 I was trying to make. It's definitely a trickier problem than I had anticipated.
Hi there, glad you like the idea.
It definitely deserves more features, I've just been distracted by other stuff.
OK glad you worked out I merged those changes already, such as they are.
Yeah the re-entrant thing is a bit wierd. I haven't even worked out how the notes of chords on a uke work. Totally learning as I go along.
More chords would be useful thanks! If you'd like to put together a pull request, and if it looks reasonable (i.e. it passes the qunit tests & jshint validation, and doesn't break the existing samples), then I can add you to the project, I'll let you merge the changes yourself and then it'll show up as your work.
Once the chord calcluation is done I'm keen to add 'preferred voicings' somehow, so that you could find e.g. barre chords around a certain part of the fretboard, stuff like that. I also want to add support for drawing major/minor/pentatonic scales all the way up the fretboard (so, bigger canvases). Then I'd like to add some animation transition type stuff. I guess the first thing I do should be to upgrade that grunt file to the latest grunt format. I've just been distracted by other stuff, but all in good time though
Cheers
Yeah, chords on the uke are just "play all the notes in the chord". It doesn't matter if the root is the lowest tone. I think a possibly better approach would be to highlight every fret that matches the chord tones, then either filter those down to a specific voicing/fingering or present them all to the user. As players progress from first position chords to moveable shapes, this type of display could really help.
I don't know anything about grunt, and haven't actually played the guitar either. Only been playing uke since December too, but we play with a monthly group (mauimadison.com) We have a huge and growing song book with all the chord diagrams for each song.
Hi there, glad you like the idea.
It definitely deserves more features, I've just been distracted by other stuff.
OK glad you worked out I merged those changes already, such as they are.
Yeah the re-entrant thing is a bit wierd. I haven't even worked out how the notes of chords on a uke work. Totally learning as I go along.
More chords would be useful thanks! If you'd like to put together a pull request, and if it looks reasonable (i.e. it passes the qunit tests & jshint validation, and doesn't break the existing samples), then I can add you to the project, I'll let you merge the changes yourself and then it'll show up as your work.
Once the chord calcluation is done I'm keen to add 'preferred voicings' somehow, so that you could find e.g. barre chords around a certain part of the fretboard, stuff like that. I also want to add support for drawing major/minor/pentatonic scales all the way up the fretboard (so, bigger canvases). Then I'd like to add some animation transition type stuff. I guess the first thing I do should be to upgrade that grunt file to the latest grunt format. I've just been distracted by other stuff, but all in good time though
Cheers
— Reply to this email directly or view it on GitHubhttps://github.com/laher/ChordialJS/issues/3#issuecomment-18601450 .
For Uke chord pattern reference, ukebuddy.com is amazing.
Another idea I dreamt up the other day is to show a blank fretboard. Click on a fret, and it shows that note, let's say a G, then start to appear additional notes you could use to make a Gmaj, Gmin, etc. Click another fret, and the less common chords start to appear. Sometimes you're listening to a song and you can pick out one or two notes from the chord but can't quite make it out - that would make it a snap to figure out exactly what the chord might be.
I love the idea of highlighting all potential voicings, maybe colour-coded for each note in the chord. Hmm, great ideas all around.. Thanks for the input. I can certainly add those 6 / m7 chords, and 'open/slack tunings' should be handy too. Open tunings are very popular on guitar too, particularly for slide guitar.
I'm going along to a javascript hack night next week, maybe I'll explore some of this stuff. I had other plans for the hack night, but this could be quite interesting.
I'll let you know once I make some progress. If you fiddle with it yourself please do show your work with a fork or a link :) Cheers
Hey there, thanks for this nice tool :)
I have some questions please :
- I was wondering how i could add the min7 support ?
Looks like i have to create a new family key in ChordialJS.data.chords.ukulele, like min7 and in abbreviations too ?
But where to get the values to add to the min7 family ? like 'A' : { 'open' : ['2000','2---'] }, ? and what is the second open value (2---) ?
Thanks :guitar: :notes: