Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

m7 / 6 chords and alternate tunings #3

Open
millenniumtree opened this issue May 28, 2013 · 6 comments
Open

m7 / 6 chords and alternate tunings #3

millenniumtree opened this issue May 28, 2013 · 6 comments

Comments

@millenniumtree
Copy link

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!

@millenniumtree
Copy link
Author

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.

@laher
Copy link
Owner

laher commented May 29, 2013

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

@millenniumtree
Copy link
Author

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//issues/3#issuecomment-18601450
.

@millenniumtree
Copy link
Author

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.

@laher
Copy link
Owner

laher commented May 30, 2013

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

@revolunet
Copy link

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 🎸 🎶

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants