Shorts: #21 Anarchy and Rapture

[play]Shorts: #21 Anarchy and Rapture (2007)

Commissioned and titled by Polly Moller in memory of Leigh Ann Hussey, who died tragically in a motorcycle accident on May 16, 2006.

I didn’t ever meet Leigh Ann, but I typed her name into google and found a memorial. It was clear right away that I would have liked her. Polly said, “she was like a pillar of fire,” the god of Moses. I’ve been reading a deconstruction of the Left Behind books from an evangelical who is as appalled by them as I am. The series is essentially about death, which comes for us all. A mystery we fear and around which we grope for meaning. In How We Die, Sherwin B. Nuland argues that death is what gives life meaning. We feel urgency to act and to create because we know it’s not forever.

But despite the meaning that death gives our lives, despite the necessity of entropy in the creation of life and it’s inherent implication of destruction, despite the beautiful simplicity, it still feels like a theft. I never knew Leigh Ann, but I’ve known many who have passed. Every time, I ask the same question. I know the answer, but I don’t feel it.

To create this piece, I recorded myself screaming and then convolved it with some impulses generated by SuperCollider. (The code is below.) I used Audacity to pitch shift some of the versions of this file and mixed them with sounds from my synthesizer.

Code

The SuperCollider code requires Locator.sc. (If you already have this file, you should re-download it, as I found two bugs while working on this.) It computes phase delays and amplitude differences for stereo spatilaization.

SynthDef("spatial-subliminal-impulse", {arg out = 0, gate = 1, min_repeats = 10000, 
							max_repeats = 20000, delay_time_left, 
							delay_time_right, left_amp, right_amp;

	var env, white, ir, left, right;

	env = EnvGen.kr(Env.adsr(0.001, 0.001, 1, 0.001, 1, -4), gate, doneAction:2);

	white = WhiteNoise.ar;
	white = white * (max_repeats - min_repeats);
	white = white + min_repeats;
	white = white.abs;

	ir = Dust.ar(white);

	left = DelayC.ar(ir, 0.05, delay_time_left) * left_amp * env;
	right = DelayC.ar(ir, 0.05, delay_time_right) * right_amp * env;

	Out.ar(out, [left, right]);
	
}).store;


(

	var loc, min, max, amp, pb;

	min = 100;
	max = 200;
	amp = 0.9;

	loc = Locator.new;
	pb = Pbind(
	
		\instrument, 	Pseq(["spatial-subliminal-impulse"], 60),
		\min_repeats,	Pfunc({ min / 5 }),
		\max_repeats,	Pfunc({ max /5 }),
		\dur,		Pfunc({0.5 + 0.5.rand }),
		[\left_distsance, \left_delay_time, \left_amp,
			\right_distance, \right_delay_time, \right_amp],
					Pfunc({ loc.get_stereo_information(loc.right_speaker.rand, 
						loc.right_speaker.rand, amp / 5) }) 
			
		);

	
	Ptpar([0, pb, 0, pb, 0, pb, 0, pb]).play
	
)
Play