mircop upadet

master
Leo Coogan 4 years ago
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;
)