Musical Notes CLI: A command-line tool for music students to practice identifying and memorizing musical notes.
Project description
Musical Notes
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.
Contents
How to Install the Project
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
How to use?
Scales
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 │
└───┴────┴─────┴────┴───┴────┴─────┘
Changing the scale tonic
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 │
└────┴────┴─────┴────┴────┴────┴─────┘
Changing the key (PT-BR=tonalidade) of the scale
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 │
└────┴────┴─────┴────┴────┴────┴─────┘
Chords
Basic use:
musical-notes chord
┏━━━┳━━━━━┳━━━┓
┃ I ┃ III ┃ V ┃
┡━━━╇━━━━━╇━━━┩
│ C │ E │ G │
└───┴─────┴───┘
Chord variations (Portuguese=Variações na cifra)
musical-notes chord C+
┏━━━┳━━━━━┳━━━━┓
┃ I ┃ III ┃ V+ ┃
┡━━━╇━━━━━╇━━━━┩
│ C │ E │ G# │
└───┴─────┴────┘
Harmonic Field
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.
Changes in the harmonic fields
You can change the parameters of the tonic note
and key (tonality)
.
musical-notes harmonic-field [TONIC] [KEY]
Change in the tonic of the field
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#° │
└───┴─────┴─────┴────┴───┴─────┴──────┘
Change in the tonality of the field
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 │
└────┴─────┴─────┴────┴────┴────┴─────┘
More information about the CLI
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 │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
More information about subcommands
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.
Tech Stack
- Programming Languages:
- CLI:
- Test:
- Linters:
- Project management:
- Documentation:
Credits
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file musical_notes-0.1.0.tar.gz
.
File metadata
- Download URL: musical_notes-0.1.0.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.10 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ef4f3619e9dc232d36d6c299b1be412a76a55738f8f0b6b2bc192e929b63eec |
|
MD5 | 20542a1b81f265bd543794cebe80a11a |
|
BLAKE2b-256 | 4cd427b92d30786bc85b946da74086de4f7808832cd83d68d5a97d417e732b36 |
File details
Details for the file musical_notes-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: musical_notes-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.10.10 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a945f78d96045bbbc34840adc017661f91c4add7af7beda905f5f14f7a7e00c |
|
MD5 | afa5615154f4e2356c6f268635baa0d4 |
|
BLAKE2b-256 | 1ef0e14dbeb1dfdbec65680edb1b83a7d73ec760ee5a7b821075a2a79f304927 |