2020-04-18 14:30:38 +02:00
|
|
|
# Learn Piano Chords (LPC)
|
2020-04-10 15:48:00 +02:00
|
|
|
|
|
|
|
Are you a musician looking for a more effective way to improve your craft? Maybe
|
|
|
|
you're a music teacher looking to create useful exercises to give your students.
|
|
|
|
|
|
|
|
Studying music theory can be a fruitful undertaking, but it can often overwhelm
|
|
|
|
or bore students. I think that if practicing is enjoyable, students will
|
|
|
|
practice more. Practice doesn't make perfect; *perfect* practice makes perfect.
|
2020-04-18 14:30:38 +02:00
|
|
|
Learn Piano Chords is a web app that lowers the barrier to practicing and
|
2020-04-10 15:48:00 +02:00
|
|
|
internalizing music theory.
|
|
|
|
|
|
|
|
## How does it work?
|
|
|
|
|
|
|
|
1. Grab a cell phone or a laptop and your instrument.
|
2020-04-18 14:30:38 +02:00
|
|
|
2. Open a web browser and visit the Learn Piano Chords app (URL and app
|
|
|
|
forthcoming).
|
2020-04-10 15:48:00 +02:00
|
|
|
3. Set the tempo at which you would like to practice.
|
|
|
|
4. Set the target duration of your session.
|
|
|
|
5. Select the key(s) and chord(s) you would like to practice.
|
|
|
|
6. Set the tempo (i.e. pace) at which you would like to practice.
|
2020-04-18 14:30:38 +02:00
|
|
|
7. LPC will display chords at various rhythmic intervals during your practice
|
2020-04-10 15:48:00 +02:00
|
|
|
session. It is your job to play these chords in time before the next chord
|
|
|
|
appears.
|
|
|
|
|
|
|
|
## Highlights
|
|
|
|
|
2020-04-18 14:30:38 +02:00
|
|
|
Here are some useful features of LPC:
|
|
|
|
- Tempo: Set the rate at which LPC displays chords.
|
|
|
|
- Predefined practice sessions: LPC offers users a few practice sessions to get
|
2020-04-10 15:48:00 +02:00
|
|
|
users started. The goal, however, is to teach users to create their own
|
2020-04-18 14:30:38 +02:00
|
|
|
bespoke practice sessions. LPC aims to foster a community of practitioners who
|
2020-04-10 15:48:00 +02:00
|
|
|
curate and share their practice sessions.
|
|
|
|
- Whitelist / blacklist: Construct the set of chords you would like to
|
|
|
|
practice. Let's say you only want to practice triads in the keys of F, C, and
|
|
|
|
G. Would you also like to avoid diminished chords? Or maybe you *only* want to
|
2020-04-18 14:30:38 +02:00
|
|
|
practice major-7th chords for *all* keys. LPC supports all of these scenarios
|
2020-04-10 15:48:00 +02:00
|
|
|
and many others. You can save these chord configurations to reuse them at any
|
2020-04-18 14:30:38 +02:00
|
|
|
time. You can also share chord configurations with other LPC users if you find
|
2020-04-10 15:48:00 +02:00
|
|
|
the practice useful.
|
|
|
|
- Inversions: Every chord has inversions. For instance, every triad (i.e. chord
|
|
|
|
composed of three notes) has three inversions: root, second, and third
|
2020-04-18 14:30:38 +02:00
|
|
|
positions. LPC acknowledges all of the positions in which chords may appear
|
2020-04-10 15:48:00 +02:00
|
|
|
and helps you study all, some, or none of these inversions.
|
2020-04-18 14:30:38 +02:00
|
|
|
- Harmony: LPC understands basic harmony and can sort the chords you would like
|
2020-04-10 15:48:00 +02:00
|
|
|
to train in various harmonious permutations.
|
|
|
|
- Chaos-mode: Feeling confident? Throw the classical notions of harmony to the
|
2020-04-18 14:30:38 +02:00
|
|
|
wayside and use LPC in "chaos-mode" where LPC samples randomly from the Circle
|
2020-04-10 15:48:00 +02:00
|
|
|
of Fifths.
|
2020-04-11 00:03:01 +02:00
|
|
|
|
|
|
|
## Developing
|
|
|
|
|
|
|
|
If you're interested in contributing, the following will create an environment
|
|
|
|
in which you can develop:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
$ nix-shell
|
2020-04-13 23:39:15 +02:00
|
|
|
$ elm-live -- src/Main.elm --output=elm.js
|
2020-04-11 00:03:01 +02:00
|
|
|
```
|