scamp_extensions package

Package intended to provide extra, non-core functionality to the SCAMP (Suite for Computer-Assisted Music in Python) framework for music composition. This package is the place for models of music-theoretical concepts (e.g. scales, pitch-class sets), conveniences for interacting with various types of input and output, and in general anything that builds upon SCAMP but is outside of the scope of the main framework.

The package is split into several subpackages according to the nature of the content: The pitch subpackage contains tools for manipulating pitches, such as scales and intervals; the rhythm subpackage contains tools for creating and interacting with rhythms and meters; the interaction subpackage contains utilities for human interface devices and other live interactions; the supercollider subpackage contains utilities for embedding supercollider code within SCAMP scripts; and the composers subpackage contains composer-specific tools and theoretical devices.

Sub-packages:

scamp_extensions.composers

Subpackage containing composer-specific tools and theoretical devices.

scamp_extensions.engraving

Subpackage containing engraving-related extensions.

scamp_extensions.interaction

Subpackage containing utilities for human interface devices and other live interactions.

scamp_extensions.parsing

Subpackage containing utilities for parsing data formats.

scamp_extensions.pitch

Subpackage containing pitch-related extensions.

scamp_extensions.playback

Subpackage containing playback-related extensions, such as support for multi-preset instruments, and direct integration with SuperCollider.

scamp_extensions.process

Subpackage containing tools for modeling a compositional process, such as Markov chains and L-Systems.

scamp_extensions.rhythm

Subpackage containing rhythm-related extensions.

scamp_extensions.utilities

Subpackage containing utility functions that do not fit into any of the other extension categories.