Homework 4 should be a quick study to work with some remaining essentials. Its components might help you imagine more final project possibilities.
Set up a microphone for real-time input to chuck. This can be the one you built earlier or whatever is convenient to plug into the soundcard you're using.
Test each of the examples listed in this collection using miniAudicle. They introduce several new concepts in turn:
Specifically, the files and concepts in the collection include:
x is chaos state
r is chaos "heat"
f is wave frequency
a is wave amplitude
l is low bound
h is hi bound
c is instantaneous centroid of input signal
r is RMS amplitude of input signal
Homework 4's assignment is to use adc input in combination with effects processing and pattern generation.
Those are the essentials, but don't consider the assignment to be limited only to them. Feel free to (optionally) incorporate real-time control and/or FFT-based tracking. Or any aspect of earlier assignment work. For further examples of effects processing, control mechanisms, and FFT-based analysis and tracking see other examples in the three chuck repositories we've been referencing: chuck examples chuck source distribution chuck book examples
The three final scripts above are combinations (adc + efx, physical model + patterns, kbd + patterns). Don't just recycle these examples. Customize and if you have time, layer multiple musical "voices" so there's more than one thing going on simultaneously. That can either be done in the same chuck script or by post-processing e.g., layering .wav files using audacity.
Record a demo "performance" on some original code using the components specified above. Turn in a recorded (stereo) .wav file and your final chuck code. (Record with audacity or write it real time with WvOut2 -- in which case don't forget to close the output file appropriately.) As before, an explanatory web page (hw4.html) should land in the expected place (Library/Web/220a/) which includes links to the .wav and .ck files (living in a parallel hw4/ subdirectory).