hackpact day 1

for a definition of what hackpact is, or who else might be doing something like this, see the dedicated page on the TOPLAP website.  essentially this all means I'll be making and documenting one creative thing every day for the month of September.

for this first piece, i decided to go with something that could be thought of as both complete and as a spring board for a few other projects.

I drove out to San Fransisco with my partner of 4 years.  We made quite the road trip out of it, staying with old friends along the way.  It was such a great experience.  I love driving, and it took a particularly brutal stretch of road-- which lasted for more than 20 hours and landed us somewhere in Montana-- to get me to give up the wheel.  Something about the constant state of focus really calms me down and helps me think.  We had been living together for about 3 years, and both of us were looking forward to this summer as a way of establishing some space before she started classes at San Diego in the fall, and I moved out there with her.  Unfortunately, it doesn't look like this is going to happen anymore.

Along the way, I made quite a few field recordings.  I brought a cheap but discrete lav mic and set up my computer to record in just about each place we stopped and stayed during our trip.  The recordings are unique because they are the result of a simple supercollider patch.  Every 12 seconds or so (I experimented with the specifics as I went), the patch recorded one second of audio.  The resulting streams I stored as individual files in a directory tree, so that someday I'd figure out what to do with them and iterating over them would be simple.  Today is the first time in a long time that I've listened to these recordings.

My hackpact goal for today was to come up with a simple assemblage for one of these micro-recording sessions.  While I am not totally satisfied with the assemblage as a self-contained whole, my secondary goal for today was to end up with a framework for playing with similar material in the future.  This piece uses the entire last night we spent together.  It's very personal, and I find it pretty difficult to listen to.  Hopefully you'll find it beautiful.

Here's the code:
//load all samples in directory:
(
var pipe, line, dir, index;
dir = "/Users/josephmariglio/Music/samples/pennsylvania/sf/";
pipe = Pipe.new("ls -f"+ dir, "r");
line = pipe.getLine;
index = 0;
while(
{line.notNil},
{
var path;
path = dir ++ line;
Buffer.read(s, path, bufnum: index); line = pipe.getLine;
index = index + 1;
});
pipe.close;
~num_bufs = index;
)
//a synthdef for playing them:
(
SynthDef(\samp, {|rate = 1, vol = 1, out = 16, buf = 0| Out.ar(out, (PlayBuf.ar(1, buf, rate, doneAction:2))*vol)}).store;
)
//define patterns to arrange the sound-events
(
~a = Pbind(*[
instrument: \samp,
out: 0,
buf: Pseq((0..~num_bufs), 1),
dur: 1
]);
~b = Pbind(*[
instrument: \samp,
out: 1,
buf: Pseq((0..~num_bufs).reverse, 1),
dur: 1
]);
)
//play them together
[~a, ~b].do{|x| x = x.play;}

So the piece is a near palindrome, made up of a stream of samples indexed diachronically and reversed, one stream on either channel of audio.  They meet up in the middle.

Click here for the mp3.

One thought on “hackpact day 1

Leave a Reply

Your email address will not be published. Required fields are marked *