2015-09-09 14:03:24 +02:00
|
|
|
/*
|
2015-09-09 15:13:45 +02:00
|
|
|
This file is part of "Interface Fractures III - Silicon".
|
2015-09-09 15:18:56 +02:00
|
|
|
Copyright (c) 2015 Luka Prinčič, All rights reserved.
|
2015-09-09 15:13:45 +02:00
|
|
|
This program is free software distributed under
|
|
|
|
GNU General Public Licence. See COPYING for more info.
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
2015-09-09 14:03:24 +02:00
|
|
|
|
|
|
|
sdefs.scd - should contain most of SynthDefs ...
|
|
|
|
|
|
|
|
********************************************************** */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
|
|
// NOISE
|
|
|
|
|
|
|
|
SynthDef(\StandardMap, {
|
|
|
|
arg out=0, minfreq=10, maxfreq=22,
|
|
|
|
k=1.4, x0=4.9789799812499, y0=5.7473416156381,
|
|
|
|
ampN=0, ampL=0, ampC=0,
|
|
|
|
amp=0, bpffreq=20000, bpfrq = 100 ;
|
|
|
|
var signal ;
|
|
|
|
|
|
|
|
postln("~~~ Loading StandardMap to server...");
|
|
|
|
|
|
|
|
// poor man's stereo expander
|
|
|
|
minfreq = [minfreq, minfreq +1 ];
|
|
|
|
maxfreq = [maxfreq, maxfreq -1 ];
|
|
|
|
|
|
|
|
/* Standard2DN.ar(minfreq: 11025, maxfreq: 22050,
|
|
|
|
k: 1.4, x0: 4.9789799812499, y0: 5.7473416156381, mul: 1, add: 0) */
|
|
|
|
signal = Standard2DN.ar( minfreq, maxfreq, k, x0, y0, ampN )
|
|
|
|
+ Standard2DL.ar( minfreq, maxfreq, k, x0, y0, ampL )
|
|
|
|
+ Standard2DC.ar( minfreq, maxfreq, k, x0, y0, ampC );
|
|
|
|
|
|
|
|
// band pass filter // ----- BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)
|
|
|
|
signal = BPF.ar(in: signal, freq: bpffreq.min(bpffreq / bpfrq), rq: bpfrq);
|
|
|
|
|
|
|
|
signal = signal * amp;
|
|
|
|
signal = signal.clip2(0.99);
|
|
|
|
Out.ar(out, signal)
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Gbman2DN Gbman2DL Gbman2DC GbmanTrig
|
|
|
|
//(minfreq: 11025, maxfreq: 22050, x0: 1.2, y0: 2.1, mul: 1, add: 0)
|
|
|
|
|
|
|
|
|
|
|
|
SynthDef(\GbmanMap, {
|
|
|
|
arg out=0, minfreq=10, maxfreq=22,
|
|
|
|
x0=1.2, y0=2.1,
|
|
|
|
ampN=0, ampL=0, ampC=0,
|
|
|
|
amp=0, bpffreq=20000, bpfrq = 100 ;
|
|
|
|
var signal ;
|
|
|
|
|
|
|
|
postln("~~~ Loading GbmanMap to server...");
|
|
|
|
|
|
|
|
// poor man's stereo expander
|
|
|
|
minfreq = [minfreq, minfreq +1 ];
|
|
|
|
maxfreq = [maxfreq, maxfreq -1 ];
|
|
|
|
|
|
|
|
signal = Gbman2DN.ar( minfreq, maxfreq, x0, y0, ampN )
|
|
|
|
+ Gbman2DL.ar( minfreq, maxfreq, x0, y0, ampL )
|
|
|
|
+ Gbman2DC.ar( minfreq, maxfreq, x0, y0, ampC );
|
|
|
|
|
|
|
|
// band pass filter // ----- BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)
|
|
|
|
signal = BPF.ar(in: signal, freq: bpffreq.min(bpffreq / bpfrq), rq: bpfrq);
|
|
|
|
|
|
|
|
signal = signal * amp;
|
|
|
|
signal = signal.clip2(0.99);
|
|
|
|
Out.ar(out, signal)
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|
|
|
|
|
|
|
|
//Henon2DN
|
|
|
|
// a: 1.4, b: 0.3,
|
|
|
|
// x0: 0.30501993062401, y0: 0.20938865431933,
|
|
|
|
|
|
|
|
SynthDef(\HenonMap, {
|
|
|
|
arg out=0, minfreq=10, maxfreq=22,
|
|
|
|
a = 1.4, b = 0.3,
|
|
|
|
x0 = 0.30501993062401, y0 = 0.20938865431933,
|
|
|
|
ampN=0, ampL=0, ampC=0,
|
|
|
|
amp=0, bpffreq=20000, bpfrq = 100 ;
|
|
|
|
var signal ;
|
|
|
|
|
|
|
|
// poor man's stereo expander
|
|
|
|
minfreq = [minfreq, minfreq +1 ];
|
|
|
|
maxfreq = [maxfreq, maxfreq -1 ];
|
|
|
|
|
|
|
|
signal = Henon2DN.ar( minfreq, maxfreq, a, b, x0, y0, ampN )
|
|
|
|
+ Henon2DL.ar( minfreq, maxfreq, a, b, x0, y0, ampL )
|
|
|
|
+ Henon2DC.ar( minfreq, maxfreq, a, b, x0, y0, ampC );
|
|
|
|
|
|
|
|
// band pass filter // ----- BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)
|
|
|
|
signal = BPF.ar(in: signal, freq: bpffreq.min(bpffreq / bpfrq), rq: bpfrq);
|
|
|
|
|
|
|
|
signal = signal * amp;
|
|
|
|
signal = signal.clip2(0.99);
|
|
|
|
Out.ar(out, signal);
|
|
|
|
|
|
|
|
postln("~~~ Loading HenonMap to server...");
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|
|
|
|
|
|
|
|
SynthDef(\LatoocarfianMap, {
|
|
|
|
|
|
|
|
/* a: 1, b: 3, c: 0.5, d: 0.5,
|
|
|
|
x0: 0.34082301375036, y0: -0.38270086971332, */
|
|
|
|
|
|
|
|
arg out=0, minfreq=10, maxfreq=22,
|
|
|
|
a = 1, b = 3, c = 0.5, d = 0.5,
|
|
|
|
x0 = 0.34082301375036, y0 = -0.38270086971332,
|
|
|
|
ampN=0, ampL=0, ampC=0,
|
|
|
|
amp=0, bpffreq=20000, bpfrq = 100 ;
|
|
|
|
var signal ;
|
|
|
|
|
|
|
|
// poor man's stereo expander
|
|
|
|
minfreq = [minfreq, minfreq +1 ];
|
|
|
|
maxfreq = [maxfreq, maxfreq -1 ];
|
|
|
|
|
|
|
|
/* Latoocarfian2DN.ar(minfreq: 11025, maxfreq: 22050,
|
|
|
|
k: 1.4, x0: 4.9789799812499, y0: 5.7473416156381, mul: 1, add: 0) */
|
|
|
|
signal = Latoocarfian2DN.ar( minfreq, maxfreq, a, b, c, d, x0, y0, ampN )
|
|
|
|
+ Latoocarfian2DL.ar( minfreq, maxfreq, a, b, c, d, x0, y0, ampL )
|
|
|
|
+ Latoocarfian2DC.ar( minfreq, maxfreq, a, b, c, d, x0, y0, ampC );
|
|
|
|
|
|
|
|
// band pass filter // ----- BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)
|
|
|
|
signal = BPF.ar(in: signal, freq: bpffreq.min(bpffreq / bpfrq), rq: bpfrq);
|
|
|
|
|
|
|
|
signal = signal * amp;
|
|
|
|
signal = signal.clip2(0.99);
|
|
|
|
Out.ar(out, signal);
|
|
|
|
|
|
|
|
postln("~~~ Loading LatoocarfianMap to server...");
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
s: 10, r: 28, b: 2.6666667, h: 0.02,
|
|
|
|
x0: 0.090879182417163, y0: 2.97077458055, z0: 24.282041054363, */
|
|
|
|
|
|
|
|
SynthDef(\LorenzMap, {
|
|
|
|
|
|
|
|
/* a: 1, b: 3, c: 0.5, d: 0.5,
|
|
|
|
x0: 0.34082301375036, y0: -0.38270086971332, */
|
|
|
|
|
|
|
|
arg out=0, minfreq=10, maxfreq=22,
|
|
|
|
s = 10, r = 28, b = 2.6666667, h = 0.02,
|
|
|
|
x0 = 0.090879182417163, y0 = 2.97077458055, z0 = 24.282041054363,
|
|
|
|
ampN=0, ampL=0, ampC=0,
|
|
|
|
amp=0, bpffreq=20000, bpfrq = 100 ;
|
|
|
|
var signal ;
|
|
|
|
|
|
|
|
// poor man's stereo expander
|
|
|
|
minfreq = [minfreq, minfreq +1 ];
|
|
|
|
maxfreq = [maxfreq, maxfreq -1 ];
|
|
|
|
|
|
|
|
signal = Lorenz2DN.ar( minfreq, maxfreq, s, r, b, h, x0, y0, z0, ampN )
|
|
|
|
+ Lorenz2DL.ar( minfreq, maxfreq, s, r, b, h, x0, y0, z0, ampL )
|
|
|
|
+ Lorenz2DC.ar( minfreq, maxfreq, s, r, b, h, x0, y0, z0, ampC );
|
|
|
|
|
|
|
|
// band pass filter // ----- BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)
|
|
|
|
signal = BPF.ar(in: signal, freq: bpffreq.min(bpffreq / bpfrq), rq: bpfrq);
|
|
|
|
|
|
|
|
signal = signal * amp;
|
|
|
|
signal = signal.clip2(0.99);
|
|
|
|
Out.ar(out, signal);
|
|
|
|
|
|
|
|
postln("~~~ Loading LorenzMap to server...");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|
|
|
|
|
|
|
|
/* urate: 0.1, wrate: 0.1,
|
|
|
|
b0: 0.6, b1: 0.8,
|
|
|
|
i: 0, u0: 0, w0: 0, */
|
|
|
|
|
|
|
|
|
|
|
|
SynthDef(\FhnMap, {
|
|
|
|
|
|
|
|
|
|
|
|
arg out=0, minfreq=10, maxfreq=22,
|
|
|
|
urate = 0.1, wrate = 0.1,
|
|
|
|
b0 = 0.6, b1 = 0.8,
|
|
|
|
i = 0, u0 = 0, w0 = 0,
|
|
|
|
ampN=0, ampL=0, ampC=0,
|
|
|
|
amp=0, bpffreq=20000, bpfrq = 100 ;
|
|
|
|
var signal ;
|
|
|
|
|
|
|
|
// poor man's stereo expander
|
|
|
|
minfreq = [minfreq, minfreq +1 ];
|
|
|
|
maxfreq = [maxfreq, maxfreq -1 ];
|
|
|
|
|
|
|
|
signal = Fhn2DN.ar( minfreq, maxfreq, urate, wrate, b0, b1, i, u0, w0, ampN )
|
|
|
|
+ Fhn2DL.ar( minfreq, maxfreq, urate, wrate, b0, b1, i, u0, w0, ampL )
|
|
|
|
+ Fhn2DC.ar( minfreq, maxfreq, urate, wrate, b0, b1, i, u0, w0, ampC );
|
|
|
|
|
|
|
|
// band pass filter // ----- BPF.ar(in: 0, freq: 440, rq: 1, mul: 1, add: 0)
|
|
|
|
signal = BPF.ar(in: signal, freq: bpffreq.min(bpffreq / bpfrq), rq: bpfrq);
|
|
|
|
|
|
|
|
signal = signal * amp;
|
|
|
|
signal = signal.clip2(0.99);
|
|
|
|
Out.ar(out, signal);
|
|
|
|
|
|
|
|
|
|
|
|
postln("~~~ Loading FhnMap to server...");
|
|
|
|
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// GRANULATORS
|
|
|
|
|
|
|
|
|
|
|
|
SynthDef(\Granny, {
|
|
|
|
|
|
|
|
arg bufnum,
|
|
|
|
freq = 10, fvar = 1,
|
|
|
|
dur = 0.1, durvar = 0,
|
|
|
|
pos = 0, posvar = 0,
|
|
|
|
pitch = 1, pitchvar = 0,
|
|
|
|
width = 0.2,
|
|
|
|
gain = 0.5,
|
|
|
|
lpfFreq = 400
|
|
|
|
;
|
|
|
|
var signal;
|
|
|
|
|
|
|
|
signal = GrainBuf.ar(
|
|
|
|
numChannels: 2, // we want stereo!
|
|
|
|
trigger: Impulse.kr(freq + (freq * (fvar * LFNoise2.kr(freq)))), // a UGen?
|
|
|
|
dur: dur + (durvar * LFNoise2.kr(freq)), // in seconds
|
|
|
|
sndbuf: bufnum,
|
|
|
|
rate: pitch + (pitchvar * LFNoise2.kr(5)), // pitch !! WHAT IS THE SPEED OF VARIATIONS? setable??
|
|
|
|
pos: pos + (posvar * LFNoise2.kr(freq)), // position 0-1
|
|
|
|
interp: 2, // interpolation for pitchshifting
|
|
|
|
pan: LFNoise1.kr(10).range(width.neg, width), // if numChannels=2, similar to Pan2, -1 left, +1 right
|
|
|
|
// envbunum: -1, // the buffer number cont. grain envelope
|
|
|
|
maxGrains: 512,
|
|
|
|
mul: gain,
|
|
|
|
add: 0
|
|
|
|
);
|
|
|
|
|
|
|
|
signal = LPF.ar(
|
|
|
|
in: signal,
|
|
|
|
freq: lpfFreq);
|
|
|
|
|
|
|
|
Out.ar(0, signal);
|
|
|
|
|
|
|
|
postln("~~~ adding SynthDef: Granny ...");
|
|
|
|
|
|
|
|
}).add;
|
|
|
|
|