Skip to content

Melodica Notes is a CLI tool to assist melodica players with musical scales, chords, and harmonics.

License

Notifications You must be signed in to change notification settings

vhsenna/melodica-notes

Repository files navigation

logo

Melodica Notes

Documentation Pipeline codecov PyPI version

Melodica Notes is a CLI tool to assist melodica players with musical scales, chords, and harmonics.

How to Install

For the best experience, we recommend installing the project's CLI using pipx:

pipx install melodica-notes

However, this is just a recommendation. You can also install the project using your preferred package manager, such as pip:

pip install melodica-notes

How to Use

The core of the application revolves around a command called melodica-notes.

Melodica Notes offers three subcommands: scale, chord, and harmonic.

Scale

The scale subcommand followed by a musical note, displays the scale for that specific note.

By default, if called without any parameters, it returns the C major scale.

At present, Melodica Notes supports major and minor scale modes.

Major Scale

melodica-notes scale C
┏━━━┳━━━━┳━━━━━┳━━━━┳━━━┳━━━━┳━━━━━┓
┃ I ┃ II ┃ III ┃ IV ┃ V ┃ VI ┃ VII ┃
┡━━━╇━━━━╇━━━━━╇━━━━╇━━━╇━━━━╇━━━━━┩
│ C │ D  │ E   │ F  │ G │ A  │ B   │
└───┴────┴─────┴────┴───┴────┴─────┘

Minor Scale

melodica-notes scales F# minor
┏━━━━┳━━━━┳━━━━━┳━━━━┳━━━━┳━━━━┳━━━━━┓
┃ I  ┃ II ┃ III ┃ IV ┃ V  ┃ VI ┃ VII ┃
┡━━━━╇━━━━╇━━━━━╇━━━━╇━━━━╇━━━━╇━━━━━┩
│ F# │ G# │ A#  │ B  │ C# │ D  │ E   │
└────┴────┴─────┴────┴────┴────┴─────┘

Chord

The chord subcommand operates by identifying the degrees associated within the major scale. When you input a chord, it determines the notes comprising that chord and their corresponding degrees within the scale.

Melodica Notes supports the following chord types: major (default), m (minor), dim (diminished), + (augmented) and m+ (minor augmented). For example:

Major Chord

melodica-notes chord A
┏━━━┳━━━━━┳━━━┓
┃ I ┃ III ┃ V ┃
┡━━━╇━━━━━╇━━━┩
│ A │ C#  │ E │
└───┴─────┴───┘

Minor Chord

melodica-notes chord Em
┏━━━┳━━━━━━┳━━━┓
┃ I ┃ III- ┃ V ┃
┡━━━╇━━━━━━╇━━━┩
│ E │ G    │ B │
└───┴──────┴───┘

Diminished Chord

melodica-notes chord Fdim
┏━━━┳━━━━━━┳━━━━┓
┃ I ┃ III- ┃ V- ┃
┡━━━╇━━━━━━╇━━━━┩
│ F │ G#   │ B  │
└───┴──────┴────┘

Minor Augmented Chord

melodica-notes chord Gm+
┏━━━┳━━━━━━┳━━━━┓
┃ I ┃ III- ┃ V+ ┃
┡━━━╇━━━━━━╇━━━━┩
│ G │ A#   │ D# │
└───┴──────┴────┘

The - symbolizes a decrease of one semitone, indicating that to form the major chord, F would need to be F#.

The + symbolizes an increase of one semitone, suggesting that to form the major chord, A# would need to be A.

Harmonic

The harmonic represent scales using chords.

You can access the harmonic using the harmonic subcommand followed by a musical note.

Melodica Notes supports major (default) and minor harmonic modes. For example:

Harmonic Major

melodica-notes harmonic E
┏━━━┳━━━━━┳━━━━━┳━━━━┳━━━┳━━━━━┳━━━━━━━┓
┃ I ┃ ii  ┃ iii ┃ IV ┃ V ┃ vi  ┃ vii°  ┃
┡━━━╇━━━━━╇━━━━━╇━━━━╇━━━╇━━━━━╇━━━━━━━┩
│ E │ F#m │ G#m │ A  │ B │ C#m │ D#dim │
└───┴─────┴─────┴────┴───┴─────┴───────┘

Harmonic Minor

melodica-notes harmonic F# minor
┏━━━━━┳━━━━━━━┳━━━━━┳━━━━┳━━━━━┳━━━━┳━━━━━┓
┃ i   ┃ ii°   ┃ III ┃ iv ┃ v   ┃ VI ┃ VII ┃
┡━━━━━╇━━━━━━━╇━━━━━╇━━━━╇━━━━━╇━━━━╇━━━━━┩
│ F#m │ G#dim │ A   │ Bm │ C#m │ D  │ E   │
└─────┴───────┴─────┴────┴─────┴────┴─────┘

Additional Information

For additional options and help, use the --help flag with any command:

melodica-notes [COMMANDS] --help

╭─ Commands ─────────────────────────────────────────────────────╮
│ chord                                                          │
│ harmonic                                                       │
│ scale                                                          │
╰────────────────────────────────────────────────────────────────╯

This will provide you with detailed information on available commands and options.

Enjoy exploring different musical scales and chords effortlessly with Melodica Notes!

How to Contribute

To contribute to the project, follow these steps and create a pull request.

Clone the Repository

Clone the project repository to your local machine using the following command:

git clone https://github.com/vhsenna/melodica-notes.git

Install Poetry

Ensure you have Poetry installed by running the following command:

pipx install poetry

Install Dependencies

Navigate to the project directory and install the required dependencies with Poetry:

cd melodica-notes
poetry install

Run the CLI

Execute the CLI by running the following command, replacing [subcommand] with the desired subcommand:

melodica-notes [subcommand]

Run Tests

Run the tests to ensure everything is functioning correctly:

task test

Run Documentation

Generate the project documentation using the following command:

task docs

Upcoming Features

About

Melodica Notes is a CLI tool to assist melodica players with musical scales, chords, and harmonics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages