Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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: about 1 month 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

## Coming Soon

- [ ] Interactive inversion practice
- [ ] 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
```

# 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 `master`.

Code formatting is automically handled with Git Hooks.

# Credit

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/).