ZaneH/piano-trainer
ZaneH/piano-trainer has 2,214 GitHub stars and 70 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-07 22:13 UTC. Last push 2026-04-24.
🎹 Memorize piano scales with ease! A piano practice program w/ MIDI support. Consider it an interactive reference manual
What you can do
- Home row keyboard input
- Cross-platform support
- Interactive scale practice
- Interactive chord practice
Measured star growth
- in 24h
- +1
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalPiano Trainer
Learn to play the piano at your own pace through various modes of practice. Watch the video
Features
- MIDI compatible
- Home row keyboard input
- Cross-platform support
- Interactive scale practice
- Interactive chord practice
- Interactive fifths practice
- Interactive quiz
- Hard mode
- Shuffle mode
Coming Soon
- More scales
- Settings
- Toggle questions in quiz mode
- Change keyboard sound
Releases
Download for free on all platforms on itch.io/piano-trainer
or download the latest build here
Run Locally
You'll need to setup Rust and Tauri CLI by following the Getting Started guide here.
$ git clone https://github.com/ZaneH/piano-trainer.git
$ cd piano-trainer
$ yarn tauri dev
Build Target Binary
Outputs to ./src-tauri/target/release/bundle
$ yarn tauri build
Build and Install Flatpak
For non-FHS distros, the Flatpak can be used as a self-contained runtime environment. Ensure these build dependencies are installed: flatpak, flatpak-builder, and appstream. After cloning the repo, use the following commands to install and run Piano Trainer:
$ flatpak-builder --force-clean --user --install-deps-from=flathub --install builddir flatpak/com.zane.piano-trainer.yaml
$ flatpak run com.zane.piano-trainer
Contributions
Contributions are more than welcome. Read the Technical Breakdown here to learn about the codebase.
Create a PR pointing to the dev branch. Stable builds will be merged into main.
Code formatting is automatically handled with Git Hooks.
Credits
Special thank you to ruohki/tauri-midi-example, kevinsqi/react-piano, and the Tauri Discord community.
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,487 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,294 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,771 starsmrdoob/three.js
JavaScript 3D Library.
117,842 stars