Skip to content

Instantly share code, notes, and snippets.

@miguel-negrao
Created May 17, 2012 11:36
Show Gist options
  • Save miguel-negrao/2718312 to your computer and use it in GitHub Desktop.
Save miguel-negrao/2718312 to your computer and use it in GitHub Desktop.
Saw waves through comb filters
(
var r = { |f| {
var combF, sawF, c, r, sine , pulse;
sine = { SinOsc.kr(rrand(0.01,0.03)).range(0.0,1.0) };
pulse = { Pulse.kr(rrand(0.1,0.3)) };
r = 10.collect{
sawF = 2.collect{ ( ( (pulse ! 2).sum + LFNoise2.kr(1) ) / 3).range(f,f+300) };
y = Saw.ar( sawF );
combF = ( ( (pulse ! 2).sum + (sine ! 3).sum ) /5).rangeExp(0.0001,0.009);
c = CombC.ar(y, 0.01, combF, 0.2);
};
FreeVerb.ar(r.sum/20)*EnvGen.ar(Env.linen(0,4,6,1,-2));
} };
x = { |f0|
var f = (f0 - rrand(20.0,40.0)).max(30).postln;
var synth = r.(f).play;
if(f!=30){
fork{
rrand(2.0,4.0).wait;
x.(f)
};
};
10.wait;
synth.free;
};
fork{ x.(400) }
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment