Skip to main content

Pyscales

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.

Release files for pyscales 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyscales 1.0.2
File Size Uploaded
pyscales-1.0.2.tar.gz 3.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyscales 1.0.2
File Interpreter ABI Platform
pyscales-1.0.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 9.2 kB

Release files / pyscales-1.0.2.tar.gz

Download URL pyscales-1.0.2.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2b6e73a0773f01caaed23ca18d79dfa6422921d19e02eb1bb72d964c07403b28
BLAKE2b-256 checksum
How to use checksums
2ced8311dd0a31fcf781742f99e3b3d86bd831f43eaf3653d262b04a611cd7ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyscales-1.0.2-py2.py3-none-any.whl

Download URL pyscales-1.0.2-py2.py3-none-any.whl
Size 5.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
6ab817793f96ccbbcb72bcdb0e652b1480f8dfecd99eaaf909ec0cd81107a705
BLAKE2b-256 checksum
How to use checksums
d6d90a3aabb3bae413f8549bd779e625d63a9b6a2a95b685216db22002230968
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page