Initial commit

master
Luka Prinčič 2018-06-26 08:22:07 +02:00
commit d05cc637f1
54 changed files with 314 additions and 0 deletions

314
antigone.scd Normal file
View File

@ -0,0 +1,314 @@
(/*
Copyright (c) 2018 Luka Prinčič, All rights reserved.
This program is free software distributed under
GNU General Public Licence. See COPYING for more info.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
// Be nice. Say hi!
postln("\n\n
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>> Hello. <<<
█████╗ ███╗ ██╗████████╗██╗ ██████╗ ██████╗ ███╗ ██╗███████╗
██╔══██╗████╗ ██║╚══██╔══╝██║██╔════╝ ██╔═══██╗████╗ ██║██╔════╝
███████║██╔██╗ ██║ ██║ ██║██║ ███╗██║ ██║██╔██╗ ██║█████╗
██╔══██║██║╚██╗██║ ██║ ██║██║ ██║██║ ██║██║╚██╗██║██╔══╝
██║ ██║██║ ╚████║ ██║ ██║╚██████╔╝╚██████╔╝██║ ╚████║███████╗
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
");
Server.default.waitForBoot {
// home folder of current script
var dir = PathName(thisProcess.nowExecutingPath).pathOnly;
// load samples
~granSmp = PathName(dir +/+ "smp/").files;
~granBfrList = List();
~granBfr = List();
postln(" \n~~~ Loading samples for granular synthesis ..." );
~granSmp.do({ |item, i|
postln(" " + i + "" + item.folderName +/+ item.fileName);
~granBfrList.add(item.fileName);
~granBfr.add(Buffer.readChannel(s, item.fullPath, channels:[0])); // [0] forces mono!
});
//////////////////////////////////////////////////////////////////////////////////////
// granulator "Granny" definition
SynthDef(\Granny, {
arg bufnum,
freq = 200, fvar = 0.05,
dur = 0.3, durvar = 0.01,
pitch = 1, pitchvar = 0.001,
width = 0.4,
gain = 0.2,
reverb = 0.5,
posvar = 0.05,
lpfLFOSpeed = 0.013,
lpfLFOSpeedVar = 0.1,
lpfLFOMin = 400,
lpfLFOMax = 5000,
posLFOSpeed = 0.005,
posLFOSpeedVar = 0.1,
posLFOMin = 0,
posLFOMax = 1
;
// variables
var signal,
lpfFreq = SinOsc.kr(freq:lpfLFOSpeed * SinOsc.kr(freq:lpfLFOSpeedVar, mul:0.5, add:1)).linlin(
inMin:-1, inMax:1, outMin:lpfLFOMin, outMax:lpfLFOMax),
pos = SinOsc.kr(freq:posLFOSpeed * SinOsc.kr(freq:posLFOSpeedVar, mul:0.5, add:1)).linlin(
inMin:-1, inMax:1, outMin:posLFOMin, outMax:posLFOMax),
// envelopes
gainEnv = Env.newClear(4),
gainEnvCtl = \gainEnv.kr(gainEnv.asArray),
lpfEnv = Env.newClear(4),
lpfEnvCtl = \lpfEnv.kr(lpfEnv.asArray)
;
// main granular synthesis generator: GrainBuf uGen
signal = GrainBuf.ar(
numChannels: 2, // 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
pos: pos + (posvar * LFNoise2.kr(freq)), // position 0-1
interp: 2, // interpolation for pitchshifting
pan: LFNoise1.kr(10).range(width.neg, width),
maxGrains: 512,
mul: gain,
add: 0
);
// low pass filter
signal = LPF.ar(
in: signal,
// prevent filter clicks by lagging low pass filter freq changes
freq: Lag.kr(lpfFreq, 0.2)
* EnvGen.kr(envelope: lpfEnvCtl, gate: 1)); // filter frequency envelope
// fade in, sustain, fade out
signal = signal * EnvGen.kr(envelope: gainEnvCtl, gate: 1, doneAction: 2);
// reverb
signal = GVerb.ar(
in: signal,
roomsize: 243,
revtime: 6,
damping: 1,
inputbw: 1,
drylevel: -6.dbamp,
earlyreflevel: reverb,
taillevel: 0.dbamp
);
Out.ar(0, signal);
postln("~~~ adding SynthDef: Granny ...");
}).add;
}
)
//////////////////////////////////////////////////////////////////////////////////////
// Synths
// ACT I
(
~act_I = Synth(\Granny,
[
\bufnum, ~granBfr.at(21), // "09 - PART II - Chorus.7.wav"
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [20,301,30], \exp),
\lpfLFOSpeed, 0.023, \lpfLFOSpeedVar, 0.041, \lpfLFOMin, 1000, \lpfLFOMax, 8000,
\posLFOSpeed, 0.020, \posLFOSpeedVar, 0.089, \posLFOMin, 0.56, \posLFOMax, 0.92
]
);
)
( // ACT II --------------------------------------------------------------------------
~act_II = Synth(\Granny,
[
\bufnum, ~granBfr.at(43), // "23 - The Mother.6.wav"
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeed, 0.013, \lpfLFOSpeedVar, 0.041, \lpfLFOMin, 1000, \lpfLFOMax, 4000,
\posLFOSpeed, 0.020, \posLFOSpeedVar, 0.089, \posLFOMin, 0.25, \posLFOMax, 0.90 ,
]
);
)
( // ACT IIb --------------------------------------------------------------------------
~act_IIb = Synth(\Granny,
[
\bufnum, ~granBfr.at(28), // "13 - Chorus Of The Self-Righteous.7.wav"
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeed, 0.013, \lpfLFOSpeedVar, 0.054, \lpfLFOMin, 1000, \lpfLFOMax, 2000,
\posLFOSpeed, 0.057, \posLFOSpeedVar, 0.033, \posLFOMin, 0.1, \posLFOMax, 0.6,
]
);
)
( // ACT III (and ACT VII) ------------------------------------------------------------
~act_III = Synth(\Granny,
[
\bufnum, ~granBfr.at(25), // "11 - Chorus Of The Persecutors And Persecuted.8.wav"
\pitch, 0.95,
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeed, 0.063, \lpfLFOSpeedVar, 0.054, \lpfLFOMin, 1500, \lpfLFOMax, 6000,
\posLFOSpeed, 0.037, \posLFOSpeedVar, 0.033, \posLFOMin, 0.1, \posLFOMax, 0.8,
]
);
)
( // ACT IV --------------------------------------------------------------------------
~act_IV = Synth(\Granny,
[
\bufnum, ~granBfr.at(45), // "26 - Part III - Chorus.1.wav"
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeed, 0.009, \lpfLFOSpeedVar, 0.054, \lpfLFOMin, 1000, \lpfLFOMax, 6000,
\posLFOSpeed, 0.037, \posLFOSpeedVar, 0.033, \posLFOMin, 0.35, \posLFOMax, 0.95,
]
);
)
( // ACT V --------------------------------------------------------------------------
~act_V = Synth(\Granny,
[
\bufnum, ~granBfr.at(51), // "29 - PRELUDIUM - General Ensemble.7.wav"
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeed, 0.009, \lpfLFOSpeedVar, 0.054, \lpfLFOMin, 2000, \lpfLFOMax, 9000,
\posLFOSpeed, 0.037, \posLFOSpeedVar, 0.033, \posLFOMin, 0.05, \posLFOMax, 0.55,
]
);
)
( // ACT VI --------------------------------------------------------------------------
~act_VI = Synth(\Granny,
[
\bufnum, ~granBfr.at(48), // "28 - Scena (Bass Solo & Chorus).8.wav"
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeed, 0.031, \lpfLFOSpeedVar, 0.054, \lpfLFOMin, 700, \lpfLFOMax, 1500,
\posLFOSpeed, 0.037, \posLFOSpeedVar, 0.033, \posLFOMin, 0.15, \posLFOMax, 0.9,
]
);
)
/////////////////////////////////////////////////////////////////////////////////////
( // --------------------------------------------------------------------------
~number38 = Synth(\Granny,
[
\bufnum, ~granBfr.at(38), // "21 - A Spiritual Of Anger (Chorus & Bass Solo).3.wav"
\lpfLFOSpeed, 0.041, \lpfLFOMin, 700, \lpfLFOMax, 6500,
\posLFOSpeed, 0.037, \posLFOMin, 0.15, \posLFOMax, 0.9,
// fade-in, fade-out
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeedVar, 0.054, \posLFOSpeedVar, 0.033,
]
);
)
( // --------------------------------------------------------------------------
~number0 = Synth(\Granny,
[
\bufnum, ~granBfr.at(0), // "01 - PART I - Chorus.10.wav"
\lpfLFOSpeed, 0.021, \lpfLFOMin, 700, \lpfLFOMax, 6500,
\posLFOSpeed, 0.017, \posLFOMin, 0.09, \posLFOMax, 0.91,
\gain, 0.15,
// fade-in, fade-out
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeedVar, 0.054, \posLFOSpeedVar, 0.033,
]
);
)
( // --------------------------------------------------------------------------
~number1 = Synth(\Granny,
[
\bufnum, ~granBfr.at(1), // "01 - PART I - Chorus.12.wav"
\lpfLFOSpeed, 0.021, \lpfLFOMin, 700, \lpfLFOMax, 6500,
\posLFOSpeed, 0.017, \posLFOMin, 0.09, \posLFOMax, 0.91,
\gain, 0.15,
// fade-in, fade-out
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin),
\lpfEnv, Env([0.001, 1, 1, 0.001], [19,301,30], \exp),
\lpfLFOSpeedVar, 0.054, \posLFOSpeedVar, 0.033,
]
);
)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
smp/02 - The Argument.3.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
smp/19 - The Terror.10.wav Normal file

Binary file not shown.

BIN
smp/19 - The Terror.3.wav Normal file

Binary file not shown.

BIN
smp/19 - The Terror.7.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
smp/23 - The Mother.3.wav Normal file

Binary file not shown.

BIN
smp/23 - The Mother.6.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.