220c
Project: Computer Improviser
Katia Zarrillo, Spring 2003
4/15/03
Goal
A program that enhances performance with
DSP and is responsive to the player/improviser, but does not require
foot pedals or keyboard commands.
The computer creates a live tape part, unique to the performance, as if
the computer were improvising.
Effects to Implement:
- Delay, echo, reverb
- Multi-channel diffusion
- Reverse
- Pitch shift, flange, chorus
- Ring modulation, AM, FM, Pulse width modulation
- Time compression/expansion
- Sound morphing
The program will also sample sound live and transform it, creating
a more processed, layered tape part that mimics what a human composer
of a tape piece would do.
Problem:
How can the computer create something musical?
If all the effects are pre-composed, then the player is improvising off
of the computer. How can I make the computer also respond to the
player?
Solutions:
Triggers! To make the computer respond to the
player, define musical triggers.
- Amplitude
- Frequency, a simple FFT
- Speed of playing, rapid or slow changes of pitch
Multiple Mics: broad classes of effects (or composed timelines)
can be assigned to different mics, and the player chooses between
them in performance.
4/17
Pd Patches (save link target as .pd, then open)
- 8
channel diffusion with variable
delay and 3 configurations: clockwise, counterclockwise, and random:
delay8channel.pd
- I'm working on recording and playing samples in pd. Here's
my patch in progress: improv.pd
(updated 5/6)
- My next step will be implementing the effects listed above
and running them on the sampled data. Then I will have the raw
materials for the computer improvisor.
- Next: layering sounds to create more complex materials. I
will have a number of channels (arrays in pd) that processed sampled
data can be sent to. Improv.pd has been
updated!!
4/28
Smart Computer
- Pd plays back transformed sample using random number input
- Pd takes user input such as amplitude and pitch data to
control some of the parameters of the effects/techniques of the
computer
improviser
- User defines fitness of each of wide variety of sounds,
"teaches" computer improviser what sounds good. Genetic algorithms??
- My ultimate goal is a program that will produce interesting,
responsive music without the human performer(s) ever having to operate
it; a member of the group.
- The computer could be a solo
performer in its own right. Give the program input from a
cd, a mic placed outside, a tv show, anyplace there is sound and the
program will make music in response:
6/12
Version 1.0 - Features of the Computer Improviser Program
I performed with the finished product of 220c in an improvisation
with Juilan Wass
(electric guitar) on June 10, 2003 at the 220c Final Concert.
- Main
interface features auto and
manual recording of live sound, the option of importing sound files,
and a GUI for playing and manipulating those sounds.
- Playback features 8-channel diffusion with a variable delay
for clockwise, counterclockwise, and random speaker patterns.
- Sounds can be reversed or pitchshifted before being sent to
the delay line. Multiple sounds can be in the delay line at one time.
- Both imported and live recorded sounds can be
stored in a waveform
bank. During
performance, sounds can be speedily accessed from the bank.
- Download improv1.pd
for reference,
study, or fun; send feedback to katiazarrillo at hotmail.com.
Resources