Home
Softono

Piano Trainer

Open source MIT TypeScript
2.2K
Stars
66
Forks
2
Issues
12
Watchers
3 months
Last Commit

 About Piano Trainer

🎹 Memorize piano scales with ease! A piano practice program w/ MIDI support. Consider it an interactive reference manual

Platforms

Web Self-hosted

Languages

TypeScript

Need Help Installing Piano Trainer?

We provide expert installation service for this software. Our team will install, configure, and secure Piano Trainer on your server. plans start at just $30.

Piano Trainer

View on GitHub

Piano Trainer - Memorize piano scales and chords with ease | Product Hunt

Piano Trainer

Learn to play the piano at your own pace through various modes of practice. Watch the video

Piano Trainer screenshot Piano Trainer screenshot #2

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.