Musical Notes is a CLI tool to assist in the formation of scales, chords, and harmonic fields.
The entire application is based on a command called "musical-notes". This command has a subcommand related to each action that the application can perform, such as scales, chords, and harmonic fields.
To install the project's CLI, we recommend using pipx
for this installation:
pipx install musical-notes
Although this is only a recommendation! You can also install the project with your preferred package manager, such as pip
:
pip install musical-notes
You can call the scales via the command line. For example:
musical-notes scale
Returning the degrees and notes corresponding to this scale:
┏━━━┳━━━━┳━━━━━┳━━━━┳━━━┳━━━━┳━━━━━┓
┃ I ┃ II ┃ III ┃ IV ┃ V ┃ VI ┃ VII ┃
┡━━━╇━━━━╇━━━━━╇━━━━╇━━━╇━━━━╇━━━━━┩
│ C │ D │ E │ F │ G │ A │ B │
└───┴────┴─────┴────┴───┴────┴─────┘
The first parameter of the CLI is the tonic
of the scale you wish to display. This way, you can change the returned scale. For example, the F#
scale:"
musical-notes scale F#
Result in:
┏━━━━┳━━━━┳━━━━━┳━━━━┳━━━━┳━━━━┳━━━━━┓
┃ I ┃ II ┃ III ┃ IV ┃ V ┃ VI ┃ VII ┃
┡━━━━╇━━━━╇━━━━━╇━━━━╇━━━━╇━━━━╇━━━━━┩
│ F# │ G# │ A# │ B │ C# │ D# │ F │
└────┴────┴─────┴────┴────┴────┴─────┘
You can also change the key (PT-BR=tonalidade) of the scale! This is the second parameter of the command line. For example, the scale of D# major
:"
musical-notes scale D# major
┏━━━━┳━━━━┳━━━━━┳━━━━┳━━━━┳━━━━┳━━━━━┓
┃ I ┃ II ┃ III ┃ IV ┃ V ┃ VI ┃ VII ┃
┡━━━━╇━━━━╇━━━━━╇━━━━╇━━━━╇━━━━╇━━━━━┩
│ D# │ F │ G │ G# │ A# │ C │ D │
└────┴────┴─────┴────┴────┴────┴─────┘
Basic use:
musical-notes chord
┏━━━┳━━━━━┳━━━┓
┃ I ┃ III ┃ V ┃
┡━━━╇━━━━━╇━━━┩
│ C │ E │ G │
└───┴─────┴───┘
musical-notes chord C+
┏━━━┳━━━━━┳━━━━┓
┃ I ┃ III ┃ V+ ┃
┡━━━╇━━━━━╇━━━━┩
│ C │ E │ G# │
└───┴─────┴────┘
You can call the Harmonic Fields via the subcommand harmonic-field
. For example:
musical-notes harmonic-field
┏━━━┳━━━━┳━━━━━┳━━━━┳━━━┳━━━━┳━━━━━━┓
┃ I ┃ ii ┃ iii ┃ IV ┃ V ┃ vi ┃ vii° ┃
┡━━━╇━━━━╇━━━━━╇━━━━╇━━━╇━━━━╇━━━━━━┩
│ C │ Dm │ Em │ F │ G │ Am │ B° │
└───┴────┴─────┴────┴───┴────┴──────┘
NOTE:
By default, the parameters used are the tonic of C
and the major
harmonic field.
You can change the parameters of the tonic note
and key (tonality)
.
musical-notes harmonic-field [TONIC] [KEY]
An example with the harmonic field of E
:
musical-notes harmonic-field E
┏━━━┳━━━━━┳━━━━━┳━━━━┳━━━┳━━━━━┳━━━━━━┓
┃ I ┃ ii ┃ iii ┃ IV ┃ V ┃ vi ┃ vii° ┃
┡━━━╇━━━━━╇━━━━━╇━━━━╇━━━╇━━━━━╇━━━━━━┩
│ E │ F#m │ G#m │ A │ B │ C#m │ D#° │
└───┴─────┴─────┴────┴───┴─────┴──────┘
An example using the harmonic field of E
in the minor
tonality:
musical-notes harmonic-field E minor
┏━━━━┳━━━━━┳━━━━━┳━━━━┳━━━━┳━━━━┳━━━━━┓
┃ i ┃ ii° ┃ III ┃ iv ┃ v ┃ VI ┃ VII ┃
┡━━━━╇━━━━━╇━━━━━╇━━━━╇━━━━╇━━━━╇━━━━━┩
│ Em │ F#° │ G │ Am │ Bm │ C │ D │
└────┴─────┴─────┴────┴────┴────┴─────┘
To discover other options, you can use the --help
flag:
musical-notes --help
Usage: musical-notes [OPTIONS] COMMAND [ARGS]...
╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion [bash|zsh|fish|powershell|pwsh] Install completion for the specified shell. [default: None] │
│ --show-completion [bash|zsh|fish|powershell|pwsh] Show completion for the specified shell, to copy it or customize the installation. │
│ [default: None] │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ chord │
│ harmonic-field │
│ scale │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Information about subcommands can be accessed by using the --help
flag after the parameter name. An example of using help
on the harmonic fields:
musical-notes harmonic-field --help
Usage: musical-notes harmonic-field [OPTIONS] [TONIC] [KEY]
╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ tonic [TONIC] Harmonic field tonic note [default: c] │
│ key [KEY] Harmonic field key (PT-BR=tonalidade) [default: major] │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
NOTE:
You can also use the main documentation to learn more about the project.
- Programming Languages:
- CLI:
- Test:
- Linters:
- Project management:
- Documentation:
The project credits are to Eduardo Mendes Youtube channel. I followed the "Construindo um pacote Python do zero #CodaComigo" playlist to develop this project. However, I translated all the project to English.
Rodrigo Leite da Silva