Retrieve a scale based on a given mode and starting note.
Project description
Musical Scales
Retrieve a scale based on a given mode and starting note. Information about these scales can be found on Wikipedia.
Currently supported scales:
- acoustic
- aeolian
- algerian
- super locrian
- augmented
- bebop dominant
- blues
- chromatic
- dorian
- double harmonic
- enigmatic
- flamenco
- romani
- half-diminished
- harmonic major
- harmonic minor
- hijaroshi
- hungarian minor
- hungarian major
- in
- insen
- ionian
- iwato
- locrian
- lydian augmented
- lydian
- locrian major
- pentatonic major
- melodic minor ascending
- melodic minor descending
- pentatonic minor
- mixolydian
- neapolitan major
- neapolitan minor
- octatonic c-d
- octatonic c-c#
- persian
- phrygian dominant
- phrygian
- prometheus
- harmonics
- tritone
- two-semitone tritone
- ukranian dorian
- whole-tone scale
- yo
The Note class
Notes can be specified with either a name or a given number of semitones above middle C (C3). Octaves are done MIDI-style, so B2 is immediately followed by C3. Example notes:
Note("D")
the first D above middle CNote(2)
two semitones above middle C, which is the same asNote("D")
.
Notes have two fundamental properties:
.name
e.g. "C".octave
e.g. 3
You can retrieve both together MIDI style with:
.midi
e.g. "F#4"
You can add an integer to a note to raise it by that many semitones:
Note("C") + 12
the first C above middle C
Examples
musical_scales.scale("D")
# [D3, E3, F#3, G3, A3, B3, C#4, D4]
musical_scales.scale("F#", "blues")
# [F#3, A3, B3, C4, C#4, E4, F#4]
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-scales-0.1.2.tar.gz
(4.1 kB
view hashes)
Built Distribution
Close
Hashes for musical_scales-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e2c87dd4431705587ce7aab95609f9657dae43cbfb5cf236f5f2f48658a55cc |
|
MD5 | f4824446a04ebb96bb71d70cdd02579d |
|
BLAKE2b-256 | dfb0574c8b2749561306d75273503db998ad45ebf5a41baaf8e5fd2ca30c0a0b |