tvl-depot/website/sandbox/chord-drill-sergeant/README.md
William Carroll 1d427c4921 Begin styling efforts
Start styling the Chord Drill Sergeant for mobile devices because that is that
device on which I will primarily use CDS.

I'm also deleting the debugger related code. I would like to support a debugger,
but I'm not currently using this one, so I am going to remove it to keep things
slender.

- Introduce TailwindCSS, which also introduced elm-live, index.html, index.css
- Add mobile-first styling for the preferences modal
- Remove unused code
2020-04-13 22:43:04 +01:00

57 lines
2.7 KiB
Markdown

# Chord Drill Sergeant (CDS)
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.
Chord Drill Sergeant is a web app that lowers the barrier to practicing and
internalizing music theory.
## How does it work?
1. Grab a cell phone or a laptop and your instrument.
2. Open a web browser and visit the Chord Drill Sergeant app (URL and app forthcoming).
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.
7. CDS will display chords at various rhythmic intervals during your practice
session. It is your job to play these chords in time before the next chord
appears.
## Highlights
Here are some useful features of CDS:
- Tempo: Set the rate at which CDS displays chords.
- Predefined practice sessions: CDS offers users a few practice sessions to get
users started. The goal, however, is to teach users to create their own
bespoke practice sessions. CDS aims to foster a community of practitioners who
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
practice major-7th chords for *all* keys. CDS supports all of these scenarios
and many others. You can save these chord configurations to reuse them at any
time. You can also share chord configurations with other CDS users if you find
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
positions. CDS acknowledges all of the positions in which chords may appear
and helps you study all, some, or none of these inversions.
- Harmony: CDS understands basic harmony and can sort the chords you would like
to train in various harmonious permutations.
- Chaos-mode: Feeling confident? Throw the classical notions of harmony to the
wayside and use CDS in "chaos-mode" where CDS samples randomly from the Circle
of Fifths.
## Developing
If you're interested in contributing, the following will create an environment
in which you can develop:
```shell
$ nix-shell
$ elm-live -- src/Main.elm --output=elm.js
```