Synopsis

I'm interested in sonification of natural phenomena such as flocks and L-systems, real-time interaction between human improvisors and computers, perceptual dissonance, microtonality, and complex aperiodic polyrhythms.  I'm less concerned with breaking new conceptual ground in these areas than in finding aesthetically useful applications for them in composition or in the design of computer systems for improvisation.

What follow are brief descriptions of some of the applications I'm working on, including MP3 examples, a couple of short papers, a bit of code, and links to compositions in which I've incorporated some of the early results of these projects.


L-system: example 1

This short paper explains how the LISP function call below produces the L-system shown on the right.  The source (if you dare try to decipher it in its current state) must be compiled with Common Music 2.6 in order to generate MIDI output.  A version of the function also outputs notation in LilyPond format.  Click here to listen.
(make-tree
    :trunk-frequency 285.00
    :angles '(30 -40 67)
    :nodes '(0.1 0.5 0.9)
    :node-scalar 0.8
    :equal-temperament 17
    :temperament-base 2.1
    :iterations 3
    :new-length? 10
)
Numbers below the notes on the right represent cents deviation.  Relative onsets are shown proportionally.




L-system: example 2

Notice how the disposition of nodes and angles in the function call below yields a structure that seems to derive from the same class of objects as example 1, yet exhibits a substantially different "surface."  Click here to listen.
(make-tree
    :trunk-frequency 440.00
    :angles '(90 -30 -77)
    :nodes '(0.4 0.75 0.9)
    :node-scalar 0.4
    :equal-temperament 13
    :temperament-base 2.1
    :iterations 3
    :new-length? 10
)
Numbers below the notes on the right represent cents deviation.  Relative onsets are shown proportionally.



Flocking example

This paper describes the concept behind the LISP function call below that produces the music on the right.  The chords shown here are "flocking" cyclically from consonant to dissonant sonorities.

For the gory details, check out the source code.  It must be compiled with Common Music 2.6 in order to generate MIDI output, and requires a timbral analysis of the target sound.  The function is set up to read analysis files output by Michael Klingbeil's Sinusoidal Partial Editing Analysis and Resynthesis program.  It also optionally outputs notation in LilyPond format.  Click here to listen.
(make-flock
    :frequencies nil
    :amplitudes nil
    :spear-infile "electric-keyboard.txt"
    :interval 2.1
    :divisions 72
    :chord-size 3
    :combinations-infile nil
    :chords-infile "2.1-72-C-3_electric-keyboard.txt"
    :when-interrupt? .6
    :cycles 4
    :duration 20
    :reference-frequency 92.499
)
Numbers above the notes on the right represent cents deviation.



Harmonizer

This MAX/MSP patch is the very beginning of a larger system for improvisation.  I'm in the middle of working on it; it therefore appears in an appropriate state of disarray.  The one working feature is a harmonizer that outputs chords of variable dissonance — using voicing permutations — while maintaining a close harmonic relationship with musical material input by a live performer.  The concept of dissonance employed is similar to the one incorporpated in the flocking example above.  I'd like to expand this system to render musical textures built on L-systems in real-time, and also to make decisions about where to "anchor" musical information with respect to a pre-determined polyrhythmic map.


Polyrhythms

There is something interesting and special about polyrhythms whose periods align only at very wide time intervals — say, 20 seconds or greater, but I haven't been able to quantify it.  These types of polyrhythms appear in much of my recent music, including Scaipthe and Scaipthe II: The Quadropus.

I created this MAX/MSP patch to explore perceptually aperiodic polyrhythms.  It came about after a cognition experiment I tried failed to produce any special results or patterns.  The only bug that I've encountered in the patch is a "hiccup" that occasionally becomes audible in very slow pulses at the end of a period; at some point I'll fix this by distributing the quantization error uniformly over durations between onsets.


Home  <

Music  <
List of Works 
Discography 

Research  <
Synopsis 
L-system 1 
L-system 2 
Flocking 
Harmonizer 
Polyrhythms 

CV  <
Education 
Music Study 
Experience 
Computing 

Email