The CNMAT Rhythm Engine (CRE) software provides a flexible and powerful way for representing, constructing, and performing rhythm-oriented music. It represents rhythmic data using quantized subdivision, continuous time, and/or a mixture of the two by allowing fractional deviations from quantization. It allows readily for the combination of different musical phrases or systems, in series or in parallel, to yield larger musical structures. Such operations may be performed in an editing context (ahead of performance time) or in an improvising context (during performance time). The CRE software may be used to drive synthesizers, samplers, or other sound modules. The software consists of rhythmic data structures, programs that handle the data (e.g. editors, scheduler, players) and a graphical user interface that represents these programs and data visually.
One crucial aspect that distinguishes this software from currently commercially available drum machines is the subtle and fine-grained control of rhythmic timing that the software offers. Timing, or rhythmic placement, is just as much an expressive parameter as, say, tone, pitch, or loudness; therefore we treat it on equal footing with these other parameters. We control a note's fine rhythmic placement in the same way that we control its loudness or duration. For example, we can create different kinds of apparent accents by playing notes slightly late (behind the beat) or early (ahead of the beat).
All the various musical parameters combine dynamically and subtly in human performance. Small deviations from strict metricity combine with manipulation of tone and loudness to embody what some people call a musician's "feel." The importance of expressive timing in rhythm-oriented music is one of the driving concepts behind this project.
Another principal distinguishing trait of this software is its facilitation of non-standard composition techniques. These include making large structures by putting together small "cells," layering different-length rhythmic loops, setting up hierarchies and heterarchies, creating arbitrarily complex composite beat schemes, and most importantly, allowing for improvisatory invention and control of such structures.
Here are some possible applications of CRE:
MObtree without altering the tree structure.
Please send other ideas, suggestions, or comments to Vijay Iyer, since this list provides checkpoints for the software development.
Page maintained by Vijay Iyer
Last modified July 15, 1996
Up to Vijay's page
Up to CNMAT homepage
Send mail to the CRE group
Send mail to Vijay Iyer