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

Overview

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

Coming Soon

  • Interactive inversion practice
  • Change audio output (ASIO?)
  • 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/scale-trainer.git
$ cd scale-trainer
$ yarn && sh ./start-dev.sh

Build Target Binary

Outputs to ./src-tauri/target/release/bundle

$ yarn tauri build

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

Code formatting is automically handled with Git Hooks.

Credit

Special thank you to ruohki/tauri-midi-example, kevinsqi/react-piano, and the Tauri Discord community.

You might also like...

Reference for How to Write an Open Source JavaScript Library - https://egghead.io/series/how-to-write-an-open-source-javascript-library

Reference for How to Write an Open Source JavaScript Library The purpose of this document is to serve as a reference for: How to Write an Open Source

Dec 24, 2022

Modern Spatial Reference System Class. Supports EPSG Codes, PROJ4 String, and Well-Known Text.

spatial-reference-system Modern Spatial Reference System Class. supports EPSG Codes PROJ4 Strings ESRI and OGC Well-Known Text PRJ File install npm in

Jul 22, 2022

ParkyDB - block based, linkable and verifiable document database -- javascript reference implementation

ParkyDB - block based, linkable and verifiable document database -- javascript reference implementation

Ancon ParkyDB A data mesh database using Web 3.0 technology Note: Requires Node v17.7.2 and up for development More about data mesh architecture Block

Aug 16, 2022

The Next.js reference implementation on how to design better APIs

The Next.js reference implementation on how to design better APIs

This is the Next.js reference implementation of my blog bost on How to design better APIs. Getting Started Clone the repository git clone https://gith

Nov 22, 2022

The reference LRB-USDL arbitrage bot implementation, built with neon-js.

README Introduction arby is the reference arbitrage bot for Lyrebird. arby is able to run at a profit because Lyrebird swaps LRB and USDL based on the

May 9, 2022

Sanity plugin for viewing resources which reference a particular resource.

Sanity plugin for viewing resources which reference a particular resource.

@indent-oss/sanityio-referenced-by Plugin to see which documents reference a particular document referenced-by-sanityio.mov Video Alt Text: Demonstrat

Nov 2, 2022

A Complete Javascript Learning Reference Guide.

Learn Javascript A Javascript Reference Repository, which was initially created for my refernce is now open. Any one can Learn and Add more Content to

Oct 26, 2022

Stacks Voice is a reference project that builds on the SIP018 signed structured data standard to create an accountless internet forum.

Stacks Voice Stacks Voice is a reference project that builds on the SIP018 signed structured data standard to create an accountless internet forum. Th

Dec 21, 2022

A minimal, mobile-ready, album-centered music client for subsonic compatible music servers.

A minimal, mobile-ready, album-centered music client for subsonic compatible music servers.

Soniclair An album-centered subsonic client for PWA, Android, Android TV and Desktop SonicLair is a minimal, mobile-ready, album-centered music client

Dec 13, 2022
Comments
  • Adding Japanese translation

    Adding Japanese translation

    This is my first contribution to an open source project on GitHub. If something is wrong, please tell me. I'm familiar with the music well, but I tried to translate it as far as I know.

    I want to ask you one thing. What is "ping-pong scale practice" mean? I couldn't find the appropriate translations in Japanese.

    opened by SiraKen 4
  • Update README

    Update README

    I am practicing making pull requests so apology if this is incorrect.

    Since the coming soon features are 'checked', should you move them to the features list now? If not, then what does the 'check-mark' mean in the 'coming soon' list?

    opened by TLC-10 1
  • Implemented seventh chord practice

    Implemented seventh chord practice

    Hello, I implemented a new practice mode for seventh chords by copying the code for triad chords and modifying it to generate an additional seventh. The code could further be cleaned up by combining the two methods and providing an additional parameter for the chord degree. Tested by playing a scale up and down with hard mode and ping pong enabled and disabled.

    opened by djakhada 0
Releases(app-v1.1.0)
Owner
Zane Helton
Ex-Coinbase, tech-enthusiast, and beat maker. Contact me if you'd like
Zane Helton
Learn to play the piano at your own pace through various modes of practice.

Piano Trainer Learn to play the piano at your own pace through various modes of practice. Features MIDI compatible Cross-platform support Interactive

Derek Jones 14 Aug 25, 2022
Chronos is an ML Scheduler Tool, helping students to block and manage time with minimal manual intervention.

Chronos (Currently in progress) Chronos is an ML Scheduler Tool, helping students to block and manage time with minimal manual intervention. It adapts

Shromann Majumder 3 Aug 17, 2022
Very useful website application to memorize all the tasks of the day, mark the complete ones, organize them by importance and finally delete them.

To Do List Very useful website application to memorize all the tasks of the day, mark the complete ones, organize them by importance and finally delet

Gonzalo Medina 3 Jul 29, 2022
🟢 Music player app with a modern homepage, fully-fledged music player, search, lyrics, song exploration features, search, popular music around you, worldwide top charts, and much more.

Music-player-app see the project here. 1. Key Features 2. Technologies I've used Key Features: ?? Fully responsive clean UI. ?? Entirely mobile respo

suraj ✨ 3 Nov 16, 2022
GraphQL-first boilerplate that scales with TypeScript + Node Express + Apollo GraphQL APIs.

graphql-typescript-boilerplate A boilerplate project for quickly building Graphql APIs and with typescript ?? Installation Install the dependencies: y

Youssef Hajjari 6 May 15, 2022
A quotaless, partially limitless, and fast Node.js Multiplayer Piano server implementation that efficiently makes use of the protocol and uWebSockets.js

speedymppserver A quotaless, partially limitless, and fast Node.js Multiplayer Piano server implementation that efficiently makes use of the protocol

Lapis 4 Oct 14, 2022
A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snippets.

Warm Up ?? ??‍?? A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snipp

Arhun Saday 34 Dec 12, 2022
A sequence of smart contracts to practice gas optimization. These are used as practice assignments for RareSkills.io and the Udemy Gas Optimization Course

RareSkills Gas Puzzles Puzzles that are ready for you Distribute (hard) Array Sum (easy) Escrow EscrowV2 Mint Presale Require (easy) Staking Contribut

RareSkills 240 Dec 31, 2022
Query for CSS brower support data, combined from caniuse and MDN, including version support started and global support percentages.

css-browser-support Query for CSS browser support data, combined from caniuse and MDN, including version support started and global support percentage

Stephanie Eckles 65 Nov 2, 2022
An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web

Feel free to contribute! Where? http://www.jstherightway.org Why? Today we have a bunch of websites running JavaScript. I think we need a place to put

BrazilJS 8.5k Jan 1, 2023