|
|
@ -4,6 +4,38 @@ 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. |
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
|
|
|
|
|
This is source code to Antigone/Child music release and |
|
|
|
soundtrack to the stage piece by Matija Ferlin "Staging |
|
|
|
a Play: Antigone" by Luka Prinčič. It replicates 6 |
|
|
|
tracks from the album and 6 tracks from the stage show. |
|
|
|
|
|
|
|
If you openned this file in SuperCollider IDE, there are |
|
|
|
two steps you have to do: |
|
|
|
|
|
|
|
PART I: |
|
|
|
Place the cursos anywhere between top parenthesis |
|
|
|
and the closing one, which is the one above the line |
|
|
|
that sais "Cooking Synths". In fact your cursor might |
|
|
|
already at the begining of this file, which means you can |
|
|
|
press CTRL+RETURN to run this part of code - booting and |
|
|
|
preparing server. The code will flash, there is no sound |
|
|
|
yet.) |
|
|
|
|
|
|
|
PART II: |
|
|
|
Scroll down to "Cooking Synths" and place the cursor inside |
|
|
|
the first block (ACT I), and press CTRL+RETURN again. The |
|
|
|
code will flash and slowly the sound should come in. If not, |
|
|
|
check with CTRL+M to see meters and SC output visualy. |
|
|
|
The piece will run out in about 5 minutes. Or you can |
|
|
|
always stop it with CTRL+<PERIOD>. And run the next block. |
|
|
|
|
|
|
|
Then play with parameters, break the code, start again. |
|
|
|
Make music! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
// Be nice. Say hi! |
|
|
|
postln("\n\n |
|
|
@ -12,15 +44,15 @@ postln("\n\n |
|
|
|
>>> Hello. <<< |
|
|
|
|
|
|
|
_ _ _ _____ ___ ___ ___ _ _ ___ _____ _ _ ___ _ ___ |
|
|
|
/_\ | \| |_ _|_ _/ __|/ _ \| \| | __| / / __| || |_ _| | | \ |
|
|
|
/ _ \| .` | | | | | (_ | (_) | .` | _| / / (__| __ || || |__| |) | |
|
|
|
/_/ \_\_|\_| |_| |___\___|\___/|_|\_|___/_/ \___|_||_|___|____|___/ |
|
|
|
/_\\ | \\| |_ _|_ _/ __|/ _ \\| \\| | __| / / __| || |_ _| | | \ |
|
|
|
/ _ \\| .` | | | | | (_ | (_) | .` | _| / / (__| __ || || |__| |) | |
|
|
|
/_/ \\_\\_|\\_| |_| |___\\___|\\___/|_|\\_|___/_/ \\___|_||_|___|____|___/ |
|
|
|
|
|
|
|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
|
|
|
|
|
|
|
"); |
|
|
|
|
|
|
|
Server.default.waitForBoot { |
|
|
|
Server.default.waitForBoot { // if the SC server is not yet booted, boot it |
|
|
|
|
|
|
|
|
|
|
|
// home folder of current script |
|
|
@ -41,7 +73,7 @@ Server.default.waitForBoot { |
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////// |
|
|
|
// granulator "Granny" definition - basic recipe for the cake |
|
|
|
// granulator "Granny" synth definition - basic recipe for the cake |
|
|
|
|
|
|
|
SynthDef(\Granny, { |
|
|
|
|
|
|
@ -124,15 +156,17 @@ Server.default.waitForBoot { |
|
|
|
|
|
|
|
postln("~~~ adding SynthDef: Granny ..."); |
|
|
|
|
|
|
|
}).add; |
|
|
|
}).add; // add to server |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////// |
|
|
|
// cooking Synths |
|
|
|
// run each one separately one after the other. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -140,11 +174,14 @@ Server.default.waitForBoot { |
|
|
|
( |
|
|
|
~act_I = Synth(\Granny, |
|
|
|
[ |
|
|
|
// which sample should we use? |
|
|
|
\bufnum, ~granBfr.at(21), // "09 - PART II - Chorus.7.wav" |
|
|
|
|
|
|
|
// fade-in, fade-out |
|
|
|
\gainEnv, Env([0, 1, 1, 0], [1,320,40], \lin), |
|
|
|
\lpfEnv, Env([0.001, 1, 1, 0.001], [20,301,30], \exp), |
|
|
|
|
|
|
|
// LFOSpeed is the frequency of LF oscilator, then variation and min/max points |
|
|
|
\lpfLFOSpeed, 0.023, \lpfLFOSpeedVar, 0.041, \lpfLFOMin, 1000, \lpfLFOMax, 8000, |
|
|
|
\posLFOSpeed, 0.020, \posLFOSpeedVar, 0.089, \posLFOMin, 0.56, \posLFOMax, 0.92 |
|
|
|
] |
|
|
@ -183,7 +220,7 @@ Server.default.waitForBoot { |
|
|
|
); |
|
|
|
) |
|
|
|
|
|
|
|
( // ACT III (and ACT VII) ------------------------------------------------------------ |
|
|
|
( // ACT III (and ACT VII!) ------------------------------------------------------------ |
|
|
|
~act_III = Synth(\Granny, |
|
|
|
[ |
|
|
|
\bufnum, ~granBfr.at(25), // "11 - Chorus Of The Persecutors And Persecuted.8.wav" |
|
|
@ -251,13 +288,16 @@ Server.default.waitForBoot { |
|
|
|
///////////////////////////////////////////////////////////////////////////////////// |
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
// -------------------------------------------------------------------------- |
|
|
|
// Track 02 from the album - "Chorus 1 (SC)" |
|
|
|
|
|
|
|
( // -------------------------------------------------------------------------- |
|
|
|
~number38 = Synth(\Granny, |
|
|
|
~chorus1 = 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, |
|
|
|
\bufnum, ~granBfr.at(3), // "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), |
|
|
@ -270,10 +310,14 @@ Server.default.waitForBoot { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( // -------------------------------------------------------------------------- |
|
|
|
~number0 = Synth(\Granny, |
|
|
|
|
|
|
|
( |
|
|
|
// -------------------------------------------------------------------------- |
|
|
|
// Track 08 from the album - "Chorus 2 (SC)" |
|
|
|
|
|
|
|
~number4 = Synth(\Granny, |
|
|
|
[ |
|
|
|
\bufnum, ~granBfr.at(0), // "01 - PART I - Chorus.10.wav" |
|
|
|
\bufnum, ~granBfr.at(4), // "01 - PART I - Chorus.3.wav" |
|
|
|
\lpfLFOSpeed, 0.021, \lpfLFOMin, 700, \lpfLFOMax, 6500, |
|
|
|
\posLFOSpeed, 0.017, \posLFOMin, 0.09, \posLFOMax, 0.91, |
|
|
|
\gain, 0.15, |
|
|
@ -288,17 +332,22 @@ Server.default.waitForBoot { |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
( // -------------------------------------------------------------------------- |
|
|
|
~number1 = Synth(\Granny, |
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
// -------------------------------------------------------------------------- |
|
|
|
// Track 10 from the album - "The Oppressed 2 (SC)" |
|
|
|
|
|
|
|
~number12 = 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, |
|
|
|
\bufnum, ~granBfr.at(12), // "05 - Chorus Of The Oppressed.11.wav" |
|
|
|
\lpfLFOSpeed, 0.015, \lpfLFOMin, 700, \lpfLFOMax, 5000, |
|
|
|
\posLFOSpeed, 0.01, \posLFOMin, 0.05, \posLFOMax, 0.95, |
|
|
|
\gain, 0.15, \pitch, 0.80, |
|
|
|
|
|
|
|
// 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), |
|
|
|
\lpfEnv, Env([0.001, 1, 1, 0.001], [15,301,30], \exp), |
|
|
|
|
|
|
|
\lpfLFOSpeedVar, 0.054, \posLFOSpeedVar, 0.033, |
|
|
|
] |
|
|
@ -313,3 +362,5 @@ Server.default.waitForBoot { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|