Skip to main content

Musical Notes CLI: A command-line tool for music students to practice identifying and memorizing musical notes.

Project description

Musical Notes

Documentation Status CI codecov

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     │
└───┴────┴─────┴────┴───┴────┴──────┘

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


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

musical_notes-0.1.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

musical_notes-0.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

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

Hashes for musical_notes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8ef4f3619e9dc232d36d6c299b1be412a76a55738f8f0b6b2bc192e929b63eec
MD5 20542a1b81f265bd543794cebe80a11a
BLAKE2b-256 4cd427b92d30786bc85b946da74086de4f7808832cd83d68d5a97d417e732b36

See more details on using hashes here.

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

Hashes for musical_notes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a945f78d96045bbbc34840adc017661f91c4add7af7beda905f5f14f7a7e00c
MD5 afa5615154f4e2356c6f268635baa0d4
BLAKE2b-256 1ef0e14dbeb1dfdbec65680edb1b83a7d73ec760ee5a7b821075a2a79f304927

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page