mircop upadet
parent
c8037c1ccc
commit
ed6550bf6f
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,27 @@
|
|||||||
|
////////#superCollider///////////
|
||||||
|
///// audio @ http://archive.org/details/ChiptuneBreakz
|
||||||
|
///
|
||||||
|
(
|
||||||
|
Tdef(\cheaptune,{
|
||||||
|
var sig2,sig1,sig3,a,rel;
|
||||||
|
sig1=[8,12,16,20];
|
||||||
|
sig2=2/sig1.scramble;
|
||||||
|
sig3=2*sig1.scramble;
|
||||||
|
rel=Pxrand([0,0,0,0,0,0,0,1],inf).asStream;
|
||||||
|
inf.do{
|
||||||
|
a=[0.125,0.25,0.5,0.5,0.25,0.125,1].choose;
|
||||||
|
x=[60,67,75,79,94].scramble;
|
||||||
|
play{EnvGen.ar(Env.perc(0.01,a+rel.next),doneAction:2)*
|
||||||
|
AY.ar(x.midicps*a*sig1.choose,x*sig2.choose.midicps,a*sig3.choose.midicps,0.25,3,15,10,7)};
|
||||||
|
play{EnvGen.ar(Env.perc(0.01,a/2),Duty.kr(Dseq([0.5,0.25],inf),0,Dxrand([0,1],inf)),doneAction:2)*
|
||||||
|
BrownNoise.ar(0.6)!2};
|
||||||
|
play{EnvGen.ar(Env.perc(0.01,a/4),Duty.kr(Dseq([0.25,0.5],inf),0,Dseq([0,1],inf)),doneAction:2)*
|
||||||
|
LFNoise0.kr(16)*WhiteNoise.ar(0.2)!2};
|
||||||
|
a.wait
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Tdef(\cheaptune).play;
|
||||||
|
)
|
||||||
|
s.record;
|
||||||
|
s.stopRecording;
|
||||||
|
//
|
||||||
@ -0,0 +1,249 @@
|
|||||||
|
s.boot;
|
||||||
|
|
||||||
|
(
|
||||||
|
t = Task{
|
||||||
|
var hz = 4;
|
||||||
|
var i = 0;
|
||||||
|
var n = 0.25;
|
||||||
|
var chipsize = 10;
|
||||||
|
|
||||||
|
// allocate a disk i/o buffer
|
||||||
|
p = Buffer.alloc(s, 65536, 2);
|
||||||
|
|
||||||
|
// create an output file for this buffer, leave it open
|
||||||
|
p.write("Output.wav", "wav", "int16", 0, 0, true);
|
||||||
|
// start recording
|
||||||
|
d = Synth.tail(nil, "help-Diskout", ["bufnum", p.bufnum]);
|
||||||
|
|
||||||
|
//buffer for granular synthesis sample
|
||||||
|
b = Buffer.read(s,"/usr/share/SuperCollider/sounds/a11wlk01-44_1.aiff");
|
||||||
|
|
||||||
|
1.do{
|
||||||
|
|
||||||
|
x = Synth(\SinPulser);
|
||||||
|
1.wait;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
|
||||||
|
2.do{
|
||||||
|
hz = 4;
|
||||||
|
a = Scale.choose;
|
||||||
|
chipsize.do {
|
||||||
|
x = Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
|
||||||
|
Synth(\eightbitSnare);
|
||||||
|
y.free;
|
||||||
|
i = 0;
|
||||||
|
hz = hz * 2;
|
||||||
|
//new speed
|
||||||
|
n = 0.15;
|
||||||
|
a = Scale.choose;
|
||||||
|
chipsize.do {
|
||||||
|
x = Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
|
||||||
|
Synth(\eightbitSnare);
|
||||||
|
i=0;
|
||||||
|
hz = hz * 1.5;
|
||||||
|
//new speed
|
||||||
|
n = 0.2;
|
||||||
|
a = Scale.choose;
|
||||||
|
chipsize.do {
|
||||||
|
x = Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
5.do{
|
||||||
|
x = Synth.new(\ambientBackground);
|
||||||
|
4.wait;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
|
||||||
|
2.do{
|
||||||
|
a = Scale.choose;
|
||||||
|
x = Synth.new(\ambientBackground);
|
||||||
|
2.wait;
|
||||||
|
y = Synth(\SinPulser);
|
||||||
|
4.wait;
|
||||||
|
Synth(\eightbitSnare);
|
||||||
|
i = 0;
|
||||||
|
hz = hz * 1.5;
|
||||||
|
n = 0.4;
|
||||||
|
chipsize.do {
|
||||||
|
Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
};
|
||||||
|
x.free;
|
||||||
|
y.free;
|
||||||
|
};
|
||||||
|
|
||||||
|
1.do{
|
||||||
|
hz = 1;
|
||||||
|
30.do{
|
||||||
|
x = Synth.new(\granularSynth, [\sndbuf, b, \hz, hz, \dur, 1]);
|
||||||
|
hz.wait;
|
||||||
|
hz = hz * 0.95;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
1.do{
|
||||||
|
x = Synth.new(\SawPulser);
|
||||||
|
5.wait;
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
1.do{
|
||||||
|
x = Synth.new(\moogPulser);
|
||||||
|
y = Synth.new(\SawPulser);
|
||||||
|
10.wait;
|
||||||
|
x.free;
|
||||||
|
y.free;
|
||||||
|
};
|
||||||
|
2.do{
|
||||||
|
x = Synth.new(\moogPulser);
|
||||||
|
hz = 4;
|
||||||
|
n=0.33;
|
||||||
|
Synth(\eightbitSnare);
|
||||||
|
a = Scale.choose;
|
||||||
|
chipsize.do {
|
||||||
|
Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
};
|
||||||
|
|
||||||
|
Synth(\eightbitSnare);
|
||||||
|
i = 0;
|
||||||
|
hz = hz * 2;
|
||||||
|
//new speed
|
||||||
|
n = 0.15;
|
||||||
|
a = Scale.choose;
|
||||||
|
chipsize.do {
|
||||||
|
Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
};
|
||||||
|
|
||||||
|
Synth(\eightbitSnare);
|
||||||
|
i=0;
|
||||||
|
hz = hz * 1.5;
|
||||||
|
//new speed
|
||||||
|
n = 0.2;
|
||||||
|
a = Scale.choose;
|
||||||
|
chipsize.do {
|
||||||
|
Synth(\chiptune, [\fund,a.cents[i % a.size] + 1, \hz, hz]);
|
||||||
|
i = i + 1;
|
||||||
|
n.wait;
|
||||||
|
};
|
||||||
|
x.free;
|
||||||
|
};
|
||||||
|
|
||||||
|
// stop recording
|
||||||
|
d.free;
|
||||||
|
p.close;
|
||||||
|
p.free;
|
||||||
|
};
|
||||||
|
t.start;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SynthDef(\eightbitSnare, {
|
||||||
|
var sig, freq, amp, env;
|
||||||
|
|
||||||
|
env = EnvGen.ar(Env.perc(0.005, 0.5, 6, -8), doneAction: 2);
|
||||||
|
sig = WhiteNoise.ar(1) * env;
|
||||||
|
sig = FreeVerb.ar(sig, 0.4, 0.1, 0.9);
|
||||||
|
|
||||||
|
|
||||||
|
Out.ar(0,sig * 0.7);
|
||||||
|
Out.ar(1,sig * 0.7);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
|
||||||
|
SynthDef(\chiptune, {
|
||||||
|
arg fund = 120, hz = 5;
|
||||||
|
var env, sig, amp, freq;
|
||||||
|
|
||||||
|
amp = LFPulse.ar(hz, 0, 0.5);
|
||||||
|
env = EnvGen.ar(Env.perc);
|
||||||
|
sig = Pulse.ar(fund, 0.5, amp);
|
||||||
|
sig = env * FreeVerb.ar(sig, 0.7, 0.8, 0.25);
|
||||||
|
Out.ar(0, sig * 0.8);
|
||||||
|
Out.ar(1, sig * 0.8);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
|
||||||
|
SynthDef(\ambientBackground, {
|
||||||
|
var env, freq, sig;
|
||||||
|
|
||||||
|
freq = LFNoise2.ar(1, 100, LFDNoise0.ar(1, 100, 220));
|
||||||
|
sig = LFSaw.ar(freq, 2, 0.1);
|
||||||
|
sig = FreeVerb.ar(sig, 0.5, 0.5, 0.3);
|
||||||
|
|
||||||
|
freq = LFDNoise0.ar(PinkNoise.kr(10), 100, 220);
|
||||||
|
sig = sig + SinOsc.ar(freq, 0.5 , 0.5);
|
||||||
|
|
||||||
|
freq = LFDNoise0.ar(PinkNoise.kr(10), 100, 220);
|
||||||
|
sig = sig + Pulse.ar(freq, 0.5, 0.3);
|
||||||
|
sig = FreeVerb.ar(sig, 0.9, 0.9, 0.3, 0.8);
|
||||||
|
|
||||||
|
Out.ar(0, sig);
|
||||||
|
Out.ar(1, sig);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
|
||||||
|
SynthDef(\SawPulser, {
|
||||||
|
var pitchRand, env, freq, sig;
|
||||||
|
|
||||||
|
|
||||||
|
freq = LFDNoise1.kr(5, 350, 450);
|
||||||
|
sig = Saw.ar(freq) * (HenonN.ar(5)*0.5);
|
||||||
|
|
||||||
|
Out.ar(0, sig);
|
||||||
|
Out.ar(1, sig);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
|
||||||
|
SynthDef(\moogPulser, {
|
||||||
|
var sig;
|
||||||
|
|
||||||
|
sig = MoogFF.ar(
|
||||||
|
Pulse.ar([40,121], [0.3,0.7]),
|
||||||
|
SinOsc.kr(LFNoise0.kr(0.42).range(0.001, 2.2)).range(30, 4200),
|
||||||
|
0.83 * 4);
|
||||||
|
|
||||||
|
Out.ar(0,sig);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
|
||||||
|
SynthDef(\SinPulser, {
|
||||||
|
var pitchRand, env, freq, sig;
|
||||||
|
|
||||||
|
pitchRand = LFDNoise0.ar(1, 0, 5);
|
||||||
|
freq = LFDNoise0.ar(pitchRand, 300, 450);
|
||||||
|
freq = freq + LFDNoise3.ar(1, 350, 450);
|
||||||
|
sig = SinOsc.ar(freq * 0.5);
|
||||||
|
sig = FreeVerb.ar(sig, 0.525, 0.915, 0.5);
|
||||||
|
|
||||||
|
Out.ar(0, sig * 0.8);
|
||||||
|
Out.ar(1, sig * 0.8);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
|
||||||
|
SynthDef(\granularSynth, {
|
||||||
|
arg sndbuf, hz = 100, dur=0.1;
|
||||||
|
|
||||||
|
var winenv, sig;
|
||||||
|
// a custom envelope
|
||||||
|
winenv = Env([0, 1, 0], [0.5, 0.5], [8, -8]);
|
||||||
|
z = Buffer.sendCollection(s, winenv.discretize, 1);
|
||||||
|
|
||||||
|
sig = GrainBuf.ar(2, Impulse.kr(hz), dur, sndbuf, LFNoise1.kr.range(0.5, 2), LFNoise2.kr(0.1).range(0, 1), 2, 0, -1);
|
||||||
|
// use mouse x to control panning
|
||||||
|
Out.ar(0,sig);
|
||||||
|
}).writeDefFile.load(s);
|
||||||
|
)
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
s.boot;
|
||||||
|
|
||||||
|
(
|
||||||
|
s.scope;
|
||||||
|
s.meter;
|
||||||
|
s.plotTree;
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
SynthDef(\fmbell, { arg out=0, amp=0.01, gate=0.5, pan=0, freq=300;
|
||||||
|
var sig, sig1, sig2, sig3, sig4, sig5, sig6, sig7, sig8;
|
||||||
|
freq = freq * EnvGen.kr(Env([1,1.002,0.998,1],[0.1,0.8]), 1);
|
||||||
|
sig1 = SinOsc.ar(freq * 2.6706 + 0.13) * 2 + 1;
|
||||||
|
sig2 = SinOsc.ar(freq * 0.9998 * sig1);
|
||||||
|
sig3 = SinOsc.ar(freq * 2.6629 * sig1 + 2.04);
|
||||||
|
sig4 = LFCub.ar(freq * 0.9991 * sig1 + 2.14);
|
||||||
|
sig5 = SinOsc.ar(freq * 2.6656 * sig1 - 2);
|
||||||
|
sig6 = SinOsc.ar(freq * 1 * sig1 + 1.84);
|
||||||
|
//sig = sig2 + sig3 + sig4 + sig5 + sig6;
|
||||||
|
sig = [sig1, sig2, sig3, sig4, sig5, sig6] * DC.ar([0.5,0.3,0, 0.5,0.2,0.2]);
|
||||||
|
//sig.debug("sig");
|
||||||
|
//sig = sig /34;
|
||||||
|
sig = sig * EnvGen.ar(\adsr.kr( Env.adsr(0.01,0,1,2.1,1,-1) ),gate,doneAction:2);
|
||||||
|
sig = Pan2.ar(sig, pan + [ 0, -0.5, -0.5, 0.5, 0.5, 0], amp).sum;
|
||||||
|
Out.ar(out, sig);
|
||||||
|
}).add;
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
~reps = Pseries(1,1,inf).asStream;
|
||||||
|
|
||||||
|
p = Pbind (
|
||||||
|
\instrument, \fmbell,
|
||||||
|
\midinote, Pseq([
|
||||||
|
Pxrand([41, 53, 30, 58], ~reps),
|
||||||
|
Pxrand([80, 60, 70, 79]),
|
||||||
|
Pxrand([50, 40, 0, 80]),
|
||||||
|
],inf),
|
||||||
|
\sustain, 0.05,
|
||||||
|
\dur, 0.15,
|
||||||
|
//\amp, 1,
|
||||||
|
);
|
||||||
|
|
||||||
|
q = p.play;
|
||||||
|
)
|
||||||
|
q.stop;
|
||||||
|
|
||||||
|
s.record
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
s.boot;
|
||||||
|
|
||||||
|
(
|
||||||
|
s.meter;
|
||||||
|
s.plotTree;
|
||||||
|
s.scope;
|
||||||
|
)
|
||||||
|
|
||||||
|
b = Buffer.read(s, "/home/lcoogan/Tidal/scd/samples/8train/plosh.wav");
|
||||||
|
b.play;
|
||||||
|
b.free;
|
||||||
|
|
||||||
|
(
|
||||||
|
{
|
||||||
|
var sig;
|
||||||
|
sig = GrainBuf.ar(
|
||||||
|
1,
|
||||||
|
Impulse.ar({ExpRand(60,60.5)}!12),
|
||||||
|
0.02,
|
||||||
|
b,
|
||||||
|
0.5,
|
||||||
|
(
|
||||||
|
Phasor.ar(0, 1 * BufRateScale.ir(b), 0, BufSamples.ir(b)-1)
|
||||||
|
+ LFNoise1.ar(100).bipolar(0.0 * SampleRate.ir)
|
||||||
|
) / BufSamples.ir(b),
|
||||||
|
0.23,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-1,
|
||||||
|
512,
|
||||||
|
);
|
||||||
|
sig = sig * 0.5;
|
||||||
|
}.play
|
||||||
|
)
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
s.boot
|
||||||
|
(
|
||||||
|
Ndef(\az, {|freq=444, pan=0|
|
||||||
|
var sig = LFTri.ar(freq);
|
||||||
|
sig = Pan2.ar(sig, pan);
|
||||||
|
|
||||||
|
}).play.fadeTime = 2;
|
||||||
|
)
|
||||||
|
|
||||||
|
Ndef(\az).set(\freq, rrand(80,500))
|
||||||
|
|
||||||
|
Ndef(\az).fadeTime = 2
|
||||||
|
|
||||||
|
s.scope
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
// bit of an afternoon playing random noises turned out to sound relatively IDM-ish
|
||||||
|
|
||||||
|
// I stole the kick & snare from the dubstep thing off the list a while ago... thanks
|
||||||
|
|
||||||
|
(
|
||||||
|
fork{
|
||||||
|
loop{ | i |
|
||||||
|
var time, trigtime;
|
||||||
|
time = [1/8,1/4,1].wchoose([2,1,0.2].normalizeSum);
|
||||||
|
trigtime = [1,2,4,8,16].choose;
|
||||||
|
play{
|
||||||
|
var sound, freq, ampenv, filterenv, mod, snare, snaretrig, kick, kickenv, lin;
|
||||||
|
|
||||||
|
mod = LFNoise2.kr({0.01.rand}.dup(2), [0.01.rand,0.001.rand,0.5.rand].choose, 1.0);
|
||||||
|
|
||||||
|
freq = [
|
||||||
|
Scale.minorPentatonic.degrees,
|
||||||
|
Scale.minorPentatonic.degrees.choose
|
||||||
|
].choose + (12 * (2..6).choose);
|
||||||
|
freq = freq.midicps;
|
||||||
|
|
||||||
|
filterenv = EnvGen.kr(Env.linen(time/3.0.rand.max(0.01),
|
||||||
|
time/3.0.rand.max(0.01),
|
||||||
|
time/3.0.rand.max(0.01)).range(freq*1.5,freq*10.0.rand.max(1.5))
|
||||||
|
);
|
||||||
|
|
||||||
|
ampenv = EnvGen.kr(Env.perc(0.01,time/2.0.rand.max(1/8),1.0.rand),doneAction:2);
|
||||||
|
|
||||||
|
sound = Select.ar(5.rand, [
|
||||||
|
Pulse.ar(freq*mod,0.5).tanh,
|
||||||
|
LFTri.ar(freq*mod,0).tanh,
|
||||||
|
Pulse.ar(freq*mod,0.5).tanh,
|
||||||
|
LFSaw.ar(freq*mod,0.5).tanh,
|
||||||
|
SinOscFB.ar(freq*mod,100.0.rand).tanh
|
||||||
|
]);
|
||||||
|
|
||||||
|
sound = RLPF.ar(sound, filterenv, LFNoise2.kr(0.01.rand, 0.3, 0.5) );
|
||||||
|
sound = sound * ampenv;
|
||||||
|
|
||||||
|
sound = sound + (DelayC.ar(sound, 1/4, {[1/4,1/8].choose}.dup(2)) * [1.0.rand,0]);
|
||||||
|
|
||||||
|
5.do{sound = (sound.clip + sound)*0.75};
|
||||||
|
|
||||||
|
sound = LPF.ar(sound, LFNoise2.kr(trigtime, 250, 500) );
|
||||||
|
|
||||||
|
snaretrig = Impulse.kr(trigtime);
|
||||||
|
snare = 3*PinkNoise.ar(1!2) *
|
||||||
|
EnvGen.kr(Env.perc(0.01,0.01,[0,0.3.rand].choose),snaretrig);
|
||||||
|
5.do{snare = AllpassC.ar(snare, 0.5, {0.05.rand}.dup(2), 1.0.rand)+snare};
|
||||||
|
5.do{snare = (snare.distort + snare)*0.85};
|
||||||
|
|
||||||
|
kickenv = EnvGen.kr(Env.perc(0.01,time,[0,1.0.rand].choose));
|
||||||
|
kick = SinOsc.ar(40!2+(kickenv**3*200),0,7*kickenv) * kickenv;
|
||||||
|
5.do{kick = (kick.distort + kick)*0.75};
|
||||||
|
|
||||||
|
sound = Limiter.ar(sound + snare + kick, 1.0, 0.00001);
|
||||||
|
|
||||||
|
Out.ar(0,sound.tanh);
|
||||||
|
};
|
||||||
|
|
||||||
|
time.wait;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
// what can it sound like? see: https://www.youtube.com/watch?v=dRmY3tEwZyE
|
||||||
|
// the youtube version has been sent through an additional reverb pedal, but
|
||||||
|
// you don't need the pedal to get something that sounds interesting
|
||||||
|
|
||||||
|
(
|
||||||
|
s.options.memSize_(16384*10);
|
||||||
|
s.reboot;
|
||||||
|
s.waitForBoot({
|
||||||
|
|
||||||
|
Ndef(\bits, {
|
||||||
|
var t = PulseCount.ar(Impulse.ar(8e3));
|
||||||
|
var u = PulseCount.ar(Impulse.ar(7009));
|
||||||
|
var sig = HPF.ar(
|
||||||
|
(
|
||||||
|
((t * 15) & (t >> 5)) |
|
||||||
|
((t * 5) & (t >> [3, 4])) |
|
||||||
|
((t * 2) & (t >> 9)) |
|
||||||
|
((t * 8) & (t >> 11)) |
|
||||||
|
(((t*t) & t) | (t >> 3))
|
||||||
|
- 3 % 256
|
||||||
|
) / 127-1 * 3
|
||||||
|
, 20
|
||||||
|
) * 0.1;
|
||||||
|
var sig2 = LPF.ar(HPF.ar(gcd(t*u, u+t), WhiteNoise.ar()*2000 + 1000), 20);
|
||||||
|
sig2 = sig2*sig;
|
||||||
|
sig = 0.3*Splay.ar(Limiter.ar(Greyhole.ar(sig + sig2, sig, 0.5, sig), 0.5).flatten);
|
||||||
|
}).play;
|
||||||
|
});
|
||||||
|
)
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
s.boot;
|
||||||
|
|
||||||
|
(
|
||||||
|
SynthDef.new(\sine, {
|
||||||
|
arg freq=440, atk=0.005, rel=0.2, amp=1, pan=0;
|
||||||
|
var sig, env;
|
||||||
|
sig = SinOsc.ar(freq);
|
||||||
|
env = EnvGen.kr(Env.new([0,1,0],[atk,rel],[1,-1]),doneAction:2);
|
||||||
|
sig = Pan2.ar(sig, pan, amp);
|
||||||
|
sig = sig* env;
|
||||||
|
Out.ar(0, sig);
|
||||||
|
}).add;
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
p = Pbind(
|
||||||
|
\instrument, \sine,
|
||||||
|
\dur, Pseq([0.6, 0.15, 0.15], inf),
|
||||||
|
\freq, Pseq([330, 247, 370, 220], inf),
|
||||||
|
).play
|
||||||
|
)
|
||||||
|
|
||||||
|
s.plotTree;
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
s.boot;
|
||||||
|
s.reboot;
|
||||||
|
|
||||||
|
(
|
||||||
|
s.meter;
|
||||||
|
s.plotTree;
|
||||||
|
s.scope;
|
||||||
|
)
|
||||||
|
|
||||||
|
{SinOsc.ar(LFNoise0.kr(10).range(500, 1500), mul: 0.1)}.play;
|
||||||
|
|
||||||
|
s.record
|
||||||
|
|
||||||
|
buf /home/lcoogan/.local/share/SuperCollider/Recordings/SC_220709_154352.aiff
|
||||||
|
|
||||||
|
b = Buffer.read(s, "/home/lcoogan/Tidal/scd/samples/8train/plosh.wav");
|
||||||
|
|
||||||
|
|
||||||
|
b = Buffer.read(s, "/home/lcoogan/.local/share/SuperCollider/Recordings/SC_220709_154352.aiff");
|
||||||
|
b.play
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// THe actual SHST
|
||||||
|
|
||||||
|
(
|
||||||
|
Pdef(
|
||||||
|
\rhythm,
|
||||||
|
Pbind(
|
||||||
|
\degree, Pseq([0,1,3,2,8,3]),
|
||||||
|
\dur, 0.05,
|
||||||
|
\rate, 1,
|
||||||
|
\amp, 0.5,
|
||||||
|
);
|
||||||
|
).play;
|
||||||
|
)
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
s.boot;
|
||||||
|
(
|
||||||
|
SynthDef("help_mp3_01", { |bufnum = 0|
|
||||||
|
var son, pitch, amp, wibble;
|
||||||
|
son = DiskIn.ar(2, bufnum).mean;
|
||||||
|
pitch = Tartini.kr(son)[0];
|
||||||
|
amp = Amplitude.ar(son);
|
||||||
|
pitch = Median.kr(5, pitch); // smooth
|
||||||
|
pitch = pitch.min(10000).max(10); // limit
|
||||||
|
pitch = pitch.cpsmidi.round.midicps; // coerce
|
||||||
|
wibble = Pulse.ar(pitch, 0.2, amp * 2); // resynthesise
|
||||||
|
wibble = FreeVerb.ar(wibble, 0.3, 0.1, 0.9); // bit of reverb just to taste
|
||||||
|
Out.ar(0, wibble.dup);
|
||||||
|
}).add;
|
||||||
|
)
|
||||||
|
|
||||||
|
// Choose your MP3... some will work well and most will work badly.
|
||||||
|
// Oh and you'll need the MP3 Quark.
|
||||||
|
m = MP3("/home/lcoogan/Lataukset/4.mp3");
|
||||||
|
m.start;
|
||||||
|
b = Buffer.cueSoundFile(s, m.fifo, 0, 2);
|
||||||
|
// Off we go:
|
||||||
|
x = Synth("help_mp3_01", [\bufnum, b.bufnum], addAction:\addToTail);
|
||||||
|
|
||||||
|
// Please remember to tidy up after yourself:
|
||||||
|
x.free;
|
||||||
|
b.close; b.free;
|
||||||
|
m.finish;
|
||||||
|
|
||||||
|
|
||||||
|
More waffle plus a recorded example at
|
||||||
|
http://www.mcld.co.uk/blog/blog.php?235
|
||||||
|
|
||||||
|
s.record
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
(
|
||||||
|
SynthDef.new(\pulseTest, {
|
||||||
|
arg ampHz=4, fund=40, maxPartial=4, width=0.5;
|
||||||
|
var amp1, amp2, freq1, freq2, sig1, sig2;
|
||||||
|
amp1 = LFPulse.kr(ampHz, 0, 0.12) * 0.75;
|
||||||
|
amp2 = LFPulse.kr(ampHz, 0.5, 0.12) * 0.75;
|
||||||
|
freq1 = LFNoise0.kr(4).exprange(fund, fund*maxPartial).round(fund);
|
||||||
|
freq2 = LFNoise0.kr(4).exprange(fund, fund*maxPartial).round(fund);
|
||||||
|
freq1 = freq1 * LFPulse.kr(8, add:1);
|
||||||
|
freq1 = freq1 * LFPulse.kr(6, add:1);
|
||||||
|
sig1 = Pulse.ar(freq1, width, amp1);
|
||||||
|
sig2 = Pulse.ar(freq2, width, amp2);
|
||||||
|
//sig1 = FreeVerb.ar(sig1, 0.7, 0.8, 0.25);
|
||||||
|
//sig2 = FreeVerb.ar(sig1, 0.7, 0.8, 0.25);
|
||||||
|
Out.ar(0, sig1);
|
||||||
|
Out.ar(1, sig2);
|
||||||
|
}).add;
|
||||||
|
)
|
||||||
|
|
||||||
|
x = Synth.new(\pulseTest);
|
||||||
|
|
||||||
|
x.free;
|
||||||
|
|
||||||
|
x.set(\width, 0.25);
|
||||||
|
x.set(\fund, 20);
|
||||||
|
x.set(\maxPartial, 20);
|
||||||
|
x.set(\ampHz, 0.25);
|
||||||
|
|
||||||
|
s.freeAll
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(
|
||||||
|
SynthDef.new(\madtraffic, {
|
||||||
|
var sig, env;
|
||||||
|
env = Line.kr(1, 0, 1, doneAction:2);
|
||||||
|
sig = Pulse.ar(ExpRand(30,500)) * env;
|
||||||
|
}.add;
|
||||||
|
))
|
||||||
|
|
||||||
|
(
|
||||||
|
Pbind(
|
||||||
|
\instrument, \pulseTest,
|
||||||
|
\freq, Pseq([137, 373, Prand([237, 473, 713],1)], inf),
|
||||||
|
\legato, Pseq([1.7, 0.3], inf),
|
||||||
|
\dur, 0.25,
|
||||||
|
\out, Pseq([1, 0], inf)
|
||||||
|
).play;
|
||||||
|
)
|
||||||
Reference in New Issue