Package musx
musx
musx (pronounced muse ex) is a package for composing and processing symbolic music information. It was originaly created for teaching my CS+Music classes and it now contains all the compositional tools developed in my Common Music and Grace systems, including support for complex pattern generation, randomness, mapping, enveloping, spectral composition, and microtonality. The 'base' musx package provides a back end to read/write midi files and MusicXML; to compose with audio files or send/receive real time midi or osc, see the 'Additional support and customizations' section of INSTALL.md.
musx requires the lxml, numpy, matplotlib, and jupyter packages.
musx documentation, tutorials, and demos are available on the github website.
Rick Taube
Emeritus Professor, Composition/Theory/CS+Music
School of Music
University of Illinois Urbana-Champaign
Email: taube@illinois.edu
President, Illiac Software Inc.
https://harmonia.cloud/
Email: taube@illiacsoftware.com
Expand source code
"""
# musx
musx (pronounced *muse ex*) is a package for composing and processing symbolic
music information. It was originaly created for teaching my CS+Music classes
and it now contains all the compositional tools developed in my Common Music
and Grace systems, including support for complex pattern generation, randomness,
mapping, enveloping, spectral composition, and microtonality. The 'base' musx
package provides a back end to read/write midi files and MusicXML; to compose
with audio files or send/receive real time midi or osc, see the 'Additional
support and customizations' section of
[INSTALL.md](https://github.com/musx-admin/musx/blob/main/INSTALL.md).
musx requires the [lxml](https://pypi.org/project/lxml/),
[numpy](https://pypi.org/project/numpy/),
[matplotlib](https://matplotlib.org/),
and [jupyter](https://pypi.org/project/jupyter/) packages.
musx [documentation](https://musx-admin.github.io/musx/),
[tutorials](https://github.com/musx-admin/musx/tree/main/tutorials),
and [demos](https://github.com/musx-admin/musx/tree/main/demos)
are available on the github [website](https://github.com/ricktaube/musx).
----
Rick Taube
Emeritus Professor, Composition/Theory/CS+Music
School of Music
University of Illinois Urbana-Champaign
Email: taube@illinois.edu
President, Illiac Software Inc.
https://harmonia.cloud/
Email: taube@illiacsoftware.com
"""
# Do not alter this version line, it is automatically replaced by the correct
# version number when the software is released.
version="N.N.N"
#from fractions import Fraction
from .rhythm import *
from .midi import gm
from .midi.midimsg import *
from .midi.midievent import *
from .midi.midifile import *
from .seq import *
#from .gens import *
from .patterns import *
from .paint import *
from .pitch import *
from .note import *
from .interval import *
from .tools import *
from .ran import *
from .envs import *
from .score import *
from .spectral import *
from .pc import *
from .csound import *
from .mxml.notation import *
# importing the frac module adds musx methods to python's Fraction class,
# there are no symbols to import from the module itself.
from .frac import *
Sub-modules
musx.audio
-
A module providing support for reading and writing audio files using Todd Ingall's pysndlib package: …
musx.csound
-
Author: Michael Gogins …
musx.envs
-
Implements Env, a class for line (xy) envelopes and routines that operate on them.
musx.frac
-
Adds methods to python's Fraction class for representing exact time, mensural tuples,
tuning ratios, etc. musx.interval
-
A class that implements musical intervals …
musx.midi
-
A package providing full support for reading and writing data to midi files and ports. The module has several layers: …
musx.mxml
-
Provides support for reading and writing data from MusicXml files. The complete MusicXml schema is defined in the file musicxml.py, which was …
musx.note
-
Defines a base Event class for musical events and a generic Note subclass to represent time, duration, pitch, and amplitude. Notes can also represent …
musx.paint
-
The paint.py module provides two high-level composers that can produce a wide variety of interesting textures and music. The
brush()
composer … musx.patterns
-
An object-orientated implemention of Python iterators that yield patterns in data, from simple looping and randomness to more complex processes such …
musx.pc
-
Implements operations on pitch classes, pitch class sets, and set matrices. A pitch class (pc) is an integer 0-11 representing one of twelve equal …
musx.pitch
-
Defines the equal tempered chromatic scale over 11 octaves and provides a mapping between alternate representations of pitch material: Pitch …
musx.ran
musx.rhythm
-
rhythm.py provides a mapping between alternate representations of rhythmic values: fractions, rhythmic symbols, lists of the same or strings of the …
musx.score
-
This module implements a scheduling queue for generating musical scores. The Score runs 'part composers' (Python generators) that output musical …
musx.seq
-
The seq module provide support for reading and writing sequences of events that are sorted by time.
musx.spectral
-
Functions and classes for working with microtonality, the harmonic series, and spectra. For examples of generating microtonal music using midi see …
musx.tools
-
An assortmant of tools for working with envlopes, randomness, rescaling, arithmetic, etc.