For this assignment, I gathered a few recordings (listed below) and created a short musical statement by manipulating the sounds in ChucK.
Algorithms
To create the snoring/drone sound in the beginning of the piece, I used the sound of Marley’s purring and modulated the rate of the audio playback over time.
To generate complex rhythms, I implemented a first-order Markov chain to determine how long to wait between rhythmic events based on the previous event. I generalized this in ./lib/MarkovChain.ck
, and it is being used in the MarkovPercussionPlayer
class.
The last effect worth noting is the use of the Karplus Strong algorithm in generating a string-like effect using the unpleasant lawn mower sound. Because the lawn mower sound is so static and spectrally dense it allows the comb filter to really become noticeable.
Sounds
The sounds were all recorded using my hand-held Zoom stereo audio recorder. They can all be found within the ./sounds
directory
- Some accidental percussive sounds recorded while handling my recorder:
Accidental Grainy Percussive Reversed 2.aif
Accidental Grainy Percussive Reversed 3.aif
Accidental Grainy Percussive Reversed.aif
- Amy laughing:
Cat and Amy - Amy Laugh 2.aif
Cat and Amy - Amy Laugh.aif
- Marley’s breathing (used as drone in beginning):
Cat and Amy - Purr Breathing Loopable.aif
Cat and Amy - Purr Breathing Repetitive.aif
- A hand-held lawn mower:
Higher pitched hand held lawn mower, idle at end.aif
- Car key sounds:
Percussive Key Glitch Highpass.aif
Percussive Key Glitch.aif
Percussive Key Inserting Reversed.aif
Percussive Key Inserting.aif
Percussive Key Jingle.aif
- Whiny Marley:
Whiny Cat 1.aif
Whiny Cat 2.aif
Whiny Cat 3.aif
Whiny Cat 4.aif
Whiny Cat 5.aif
Whiny Cat 6.aif
All code can be downloaded here:
Colin-Sullivan_220b_hw2.tar.gz
To download and build:
To run:
To play the piece:
chuck ./lib/vendor/KnacK/lib/import.ck:./lib/vendor/KnacK/lib/ ./import.ck