skip to navigation
skip to content

pyscales 1.0.2

Simple arithmetic on musical notes

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)


Some examples of use:

>>> Note('c') - Note('a-2')
>>> Note('c') + M3
>>> (Note('c3') + P5).get_note_string()
>>> in_chord(Note('c5'), Note('a'), MINOR)
>>> in_chord(Note('c5'), Note('a'), MAJOR)


To install pyscales, use pip install pyscales.

File Type Py Version Uploaded on Size
pyscales-1.0.2-py2.py3-none-any.whl (md5) Python Wheel 2.7 2017-09-01 5KB
pyscales-1.0.2.tar.gz (md5) Source 2017-09-01 3KB