This is a bunch of functions and processes developed for the ... awesome ... Common Music system, including tonnetz implementations, nondeterministic programming, tiling canons, and other stuff. I've also thrown in some Lisp 'sketchbooks' from some recent compositions.

These work with version 2.9.1 of Common Music and are intended to be run within CM.

*If you find these
useful, great, but ...*

*(1) Use at your
own risk! I haven't been super-careful about namespaces since these all run
on my single-user computer. *

*(2) You're on your
own regarding installation and use -- don't email me to help you with that.
You should already be familiar with Lisp & Common Music to be able to use
these. *

**Code**
-- the library of Lisp functions

**Nudruz.lisp**
-- The main file. A whole bunch of useful routines for structuring pitch, rhythm,
and register. A few of these may require you to run "Nondet.lisp"
below -- just remove those items if you run into problems.

**Withclocc.lisp
**-- Several useful combinatoric routines. These require you to have
the CLOCC libraries installed.

**Nondet.lisp
**-- Some nondeterministic programming using the Screamer
package. (You must have Screamer installed.)

**Rewrite.lisp
**-- Some useful stuff for working with rewriting systems, including
the Game of Life and other one and two-dimensional systems.

**Modes.lisp
**-- Some modes & ways of working with them in CM.

**Inflect.lisp
**-- Defining inflection figures for upper/lower neighbor and ascending/descending
passing tones.

**Selfsim.lisp
**-- Some helpful routines for setting self-similar melodies (see * Data
*below for some examples).

**Spacegrp.lisp**
-- A wacky experiment in using point & space groups for melodic transformations.

**Tiling.lisp
**-- Some routines for setting "Tiling Canons" (see * Data
*below for some examples).

**Tonnetz.lisp
**-- Implementation of a generalized trichord tonnetz with the three
classic common-tone transformations.

**Transforms.lisp
**-- Various transformations (place swapping, etc.).

**Diffs.lisp
**-- Functions for defining difference equations.

**Motive.lisp
**-- A way of working with & transforming motives.

**Reger.lisp
**-- Generalized tonnetz-like harmonic transformation system.

**Slonimsky.lisp
**-- Building intervallic patterns, inspired by the "Thesaurus of
Scales and Melodic Patterns".

**Cminit.lisp
**-- My init file. This might help you troubleshoot your installation
of my scripts.

**Data**
-- some Lisp-ready data

**Cyclops.lisp
**-- Some self-similar melodies, ready to be used with * Selfsim.lisp
*above. There's also instructions for finding more of these with
the help of the GAP system.

**Designs.lisp
**-- A few combinatoric
designs, including projective planes, affine planes, Steiner systems, Hadamard,
etc.

**Graphs.lisp
**-- A handful of graphs from group theory.

**Tiles.lisp
**-- A handful of tiling
canons.

**Tilings.gap
**-- A script for finding
tiling canons in the GAP system. (It's
not Lisp code!)

**Beats.lisp
**-- Catalog of metric
subdivisions.

**Lewin.lisp
**-- Projective planes
as a basis for harmony.

**Scanons.lisp
**-- CLOS data &
functions for finding & manipulating 'stacked canons'.

**Besthex.lisp
**-- All hexachords
(unsorted, untransposed) with inversional invariance.

**Interfaces**
-- Perl scripts called from "nudruz.lisp"

**concorde.pl
**-- Used with the Concorde
TSP solver.

**bestmatch.pl
**-- Used with the Minion
constraint solver.

**Compositions**
-- some Lisp 'sketchbooks'

**Canon
for LP (2004)**

**Five
Verlaine Settings (2004)**

**Sputter
(2004)**

**Quadrille
(2005)**

**Paper
Trail Motet (2005)**