Simple arithmetic on musical notes
Project description
This module provides representations for musical notes and intervals in the basic 12-note even tempered system that is typically used in western music. It provides basic arithmetic and conversion to and from midi numbers.
Classes, Functions and Definitions
This module provides the following classes:
Note: represents a musical note
Interval: represents the interval between two notes
It also provides the following utility functions:
get_midi_number(note_string) -> midi number
in_chord(note, root, chord) -> boolean
The following intervals are predefined:
P1 = unison = Interval(0) m2 = semitone = Interval(1) M2 = Interval(2) m3 = Interval(3) M3 = Interval(4) P4 = Interval(5) aug4 = dim5 = Interval(6) P5 = Interval(7) m6 = Interval(8) M6 = Interval(9) m7 = Interval(10) M7 = Interval(11) P8 = octave = Interval(12)
The following chord types are predefined:
MAJOR = (unison, M3, P5) MINOR = (unison, m3, P5) SEVENTH = (unison, M3, P5, m7)
Examples
Some examples of use:
>>> Note('c') - Note('a-2') Interval(16) >>> Note('c') + M3 Note(64) >>> (Note('c3') + P5).get_note_string() 'G3' >>> in_chord(Note('c5'), Note('a'), MINOR) True >>> in_chord(Note('c5'), Note('a'), MAJOR) False
Installing
To install pyscales, use pip install pyscales.
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
Hashes for pyscales-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ab817793f96ccbbcb72bcdb0e652b1480f8dfecd99eaaf909ec0cd81107a705 |
|
MD5 | 40a050370226a14ff145bdba7a65543c |
|
BLAKE2b-256 | d6d90a3aabb3bae413f8549bd779e625d63a9b6a2a95b685216db22002230968 |