An open API service indexing awesome lists of open source software.

https://github.com/zaneh/piano-trainer

Memorize piano scales with ease! A piano practice program w/ MIDI support. Consider it an interactive reference manual 🎹
https://github.com/zaneh/piano-trainer

audio chords circle-of-fifths cross-platform keyboard midi midir music music-learning music-theory note piano practice quiz react rust scales tauri trainer

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

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](https://vimeo.com/730642802)


Piano Trainer screenshot
Piano Trainer screenshot #2

## Features

- [x] MIDI compatible
- [x] Home row keyboard input
- [x] Cross-platform support
- [x] Interactive scale practice
- [x] Interactive chord practice
- [x] Interactive fifths practice
- [x] Interactive quiz
- [x] Hard mode
- [x] Shuffle mode

## Coming Soon

- [ ] More scales
- [ ] Settings
- [ ] Toggle questions in quiz mode
- [x] Change keyboard sound

# Releases

Download for free on all platforms on [itch.io/piano-trainer](https://zaneh.itch.io/piano-trainer)

or download the [latest build here](https://github.com/ZaneH/piano-trainer/releases)

## Run Locally

You'll need to setup Rust and Tauri CLI by following the [Getting Started guide here](https://tauri.app/v1/guides/getting-started/prerequisites).

```bash
$ 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`

```bash
$ 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:

```bash
$ 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](https://github.com/ZaneH/piano-trainer/wiki/Technical-Breakdown) 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](https://github.com/ruohki/tauri-midi-example), [kevinsqi/react-piano](https://github.com/kevinsqi/react-piano), and the [Tauri Discord community](https://tauri.app/).