restructured busses to add reverb
parent
ab06a766f2
commit
55589b21af
|
@ -77,7 +77,7 @@ s.scope
|
|||
// Quarks.gui
|
||||
);
|
||||
|
||||
|
||||
m = ServerMeter.new(s, 0, 2);
|
||||
|
||||
|
||||
|
||||
|
@ -123,7 +123,7 @@ t.tempo;
|
|||
////////////////////////////////////////////////////////////////////////////
|
||||
( // basic synth SynthDef
|
||||
SynthDef(\blipo, { | out, freq = 440, amp = 0.1, nharms = 10, pan = 0, gate = 1, sustain, attack=0.1 |
|
||||
var audio = Blip.ar(freq * (SinOsc.kr(3).range(1,1.01)), nharms, amp);
|
||||
var audio = Blip.ar(freq * (SinOsc.kr(3).range(1,1.001)), nharms, amp);
|
||||
var env = Linen.kr(gate, attackTime: attack, releaseTime: sustain, doneAction: Done.freeSelf);
|
||||
OffsetOut.ar(out, Pan2.ar(audio, pan, env) );
|
||||
}).add;
|
||||
|
@ -168,8 +168,8 @@ Pbindf(
|
|||
\instrument, \blipo,
|
||||
\degree, (Pflatten(1, Plorenz()) * 18).asInteger,
|
||||
\mtranspose, Prand([Pn(0,24),Pn(2,24),Pn(4,24)], inf),
|
||||
\detune, Prand([0,1,0.5,1.5], inf),
|
||||
\scale, Scale.minor(\just),
|
||||
\detune, Prand([0,0.5], inf),
|
||||
\scale, Scale.minor,
|
||||
\legato, Prand((4..7),inf) * 0.2,
|
||||
\pan, Prand((-10..10),inf) * 0.1,
|
||||
\out, ~revbus
|
||||
|
@ -181,6 +181,17 @@ Pbindf(
|
|||
|
||||
|
||||
|
||||
{SinOsc.ar()}.play
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1053,3 +1064,24 @@ x.free
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Hello everyone!!!
|
|
@ -37,18 +37,38 @@
|
|||
|
||||
|
||||
SynthDef("octoPanner", {
|
||||
arg inBus, x=0, y=0.14, radius=1;
|
||||
arg inBus, x=0, y=0.14, radius=1, outBus;
|
||||
var snd = In.ar(inBus,1);
|
||||
|
||||
snd = ~octoPanOut.value(snd, x, y, radius);
|
||||
|
||||
Out.ar(0, snd);
|
||||
|
||||
Out.ar(outBus, snd);
|
||||
}).add;
|
||||
);
|
||||
|
||||
(
|
||||
SynthDef("reverBusser", {
|
||||
arg inBus, outBus, verb1wet=0, verb2wet=0, verb3wet=0, verb4wet=0;
|
||||
var verb1, verb2, verb3, verb4;
|
||||
var snd = In.ar(inBus, 8);
|
||||
|
||||
|
||||
|
||||
)
|
||||
verb1 = JPverb.ar(snd.at([0,1]) * verb1wet);
|
||||
verb2 = JPverb.ar(snd.at([2,3]) * verb2wet);
|
||||
verb3 = JPverb.ar(snd.at([4,5]) * verb3wet);
|
||||
verb4 = JPverb.ar(snd.at([6,7]) * verb4wet);
|
||||
|
||||
snd.put(0, snd.at(0) + verb1.at(0) );
|
||||
snd.put(1, snd.at(1) + verb1.at(1) );
|
||||
snd.put(2, snd.at(2) + verb2.at(0) );
|
||||
snd.put(3, snd.at(3) + verb2.at(1) );
|
||||
snd.put(4, snd.at(4) + verb3.at(0) );
|
||||
snd.put(5, snd.at(5) + verb3.at(1) );
|
||||
snd.put(6, snd.at(6) + verb4.at(0) );
|
||||
snd.put(7, snd.at(7) + verb4.at(1) );
|
||||
|
||||
Out.ar(outBus, snd);
|
||||
}).add;
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(
|
||||
~forestSoilBuf = Buffer.read(s,
|
||||
PathName(thisProcess.nowExecutingPath).pathOnly +/+ "smp/403312__marco-luzi__forest-soil_norm-mono.wav" );
|
||||
PathName(thisProcess.nowExecutingPath).pathOnly +/+ "../smp/403312__marco-luzi__forest-soil_norm-mono.wav" );
|
||||
);
|
||||
|
|
|
@ -50,10 +50,11 @@ SynthDef(\henonLsynth1, {
|
|||
(
|
||||
// henonLsynth = dark brooding melodic drone-noise
|
||||
SynthDef(\henonLsynth2, {
|
||||
arg out;
|
||||
arg out, gate=1, fadeTime=1;
|
||||
var sig, sinfreq, env;
|
||||
|
||||
env = EnvGen.kr(Env(levels: [0,1,1,0], times: [40, 170, 40], curve: \sin), doneAction: 2);
|
||||
env = EnvGen.kr(Env(levels: [0,1,0], times: [fadeTime, fadeTime], curve: \sin, releaseNode: 1),
|
||||
gate, doneAction: 2);
|
||||
|
||||
sinfreq = LFPulse.kr( freq: 0.9, width:0.1);
|
||||
sinfreq = sinfreq.range(
|
||||
|
@ -74,7 +75,7 @@ SynthDef(\henonLsynth2, {
|
|||
|
||||
sig = sig * env;
|
||||
|
||||
//sig = Mix.new(sig);
|
||||
sig = Mix.new(sig);
|
||||
|
||||
Out.ar(out, sig);
|
||||
}).add;
|
||||
|
|
111
rhizosphere.scd
111
rhizosphere.scd
|
@ -51,6 +51,7 @@ Server.default.waitForBoot {
|
|||
~panBus2x.free; ~panBus2y.free; ~panBus2r.free;
|
||||
~panBus3x.free; ~panBus3y.free; ~panBus3r.free;
|
||||
~panBus4x.free; ~panBus4y.free; ~panBus4r.free;
|
||||
~revBus.free;
|
||||
|
||||
// octoBus1 + panners and control busses:
|
||||
~octoBus1 = Bus.audio(s,1);
|
||||
|
@ -88,37 +89,67 @@ Server.default.waitForBoot {
|
|||
~panBus4x.value = 0;
|
||||
~panBus4r.value = 0.1;
|
||||
|
||||
// 8chan reverb bus
|
||||
~revBus = Bus.audio(s,8);
|
||||
">>> loaded all busses".postln;
|
||||
);
|
||||
|
||||
(
|
||||
var timeLine, r;
|
||||
|
||||
// CmdPeriod frees these, but not the busses, so only these need to be re-inst.
|
||||
|
||||
"--- freeing old octoPanners ...".postln;
|
||||
~octoPanner1.free; ~octoPanner2.free; ~octoPanner3.free; ~octoPanner4.free;
|
||||
~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1], addAction: \addToTail);
|
||||
|
||||
"--- loading octoPanners ...".postln;
|
||||
~octoPanner1 = Synth("octoPanner", [\inBus, ~octoBus1, \outBus, ~revBus], addAction: \addToTail);
|
||||
~octoPanner1.map(\x, ~panBus1x);
|
||||
~octoPanner1.map(\y, ~panBus1y);
|
||||
~octoPanner1.map(\radius, ~panBus1r);
|
||||
|
||||
~octoPanner2 = Synth("octoPanner", [\inBus, ~octoBus2], addAction: \addToTail);
|
||||
~octoPanner2 = Synth("octoPanner", [\inBus, ~octoBus2, \outBus, ~revBus], addAction: \addToTail);
|
||||
~octoPanner2.map(\x, ~panBus2x);
|
||||
~octoPanner2.map(\y, ~panBus2y);
|
||||
~octoPanner2.map(\radius, ~panBus2r);
|
||||
|
||||
~octoPanner3 = Synth("octoPanner", [\inBus, ~octoBus3], addAction: \addToTail);
|
||||
~octoPanner3 = Synth("octoPanner", [\inBus, ~octoBus3, \outBus, ~revBus], addAction: \addToTail);
|
||||
~octoPanner3.map(\x, ~panBus3x);
|
||||
~octoPanner3.map(\y, ~panBus3y);
|
||||
~octoPanner3.map(\radius, ~panBus3r);
|
||||
|
||||
~octoPanner4 = Synth("octoPanner", [\inBus, ~octoBus4], addAction: \addToTail);
|
||||
~octoPanner4 = Synth("octoPanner", [\inBus, ~octoBus4, \outBus, ~revBus], addAction: \addToTail);
|
||||
~octoPanner4.map(\x, ~panBus4x);
|
||||
~octoPanner4.map(\y, ~panBus4y);
|
||||
~octoPanner4.map(\radius, ~panBus4r);
|
||||
~octoPanner4.map(\radius, ~panBus4r);
|
||||
|
||||
~reverb = Synth("reverBusser", [\inBus, ~revBus, \outBus, 0], addAction: \addToTail);
|
||||
|
||||
timeLine = Routine {
|
||||
"--- starting main routine ...".postln;
|
||||
|
||||
1.wait;
|
||||
//1.wait;
|
||||
|
||||
/*
|
||||
~panBus1y.value = 0.2; // set a fixed value to a bus
|
||||
~panBus1x.value = 0;
|
||||
|
||||
|
||||
~darkHenon1 = Synth(\henonLsynth2, [\out, ~octoBus1, \fadeTime, 3]);
|
||||
~darkHenon1.set(\gate, 0);
|
||||
~darkHenon1.free
|
||||
~darkHenon1.set(\gate, 0);
|
||||
~darkHenon1.set(\amp, 0);
|
||||
~noiseCr1.set(\fadeTime, 20, \gate, 0);
|
||||
|
||||
~darkHenon2 = Synth(\henonLsynth2, [\out, ~octoBus2]);
|
||||
|
||||
~darkHenon1.free
|
||||
~darkHenon2.free
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/* ***** ************************
|
||||
|
||||
|
@ -180,7 +211,6 @@ timeLine = Routine {
|
|||
~markov8.set(\gate, 0);
|
||||
~markov9.set(\gate, 0);
|
||||
wait(1);
|
||||
**********/
|
||||
|
||||
~markov7 = Synth(\markovS1, [ \out, ~octoBus1,
|
||||
\freq, 141, \tsize, 3, \amp, 0.5, \clip, 0.9, \fadeTime, 0.01 ]);
|
||||
|
@ -249,6 +279,7 @@ timeLine = Routine {
|
|||
|
||||
~noiseCr1.set(\fadeTime, 20, \gate,0);
|
||||
|
||||
**********/
|
||||
|
||||
|
||||
/*
|
||||
|
@ -281,31 +312,6 @@ timeLine.play;
|
|||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 'set' values - disconnects mapping!
|
||||
~octoPanner1.set(\x, 0, \y, 0.14, \radius, 0.1);
|
||||
|
||||
( // send oscilations to control bus
|
||||
~panner1y.free;
|
||||
~panner1y = {Out.kr(~panBus1y, LFNoise0.kr(9).range(0,0.28))}.play;
|
||||
~panner1y = SynthDef(\randomPanY, { Out.kr(~panBus1y, LFNoise0.kr(9).range(0,0.28))}).play;
|
||||
// convert to SynthDef + Synth for common oscilations?
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
( // metering/analysis
|
||||
s.meter;
|
||||
s.scope;
|
||||
|
@ -313,18 +319,45 @@ s.plotTree;
|
|||
FreqScope.new(400, 200, 0, server: s);
|
||||
) /////////////////////////////////////
|
||||
|
||||
|
||||
// testing stuff! ///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5]);
|
||||
~reverb.set(\verb1wet, 0.3);
|
||||
~reverb.set(\verb2wet, 1);
|
||||
|
||||
// 'set' values - disconnects mapping!
|
||||
~octoPanner1.set(\x, 0, \y, 0.28, \radius, 0.001);
|
||||
|
||||
~panner1y.free;
|
||||
~panner1y = {Out.kr(~panBus1y, SinOsc.kr(0.1).range(0,0.28))}.play;
|
||||
~panner1y = SynthDef(\randomPanY, { Out.kr(~panBus1y, LFNoise0.kr(9).range(0,0.28))}).play;
|
||||
// convert to SynthDef + Synth for common oscilations?
|
||||
|
||||
~lorenzTrig1.free;
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// synths
|
||||
|
||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus1], ~octoPanner1, \addBefore);
|
||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus1], addAction:\addToHead);// addToHead is default action
|
||||
~henonS1 = Synth(\henonSynth1, [\out, ~octoBus1]);
|
||||
~Henons1 = Synth(\henonSynth1, [\out, 0]);
|
||||
~henonS1.free;
|
||||
|
||||
~darkHenon = Synth(\henonLsynth2, [\out, ~octoBus2], ~octoPanner2, \addBefore);
|
||||
~darkHenon = Synth(\henonLsynth2, [\out, ~octoBus2]);
|
||||
~darkHenon = Synth(\henonLsynth2, [\out, 0]);
|
||||
~darkHenon.free;
|
||||
|
||||
~hpfHenon = Synth(\henonLsynth1, [\out, ~octoBus3, \hpfreqmin, 100]);
|
||||
~hpfHenon = Synth(\henonLsynth1, [\out, ~octoBus1, \hpfreqmin, 100]);
|
||||
~hpfHenon.set(\hpfreqmin, 1000)
|
||||
~hpfHenon.free;
|
||||
|
||||
~distbleeps = Synth(\latooTriggers, [\out, ~octoBus1, \trigA, 1.1], ~octoPanner1, \addBefore);
|
||||
|
@ -338,6 +371,8 @@ FreqScope.new(400, 200, 0, server: s);
|
|||
~henonSquare.set(\gate,0);
|
||||
|
||||
~latooWan1 = Synth(\latooWanderings, [\out, ~octoBus4, \fadeTime, 0.1]);
|
||||
~latooWan1.set(\out,1)
|
||||
~latooWan1.set(\amp,1)
|
||||
~latooWan1.set(\gate, 0, \fadeTime, 10);
|
||||
~latooWan1.free;
|
||||
|
||||
|
@ -354,10 +389,14 @@ FreqScope.new(400, 200, 0, server: s);
|
|||
|
||||
|
||||
~noiseCr1 = Synth(\noiseCrackle, [\out, ~octoBus1, \fadeTime, 5 ]);
|
||||
~noiseCr1 = Synth(\noiseCrackle, [\out, 0, \fadeTime, 5 ]);
|
||||
~noiseCr2 = Synth(\noiseCrackle, [\out, 1, \fadeTime, 5 ]);
|
||||
~noiseCr1.set(\lpfa,1,\hpfa,0);
|
||||
~noiseCr1.set(\hpfa,1,\lpfa,0);
|
||||
~noiseCr1.set(\amp,0.3);
|
||||
|
||||
~noiseCr1.set(\fadeTime, 20, \gate,0);
|
||||
~noiseCr2.set(\fadeTime, 20, \gate,0);
|
||||
~noiseCr1.free;
|
||||
|
||||
|
||||
|
@ -380,7 +419,7 @@ FreqScope.new(400, 200, 0, server: s);
|
|||
~latooTrig1 = Synth(\latooTrigRing, [\out, ~octoBus1, \freq, 300], ~octoPanner1, \addBefore);
|
||||
~latooTrig1.free;
|
||||
|
||||
~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5], ~octoPanner1, \addBefore);
|
||||
~lorenzTrig1 = Synth(\lorenzTrigRing, [\out, ~octoBus1, \freq, 1400, \amp, 0.5]);
|
||||
~lorenzTrig1.free;
|
||||
|
||||
~fhnTrig1 = Synth(\fhnTrigRing, [\out, ~octoBus1, \freq, 2100, \amp, 0.5], ~octoPanner1, \addBefore);
|
||||
|
@ -395,8 +434,8 @@ FreqScope.new(400, 200, 0, server: s);
|
|||
~soil1.set(\rate, 0.2);
|
||||
~soil1.set(\out, 1);
|
||||
~soil1.set(\dur, 0.01);
|
||||
~soil1.set(\amp, 3);
|
||||
|
||||
~soil1.set(\amp, 0.1);
|
||||
~soil1.set(\out, 1);
|
||||
~soil1.set(\envbuf, ~planotaBuf);
|
||||
|
||||
// send SinOscilation to a argument via bus
|
||||
|
@ -409,6 +448,8 @@ FreqScope.new(400, 200, 0, server: s);
|
|||
~soil2 = Synth(\granSoil, [\out, ~octoBus2, \sndbuf, ~forestSoilBuf]);
|
||||
~soil2.map(\dur, ~foreskrBus);
|
||||
|
||||
~soil2.set(\amp, 0.1)
|
||||
|
||||
~soil1.set(\gate, 0, \fadeTime, 2); // use envelope to fade out
|
||||
~soil2.set(\gate, 0, \fadeTime, 2); // use envelope to fade out
|
||||
|
||||
|
|
Loading…
Reference in New Issue