https://github.com/philippotto/Piano-Trainer
A web-app for training sheet reading skills by using your MIDI-enabled piano.
https://github.com/philippotto/Piano-Trainer
Last synced: 20 days ago
JSON representation
A web-app for training sheet reading skills by using your MIDI-enabled piano.
- Host: GitHub
- URL: https://github.com/philippotto/Piano-Trainer
- Owner: philippotto
- License: other
- Created: 2014-08-24T17:51:29.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2018-05-22T20:20:31.000Z (about 8 years ago)
- Last Synced: 2025-09-14T03:37:07.778Z (9 months ago)
- Language: JavaScript
- Homepage: http://philippotto.github.io/Piano-Trainer/
- Size: 14.1 MB
- Stars: 248
- Watchers: 12
- Forks: 33
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-projects - Piano-Trainer - A web-app for training sheet reading skills by using your MIDI-enabled piano. ⭐255 `JavaScript` (📦 Legacy & Inactive Projects)
README
[SheetMusicTutor](http://philippotto.github.io/Piano-Trainer/) [](https://travis-ci.org/philippotto/Piano-Trainer)
=============
SheetMusicTutor is a web app which allows practicing sheet reading skills right in your browser.
Currently, there are two different modes:
- Pitch reading training
- Rhythm training
The **pitch reading training** mode uses the [Web MIDI API](http://www.w3.org/TR/webmidi/). Connect your piano via MIDI to your computer and play the displayed notes.
The generated notes won't be typical chords in a typical combination.
So, you can't rely on intuition or experience.
Instead you must read the correct notes.
Read more in this [blog post](http://scm.io/blog/hack/2015/07/piano-trainer/).
On the contrary, the **rhythm training** mode can be used without a keyboard. Just tap the given rhythm with your space button or on your touch screen.
SheetMusicTutor is written in ES6 and React, uses [Vex](https://github.com/0xfe/vexflow) for rendering the sheets and [Chartist](https://github.com/gionkunz/chartist-js) for rendering the graphs.
The tests are executed with Jasmine/Karma on Travis.
## How to use the pitch reading training
Currently, the Web MIDI API has very limited browser support.
Try Chrome (at least version 39) and activate the experimental `enable-web-midi` flag (`chrome://flags/#enable-web-midi`).
After connecting your MIDI device to your computer, it may be necessary to restart Chrome.
Additionally, make sure that no other software is reading from the device.
Finally: Just visit the GitHub hosted [Piano-Trainer](http://philippotto.github.io/Piano-Trainer/).
If you want to run SheetMusicTutor locally, checkout the repository and execute `npm install` and `npm start` within the folder.
## License
MIT © Philipp Otto