Show HN: Piano Trainer – Learn piano scales, chords and more using MIDI
186 points
3 days ago
| 13 comments
| github.com
| HN
mtalantikite
20 hours ago
[-]
I'm appreciative of people attempting to help others learn music, so first of all thanks!

I'd suggest people really focus on their ear training though over visual feedback. Just play your scales through the circle of fifths -- set a metronome at 60, go for both hands, two octaves, parallel and contrary motion. Start with major and then move on to the three types of minor. The thing you're developing is internalizing the sound of the scales. Just picking out an F harmonic minor scale and getting a visualization I think is less fruitful for the long term.

Also, for triads, while it is super important to know what the quality of the chords are inside a scale (so that you can pick up your forms like a ii-V-I in any key), I think it's more important to practice the chords themselves. When I was taught, my teacher just had me pick a few keys every morning, and then practice the major, minor, diminished, and augmented triads, with their inversions. Within a week you'll have practiced all of them. Once he could call out any key and I could play them up and down with the metronome at a decent clip, we moved onto the 10 four part chords and did the same. And then did it again in open position. And then... there's always more!

For learning how the triads sit inside a key, I'd suggest playing the triad in the left hand and then playing up and down the scale so that you can start hearing the chord with the mode. So, Cmaj triad, play the C scale up/down, Dmin triad, play D dorian up/down, etc. At least that's how I was taught.

reply
alexilliamson
19 hours ago
[-]
I have a decent grasp of theory and have seen the value of grinding scales on other instruments. With piano, I'm never sure which fingers I'm supposed to be using or when to move my fingers up the keys. Do you have any guidance?
reply
mtalantikite
18 hours ago
[-]
You know, I can't totally remember how my first teacher taught it (I was 7), but I do know that a lot of the fingering was outlined by CPE Bach back in the 18th century [1]. Just glancing on the Internet (and quickly playing through my scales just now), it seems like I tend to play them closely to this outline: https://pianoguidelessons.com/fingering-scales-on-the-piano/

But, as my current teacher likes to point out, there's no "true" way. He's a bassist, and has mentioned to me a few times some old survey asking pro players to write out their fingerings for some famous passages -- the results were all over the place, as everyone brings their own approach.

[1] https://archive.org/details/BACHCarlPhilippeEmanuel.EssayOnT...

reply
Hunpeter
17 hours ago
[-]
Hi, when you say you don't know which fingers to move do you mean within the context of a piece of music, or just the scales themselves? For the latter, I can give you some advice (though if you search something like "piano scale fingerings" on Google images, you can probably get some fairly standard fingerings for both hands).

Each diatonic (major, minor or modal) scale consists of 7 distinct notes, and the fingering is always 1-2-3 1-2-3-4 in one direction, and the reverse in the other direction, however, you need to find where this sequence starts within the scale. The more black keys there are in a scale, the fewer the possible comfortable positions. Always put your thumb on a white key, and prefer putting your 3rd and especially your 4th fingers on black keys, if possible. (Fun fact: for the major scales, once you have your right hand's fingering, you can imagine mirroring the keyboard and your hand around the D or G# key and you get another major scale with a good fingering for the left hand).

DO NOT start with C major if it's your first time learning scales. Maybe start with E major (4 sharps) as it is comfortable and you can use the mirrored fingering in the other hand.

reply
fasterik
15 hours ago
[-]
It's worth picking up a book like Alfred's "The Complete Book of Scales, Chords, Arpeggios & Cadences". It has exercises in every major and minor key, with fingerings.

Knowing the fingerings is a good start, but you need to learn to do these exercises without tension and with proper posture and hand movements. This is something where it's best to have in-person instruction from an expert who can show you the technique and correct your mistakes. But if you can't do that, maybe the next best thing would be to watch some YouTube videos and record yourself playing.

reply
endoblast
17 hours ago
[-]
Thumb on white notes. 4th finger on black because it is weaker than 2,3. But these are rules of thumb(!)
reply
catapart
21 hours ago
[-]
Awesome! I don't know how to play the piano, so I built a little midi piano app[0] and then realized I didn't know how to make the app teach me how to play. I've been looking through other "how to play" apps, and got some interesting ideas, but I love how straightforward your approach is. I'm definitely at the level where simply practicing and reinforcing scales would help a lot, so I'd love to add a similar type of functionality to my app. Thanks for putting this together!

[0] https://midi-speaker.com/

reply
hofrogs
1 day ago
[-]
This is cool. I am wondering if anyone knows if there is a game like Guitar Hero (old playstation game with a custom controller), but for piano and with MIDI input support, something to practice the mechanical skills, preferably with a library of beginner-friendly charts?
reply
ganonm
1 day ago
[-]
It's probably not got the entertainment factor of Guitar Hero, but I'm working on an Android app that connects via Bluetooth/USB MIDI and teaches you sight reading. It starts with individual notes, then progresses to intervals, triads and more complex chords. All of these are exercise based, so you can pick and choose areas to focus on.

The notes are all rendered according to conventional music notation standards as per Elaine Gould's book "Behind Bars". Writing this code was not straightforward, but worth the effort as it's very flexible.

Progress is tracked intelligently, i.e. accuracy and response times are recorded per note, and exercises can be directed towards improving weak spots. This was all borne out of a frustration I had with how long it takes, and how much material is needed to make progress with sight reading skills.

I'm hoping to release it soon (next few months - it's mostly finished), but slightly concerned it's too niche. I guess it will mostly appeal to serious but beginner/intermediate pianists who want to put in the hard yards to develop sight reading abilities to an advanced level.

reply
vunderba
16 hours ago
[-]
I don't think it's that niche, Sight Reading Factory (the site, iOS app, etc.) has been around for years and is pretty popular as a means of learning sight reading for various instruments.

https://www.sightreadingfactory.com

reply
memorydial
12 hours ago
[-]
Do you have a github repo, link, or a signup page so I can get a notification when its launched?
reply
yourqiwi
23 hours ago
[-]
Very interested in your app. I have had great success learning languages with flashcards / SRS, and I want a "smart" way to learn sight reading when I start learning piano.
reply
dherikb
1 day ago
[-]
I totally support that. I know that this can create bad habits, but not everyone wants to become a great piano player; some of us just want to have some fun playing.
reply
easyThrowaway
1 day ago
[-]
Melodics[1] got a few gamey features, but in the larger scope such tools are pretty orthogonal to actually learning to play piano - I wouldn't say they hurt, like some teachers suggest (they'd say the same about hanon warmups) but they help you becoming a better musician the same way writing the alphabet everyday would make you a better writer.

[1]https://melodics.com/

reply
djtango
1 day ago
[-]
YMMV, I'm now at a stage where I am limited by my ability to play arpeggios and scales fast and accurately enough and tbh I think it's probably more productive to just practise scales and arpeggios than to practise the passage in question.

Scales and Arpeggios also bed the keys into your muscle memory which I've found it has made learning harmony a lot quicker as I can take a progression and experiment with it in the various keys and also experiment with different voice leadings by messing with the inversions.

But if the pressing concern is staying motivated and/or enjoying the instrument through playing then I agree that an excessive focus on fundamentals is going to be a slog

reply
brightmood
1 day ago
[-]
It's something most piano teachers advise AGAINST. But I am of the opinion that anything that makes you play the instrument works.
reply
bzzzt
1 day ago
[-]
The problem is it's hard to unlearn bad technique. If you play scales wrong you can get stuck progressing and have to start over while suppressing the urge to just play like you always did.
reply
williamdclt
1 day ago
[-]
You're right for "serious" learning. But for most people, the alternative is not learning anything at all! The best technique is the one that'll actually make you play the piano
reply
cardanome
1 day ago
[-]
Bad technique on unserious learning can still lead to serious injuries like RSI.

Proper technique is also important so that playing is actually fun and not painful. Even just a few lessons on how to properly sit, how to avoid tension in your hands and so on can go a long way. There are video lessons that explain that stuff as well but you need to be very disciplined and really repeat these lessons over and over.

You can absolutely self-learn the piano. People that genuinely don't have the money for a teacher shouldn't let that stop them but it absolutely is harder. Set yourself up for success if you can.

reply
rs186
22 hours ago
[-]
There is no such thing as serious/non-serious learning.

I take weekly music lessons and have been doing that for a decade. After every lesson -- since the very first one -- I am amazed by how many simple things that I get wrong, and how many different areas where I could improve. The teacher just sees/hears that immediately, when you have no idea what you did wrong. And the music just sounds different.

Not only that, the teacher discusses the piece with you, tells you the efficient way to practice (a specific piece or specific passage) etc.

You would probably sound ok to a random stranger, but you quickly hit a bottleneck. You spend a lot of time doing incorrect/inefficient things without knowing it.

$100/hr is expensive, but well worth it.

reply
throwaway0665
1 day ago
[-]
I think learning how to unlearn is part of it. You'll often encounter music that is fingered unintuitively when learning increasingly difficult pieces. Plus if you're able to play legato at 100% speed guitar hero style you've probably discovered a mostly correct fingering anyway.
reply
viccis
1 day ago
[-]
For good reason. Learning fluency reading sheet music is critical. Rocksmith is great, with caveats, but the fact that they, by default, invert the strings compared to tablature conventions on guitar should be proof enough that they are pedagogically terrible without some guidance.

The other problem is that their learning technique, in which you start with fewer notes and add in all the notes over time, is not good at ALL. It masks certain things from you and even makes some things harder at lower difficulties when it's playing some scale and you don't know that so you're just playing random notes in it. Knowing that it was just a pentatonic scale or something would make it much simpler. Instead, you're taught to just play isolated notes instead of learning how to understand what that scale was, how to play it, and how to apply that to other songs. It's almost outright hostile towards a big picture music theory based approach on teaching how to play and instead focuses on memorizing the specific notes for each section of each song.

Anyway, piano scales and chords are not challenging to learn compared to most piano technique. If you don't have a teacher then buy Hanon, get a decent music theory book, and look up Youtube videos. Any of these training wheels based learning approaches seem to just assume that once you do it enough you'll pick up the theory. No. If you can't afford lessons (which I stress are very important) then you should at least make use of simple music theory books and videos on Youtube.

reply
TheOtherHobbes
23 hours ago
[-]
Yes - the usual comment with these things is that you're not learning notes, you're learning movements.

Scales have specific fingerings and hand movements, including thumb over/under movements at specific locations.

They're not optional extras. They're essential for fluid playing.

More subtly there's also basic finger/hand positioning, which has to be a difficult combination of as-relaxed-as-possible but also firm and precise, so you get fine control over dynamics and timing.

If you don't learn the vocabulary of physical movements, you won't have the physical foundation you need to play notated music properly beyond the very basics.

reply
Anthony-G
14 hours ago
[-]
Upvoted. As a beginner guitarist, I find that Rocksmith’s approach doesn’t work well for learning songs. I prefer to turn up the difficulty to 100% and turn the tempo down to something I can play comfortably and then gradually increase the tempo. This has the drawback that the song sounds very different when played at 25%. It’d be nicer if they were more judicious in their choice of notes to play for their lower difficulty levels.

At the moment, I’m focussing on working on my timing by playing rhythm instead of lead guitar.

reply
viccis
13 hours ago
[-]
That's 100% the right way to do it and how traditional learning works (you just use a metronome and slowly work up to full tempo)

If you haven't already, please PLEASE choose the "invert" option for the string order. Your low pitched E string (the red one) should be on the bottom of the strings. It will mean that all your work will transfer immediately to both guitar tabs as well as conventional chord charts. The fact that Rocksmith is teaching people to train their muscle memory on upside down chord charts is so insane to me.

reply
rjh29
1 day ago
[-]
Honestly reddit is so fucking tiring. If you don't have a piano teacher 3x a week you'll never learn? Huh? Most famous pop piano players learned by themselves just noodling, and they have bad technique, but they still amaze. Same with guitar. Anyone who's super good at an instrument is going to get there however.
reply
TheOtherHobbes
23 hours ago
[-]
You'd be surprised how many famous pop piano players didn't just have lessons, they had advanced training.

Elton John studied at the Royal Academy of Music. Alicia Keys is classically trained. Lady Gaga had lessons from the age of 4.

Even someone like Vangelis - nominally self-taught, and not a reader or writer - had lessons when he was starting out.

reply
bluGill
21 hours ago
[-]
There are many many examples on both sides. That you can cite many who have had a lot of classical training doesn't disprove the point that many others have had minimal training.
reply
jrm4
16 hours ago
[-]
Right, I'd argue that the people without training are going to be way more surprising.
reply
Almondsetat
23 hours ago
[-]
First of all: they noodled by themselves, i.e. they gained their own intimacy with the instrument, which is something you cannot teach but only explore on your own. Secondly, you don't know if they didn't have any teachers or mentors or players they asked questions to or learned from. "self made" is not really a thing
reply
poulpy123
21 hours ago
[-]
I want to know which professional learned piano as a first instrument with just noodling. Maybe a handful of geniuses, but nothing more.
reply
bluGill
20 hours ago
[-]
Most people get lessons so saying it is a handful is likely right. However I know a few who play for fun that never had lessons, and they sound good.
reply
bongodongobob
20 hours ago
[-]
Honestly, no, you won't. It's very difficult and requires training. Those famous players made music their entire lifes work. Thinking that means you can just teach yourself at 35 with no musical training is idiotic.
reply
khaki54
21 hours ago
[-]
Simply Piano and Yousician are pretty close to Rocksmith. A little more focused on teaching though. You can plug in midi or USB to your keyboard or it can use a mic to do note tracking
reply
tofflos
1 day ago
[-]
Rocksmith+ recently got a piano mode. The default interface is similar to Guitar Hero but you can also toggle to a sheet music view. I haven't tried it.

I have tried Playground Sessions and recommend it.

reply
tbbfjotllf
1 day ago
[-]
Synthesia[1] is what you're looking for.

[1] https://synthesiagame.com/

reply
mushishi
1 day ago
[-]
Yousician http://yousician.com/

It has different kinds of notes presentation modes.

reply
ethan_smith
19 hours ago
[-]
Check out Synthesia (has MIDI support and a large library of songs with difficulty ratings) and Pianote (more structured learning but with game elements). Both have beginner-friendly content and visual feedback similar to Guitar Hero.
reply
7thaccount
21 hours ago
[-]
There's an app called Skoove that seems to do a lot of that. Not really a game, but you put your tablet on your piano and it shows you which keys to hit at the right time and makes sure you do it right. That's pretty much the same thing almost.
reply
djmips
1 day ago
[-]
One version of Rock Band came with a real 25 key piano midi controller that you used in the game.
reply
bluGill
20 hours ago
[-]
I still have and use that keyboard. It is a nice little midi controller that works just as well as any other midi keyboard I have (within the limits of 25 keys of course)
reply
willhslade
19 hours ago
[-]
Rock Band 3 pro mode.
reply
blensor
1 day ago
[-]
Not really that much of a game but falling notes and with standard MIDI support is Synthesia.

https://synthesiagame.com/

reply
nerflad
21 hours ago
[-]
This looks good for introductory theory. see also GNU Solfege

https://www.gnu.org/software/solfege/

reply
BaNzounet
14 hours ago
[-]
When I was starting piano and wanted to get better at sight reading, I made a small quiz app that shows a note on a staff and takes MIDI input. Not sure if it still works, but might help someone: https://github.com/AlexGaspar/piano-playground.
reply
bfm
1 day ago
[-]
This is awesome! Thank you for building it!

Another open source app that I’ve been using to practice is https://github.com/sightread/sightread

reply
it_citizen
18 hours ago
[-]
Nitpick: The perfect fifth of G is E but the video says A: https://vimeo.com/730642802
reply
bpicolo
17 hours ago
[-]
Isn't it D? The video also seems to show D, unless there's another spot I'm missing.
reply
it_citizen
11 hours ago
[-]
I messed up my message, I wrote it from memory later.

I meant: At 3:17, which is the perfect fifth of E. It is B, the video is showing A.

reply
3shv
1 day ago
[-]
On a tangential note, how good/bad is learning piano on Occulus?
reply
maCDzP
17 hours ago
[-]
This is neat, do I have to hook up an keyboard to my computer. If so, any suggestions?
reply
cdong
20 hours ago
[-]
Fantastic project overall. I bought this a while ago and kick-started my piano learnings
reply
jacquesm
1 day ago
[-]
Very neat!
reply
ponta17
23 hours ago
[-]
I like it!
reply
ta1243
1 day ago
[-]
This sounds great in theory. I don't have a midi interface, but using the home row is a great idea.

If I install the hosted .deb and run it though, then press a, s, d with a 5 second wait it's fine. If I push them after half a second, so while the previous note is playing, it goes very wrong. Is that supposed to happen?

a (C plays, wait 1 second, C still plays), s (after C finishes D plays, a long time later).

press a,s,d and it's C for about 3 seconds, then D and E together.

Is this just a bug with my desktop environment?

reply
FinalDestiny
14 hours ago
[-]
It's a known bug on Linux, thanks for confirming it. I created an issue in the repo to track this just now.
reply