Monday, May 26, 2008

CC3 Week 10 - Streams (III)

I created a new synthdef for this weeks exercise. I've used brown noise as my sound source. I am using a filter to change the sound. Using a pbind I am varying the start and end times of the frequency sweep. I am also varying the Q.

Click here for my audio example [252KB].


(
SynthDef("BrownNoise", {

arg cFreq = 500, cAmp = 0.5, mFreq = 3, mAmp = 0.75, start = 1000, end = 8000, time = 10, width = 0.001;

var carrier, modulator, envStruct, envGen, filter, out;

modulator = SinOsc.ar(freq: mFreq, mul: mAmp);
carrier = BrownNoise.ar(1);



// Envelope Structure
envStruct = Env(
levels: [1.0, 0.35, 0.6, 0],
times: [1, 2, 3],
curve: 'welch'
);
// Envelope Instance
envGen = EnvGen.kr(
envelope: envStruct,
gate: 1.0,
doneAction: 2.0
);

filter = Resonz.ar(carrier, XLine.kr(start, end, time), width) * envGen;

out = Out.ar(bus: 0, channelsArray: [filter, filter]);

}).store;
)

Synth("BrownNoise", [ \start, 300, \end, 1000, \time, 3, \width, 0.1 ]);

SynthDescLib.read

(
Pbind(
\instrument, "BrownNoise",
\width, Pseq(#[0.001, 0.05, 0.01, 0.5, 0.75, 1], 1),
\start, Pseq(#[100, 500, 1000, 2000, 5000, 10000], 1),
\end, Pseq(#[300, 1000, 5000, 8000, 2000, 500], 1)


).play;
)


[1] Christian Haines. "Creative Computing: Semester 1 - Week 10 - Streams III". Lecture presented at the Electronic Music Unit, University of Adelaide, South Australia, 8th May 2008

No comments: