A simple Node CLI to generate the correct musical scale based on root note and mode specified.
git clone https://github.com/chrishuman0923/music-theory.git
cd music-theory
andnpm install
-
npm start dev
will run the app in development mode and use nodemon to watch the typescript files insrc/
for changes and reload the app.NOTE: To update the inputs received by the app in development, you can update them at the top of the
src/script.ts
file.
npm test
will run the defined tests to confirm the app is working correctly.
-
npm build
will compile the.ts
files insrc/
to.js
files and put them indist/
. -
npm start
will run the app in production mode and use the built files indist/
.NOTE: Command line arguments should be passed to the application in production. The application takes 2 arguments:
rootNote
: The root note of the scale (e.g.C
,Eb
, etc.).modeIndex
: The mode of the scale. (e.g.2
,3
, etc.).
- Add additional tests to cover the remaining modes.
- Show the correct enharmonic notes for the scale rather than showing the enharmonic note pair. (e.g. For the
F major
scale, showBb
instead ofA#/Bb
). - Allow a user to specify an instrument and the app will show the correctly transposed scale. (e.g. For the
Bb major
scale on the Bb clarinet, show theC
scale). - Add either a light weight web interface or make this a simple Node CLI that accepts arguments when running start script.