Python music library
Project description
A python library for playing with sound. by Jordan Scales (http://jordanscales.com) and friends on Github: http://jdan.github.io/Melopy
Install it
You may need to use sudo for this to work.
$ pip install melopy
Load it
$ python Python 2.7.2 (default, Jun 20 2012, 16:23:33) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import melopy >>> melopy.major_scale('C5') ['C5', 'D5', 'E5', 'F5', 'G5', 'A5', 'B5'] >>>
Develop
To install locally:
$ git clone git://github.com/jdan/Melopy $ cd Melopy $ python setup.py install
For examples, check out the examples directory:
$ python examples/canon.py $ python examples/parser.py entertainer < examples/scores/entertainer.mlp
To run the tests:
$ python tests/melopy_tests.py
Organization
Melopy is broken down into 3 subcategories - melopy, scales, and utility.
- melopy.py contains the Melopy class
this is used for creating a Melopy and adding notes to it, rendering, etc
- scales.py contains methods for generating scales
for instance, if you want to store the C major scale in an array
utility.py contains methods for finding frequencies of notes, etc
melopy.py
>>> from melopy import Melopy >>> m = Melopy('mysong') >>> m.add_quarter_note('A4') >>> m.add_quarter_note('C#5') >>> m.add_quarter_note('E5') >>> m.render() [==================================================] 100% Done
scales.py
chromatic_scale
harmonic_minor_scale
major_pentatonic_scale
major_scale
minor_scale
major_triad
minor_triad
melodic_minor_scale
minor_pentatonic_scale
>>> from melopy.scales import * >>> major_scale('C4') ['C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4'] >>> major_scale('C4','dict') {0: 'C4', 1: 'D4', 2: 'E4', 3: 'F4', 4: 'G4', 5: 'A4', 6: 'B4'} >>> major_scale('C4','tuple') ('C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4') >>> minor_scale('D#5') # has some bugs ['D#5', 'F5', 'F#5', 'G#5', 'A#5', 'B5', 'C#6'] >>> major_triad('A4') ['A4', 'C#5', 'E5'] >>> major_triad('A4', 'tuple') ('A4', 'C#5', 'E5')
utility.py
key_to_frequency
key_to_note
note_to_frequency
note_to_key
frequency_to_key
frequency_to_note
>>> from melopy.utility import * >>> key_to_frequency(49) 440.0 >>> note_to_frequency('A4') 440.0 >>> note_to_frequency('C5') 523.2511306011972 >>> note_to_key('Bb5') 62 >>> key_to_note(65) 'C#6' >>> key_to_note(304) # even something stupid 'C26' >>> frequency_to_key(660) 56 >>> frequency_to_note(660) 'E5'
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
File details
Details for the file Melopy3-0.1.3.4.tar.gz
.
File metadata
- Download URL: Melopy3-0.1.3.4.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de63b3a9027dd7560baea149e50c94f2de52b3d093e523793b9b7e17f9d81cd7 |
|
MD5 | 6d1116888cadd20c68be9addba35e193 |
|
BLAKE2b-256 | 231ced245790cee7e0e268a37ba7b80913bb36a7445abb7dfd874e112a6ac35c |