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

teoria.note.chord('maj') Produces Major Seventh Instead of Major Triad #86

Open
mjhasbach opened this issue Aug 1, 2015 · 3 comments
Open

Comments

@mjhasbach
Copy link
Contributor

Why does teoria.note.chord('maj') produce a major seventh chord, while teoria.note.chord(), teoria.note.chord('M'), and teoria.note.chord('major') produce a major triad?

var notes = [];

teoria.note('C4').chord('maj').notes().forEach(function(note){
    notes.push(note.scientific());
});

console.log(notes.join(',')); // C4,E4,G4,B4

By contrast, teoria.note.chord('min') produces a minor triad as expected:

var notes = [];

teoria.note('C4').chord('min').notes().forEach(function(note){
    notes.push(note.scientific());
});

console.log(notes.join(',')); // C4,Eb4,G4
@saebekassebil
Copy link
Owner

Yes, I know the chord terminology is foggy, but this is my understanding:

C, CM and CMajor means a major triad consisting of C, E, G
CMaj means a major seventh chord consisting of C, E, G and B

If you could point to some (somewhat official) reference that means otherwise - I'd be glad to fix it.

@mjhasbach
Copy link
Contributor Author

Wikipedia (peer-reviewed)
Alcorn State University ("somewhat official")

Disclaimer: I am pretty new to music theory and did not verify the Wikipedia sources. Alcorn lists no sources.

@saebekassebil
Copy link
Owner

Actually thinking about it, it should be possible for the user to implement their own parser. In Denmark we use Cmaj as shorthand for Cmaj7, and I know that most jazz music is like that as well.

But my guess is that there are other, stricter rules that applies to classical music (although chord symbol don't often appear in classical sheet music), and maybe different countries has different rules.

I think for now I'd like to keep "Cmaj" = "Cmaj7", but let's think about a way where the user can configure the meaning of different chord symbols!

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

2 participants