A downloadable tool for Windows, macOS, and Linux

Download NowName your own price

Piano Trainer is an app designed to help users learn basic piano scales and chords at their own pace using a MIDI or QWERTY keyboard. The app offers two modes: Quiz and Practice. In Quiz mode, users can test their knowledge of the circle of fifths and key recognition. Practice mode allows users to work on scales, chords, and fifths with interactive exercises and feedback.

The app also includes a couple of extra options:

  • Ping Pong mode: A mode where users play scales forwards, then backwards.
  • Hard mode: A mode that hides the next note in the scale until the user gets it correct.

Piano Trainer has built-in piano sounds and support for multiple languages (English, French, Japanese, German, Portuguese, and Chinese.) The app is cross-platform and open-sourced.

GitHub source code can be found here.

Thank you to everyone supporting the project, it means a lot!

PlatformsWindows, macOS, Linux
Rated 5.0 out of 5 stars
(1 total ratings)
TagsAudio, GitHub, Indie, MIDI, Music, Open Source, piano, Singleplayer, Tutorial
Code licenseMIT License
Average sessionA few seconds
InputsKeyboard, Mouse, MIDI controller
LinksSource code


Download NowName your own price

Click download now to get access to the following files:

Windows (.msi)
macOS (.dmg)
Linux (.AppImage)

Development log


Log in with itch.io to leave a comment.

(7 edits)

Kind of weird. I can play each note on my keyboard once which will produce the note sound, and then the keys don't trigger sound anymore. As well, the software doesn't follow along when I hit the note it's asking for during the scale practice. This is on the latest 1.0.3 mac release.

Edit: Tested a little more and I found something interesting. When I use an Alesis Q88 it has the issue above.  To add on to the issue, the notes are elongated almost as if the sustain pedal is engaged. I don't have a sustain pedal hooked up. When I use the Komplete Kontrol M32 the program works as intended. Notes are not sustained either. 

(2 edits)

edit: Just fixed this in a recent update



(1 edit) (+1)

I just installed this on my Mac (Big Sur) and the MIDI isn't working with the app. The on screen keyboard makes sounds, but my MIDI keyboard isn't triggering anything. I see no options to configure which MIDI device it should be monitoring.

Update: I unplugged another MIDI device, leaving only my direct USB keyboard and that resolved the issue. Please add the option to specify which device to listen to, and possibly the MIDI channel

Will do redconfetti, I understand that'll be a helpful feature

Thank you!


MIDI is not working for me either

(2 edits)

Hi redconfetti, I just released an update to choose your MIDI device. That should help with debugging your connections

It should ask to update next time you open the app