I need a good solid understanding of what a key signature is for my fledgling midi sequencer.
I've read wikipedia, searched this forum, read the midi spec.
But still have some questions.
So a key signature specs the key and the scale, right?
The key is the note that the melody typically wants to "come home to".
And the scale will typically be major (wwhwwwh) or minor (whwwhww).
Am I right so far?
midi files store the keysig as
- # of sharps or # of flats (7..0..-7)
- major or minor (0,1)
So I'm guessing standard midi files can only spec minor or major scale.
There are a ton of other possible scales, though, right?
pentatonic, the modes, chromatic...
Not always 7 notes in ALL scales, right?
For the non major,minor scales, you can't just spec the #sharps/flats, right??
Ideally, if I want to do key signatures "right", I'd need a
way to spec any scale...
The way I'm thinkin' to do that so far is spec which of the
12 notes are in it.
So major would be *_*_**_*_*_*
so minor would be *_**_*_**_*_
(these would be predefined strings -
MAJ would be mapped to the weird 12 character string already for ya)
So keysig actually gives me one of the 12 halfsteps that's
the music's tonal center.
AND the named set of 12 halfsteps that are in the scale.
Piano roll notation is my preferred notation.
So I plan on showing the whole keyboard as usual.
Then hilighting the tonal center note (somehow?)
And hilighting the notes that are IN the scale (showing them lighter or SOMEthing?)
Can anybody who has messed with the weirder keysigs before
tell me if I'm on the right track here?
I think I get to ignore whether the keysig is in sharps or flats
due to my choice of pianoroll notation
The hilights will show the key,scale and the notes will just show up
on the key you play.
I've noticed that there seems to be "cheating" going on in some
renditions... Keysignature tells you the notes to always sharp/flat,
but DOESN'T tell you what the key REALLY is.
Also, you have to guess from the 3rd note of the scale if the scale is minor or major...
Pianoroll notation (chromatic scale notation) makes all that a no brainer I think.
Anyways, your opinions on this will help me make some software for piano practice that "doesn't suck"