//ALL INTERVAL TETRACHORD STUDIES - PHASING //With Steve Reich's Piano Phase as the blueprints of this piece, I am going to attempt to recreate something similar in SuperCollider. Instead of the quasi-E-dorian mode used in Piano Phase, my pitch material will be on the all-interval-tetrachords. It would be interesting to hear the harmonic implications as well as the intervallic relationships of the tetrachords in the context of phasing. //For this piece, I will be using two synthdefs. These are the synthdefs, and I am naming them marimba1 and marimba2. Marimba 1 is on the Left channel, and marimba 2 is on the right. ( SynthDef("marimba1", { arg atk=6, rel=4, out=0, freq=440, sustain=0.05; var env; env = EnvGen.kr(Env.perc(0.01, sustain, 0.2), doneAction:2); Out.ar(out, SinOsc.ar(freq, 0, env)) }).store; SynthDef("marimba2", { arg atk=6, rel=4, out=1, freq=440, sustain=0.05; var env; env = EnvGen.kr(Env.perc(0.01, sustain, 0.2), doneAction:2); Out.ar(out, SinOsc.ar(freq, 0, env)) }).store; ) //this is to read the description of the synthdefs. SynthDescLib.global.read; ) //the chosen pitches all belong to the same tetrachord. There are 6 pitches in total, and they are in a Pseq because I want them to be heard in an arranged order. I have set the duration of every note in marimba 1 to 0.7, and the durations of marimba 2 to (0.7*0.99), so that marimba 2 will always be just a fraction faster than marimba 1. This is how the the phasing process has been programmed here. ( ~marimba1 = Pbind( \instrument, "marimba1", \out, 0, \freq, Pseq(#[60, 67, 66, 64, 60, 66].midicps, inf), \dur, 0.7, \amp, 0.5 ); ~marimba2 = Pbind( \instrument, "marimba2", \out, 1, \freq, Pseq(#[60, 67, 66, 64, 60, 66].midicps, inf), \dur, 0.7*0.99, \amp, 0.5 ); //set tempo: TempoClock.default.tempo = 144/60; //start: Ppar([~marimba1, ~marimba2]).play; ) //for recording: //ideally, try to end the recording/performance of this piece at unison. s.makeWindow; s.record; s.stopRecording;