philippotto / Piano-Trainer

A web-app for training sheet reading skills by using your MIDI-enabled piano.

Home Page:http://philippotto.github.io/Piano-Trainer/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

training mode for special chords

philippotto opened this issue · comments

e.g. C 7, C m7, C maj7, C m#7, C dim7, C half dim

@philippotto I'm not a music theory buff, so I don't get the significance of these chords.
What makes them important? They're complex and rarer?

Hi Tom,

Thank you for your question which is quite justified. The issue description is not really clear here. I want to be able to train these chords since they are very often used in sheet music (often sheet music is also annotated with chord names). The important point here is that I want to be able to play a "C half dim" chord without having to see the notes.
So, the piano trainer wouldn't display the notes (at least in the "advanced" training mode) but just the chord name and the user would play the correct notes (of course inversions should be possible, too).

I hope this clears things up! Cheers!

Yes, that's much more clear!
I figured it was something like that, but I just wanted to double check.

I'm working on a midi side project and stumbled onto this. It looks like some nice work. 😎

Thanks for replying and have a great one!
Tom

On Jul 7, 2015, at 1:37 PM, Philipp Otto notifications@github.com wrote:

Hi Tom,

Thank you for your question which is quite justified. The issue description is not really clear here. I want to be able to train these chords since they are very often used in sheet music (often sheet music is also annotated with chord names). The important point here is that I want to be able to play a "C half dim" chord without having to see the notes.
So, the piano trainer wouldn't display the notes (at least in the "advanced" training mode) but just the chord name and the user would play the correct notes (of course inversions should be possible, too).

I hope this clears things up! Cheers!


Reply to this email directly or view it on GitHub.

More flexible chord generation would be pretty cool in general:
-chords selected from a scale, or something more general involving modes (like aeolian or whatever)
-monads, dyads, triads, tetrads etc.
-interval sizes

e.g. "all dyads in b major smaller than a 10th interval"

Some interesting experiments/stretch goals here might be:
-something involving voicings (cross-octave vs. within-octave or something?)
-maybe something about specifying a distribution of chords that matches a genre of music, could be extracted by, processing a bunch of baroque music off IMSLP or something

i think i little got away too much with what is asked. i'll post it anyway. maybe it is interesting to someone.

training chords is little complex because they are steps on a scale.
1st thing is to learn the scales, scales are combinations of two tetrachords

https://www.youtube.com/watch?v=-3oo45vpQV4

so first thing is to practice tetrachords starting from a note.

like
there is a title of the tetrachord name and its distances shown.
in the staff, a note is shown in red and a sound of it played, and the other notes are in black, then the user has to press this note on the keyboard and play them. for random notes. or going up notes (you know this better)

the major scale is combined from a major tetrachord and another major tetrachord.
so the lesson will say play major + major
show a red note, and play its sound and the rest are in black.

level 3 lesson might be skipping in intervals of 1 or 3 or 5 on a selected scale.
notes are painted the first starting note of the scale is played and the user has to move up one step and skip the wanted step. for example, if the selected interval to skip is 3, then the user will play, 1,3, then 2, 4 then 3,5 .
the first part of the 3rd lesson is the 1 interval. the 2nd part is the 3 interval and the r3d part is the 5th interval.

after user knows intervals on scales in is possible to construct chords, chords are simply 3 sounds on a scale with interval 1 3 5. like the 1st the 3rd and the 5th sound from any note on a scale.

so the 4th lesson could be to try all chords on a given scale
the chords are named: tonic. sub dominant , sub mediant, mediant, dominant, dominant diminished

a 5th lesson could be to learn the order of chords of moving in 1 or 3 or 5 ,
like in https://www.youtube.com/watch?v=_-0tD-qAW48

there are only some chords on each scale.
it might be required to guess the scale that has this chord distances to play chords at will.

so the 6th lesson could be to play all the scales with a chord.
like 3 progressions on the staff with some space between them

Here is a short technical explanation of music theory as I understand it:
http://doodkin.com/2016/12/22/what-is-music/