I accidentally didn’t execute the Reverbsynthdef , but did execute the reverbsynth
Result is that the reverb always sounded
Here’s a bit of code , execute everything except the SynthdefReverb ( do execute reverbsynth and it’s set parameter )
Result is that the reverb will always sound but it’s parameters can’t be set
How come a reverb can be active while the synthdefgraph functin isn’t executed ?
It was really driving me nuts why I heard reverb , the fx send was set to zero ( in the fmsynth pbindef) and the set parameter for the reverb didn’twork .
The node tree showed that the reverb was executed so that couldn’t be it ., but it seems that NOT executing the reveb synthdef lead to this weird situation .
So how come a not executed reverbsynthdef that houses the reverb dsp block does produce reverb ?
(
SynthDef(\dex11algo3,//op3-->op2-->op1<--op4
{
|
pitch=48,
op1att=0.001,op1dec=0.4,op1amt=1,op1tune=0,
op2att=0.001,op2dec=0.250,op2amt=4,op2tune=12,
op3att=0.001,op3dec=0.150,op3amt=2,op3tune=0,
op4att=0.001,op4dec=1.250,op4amt=2,op4tune=0,feedbackamt=0.5,vol=0.5,out,outfx,fxsend=0.0|
var env1,env2,env3,env4,op1,op2,op3,op4,pan=(0.0),signal;
env4=EnvGen.ar(Env([0,1,0],[op4att,op4dec],[0,-5]),doneAction:0);
op4=SinOscFB.ar((pitch+op4tune).midicps,env4*feedbackamt);
op4=op4*env4;
op4=op4*op4amt;
op4;
env3=EnvGen.ar(Env([0,1,0],[op3att,op3dec],[0,-5]),doneAction:0);
op3=SinOsc.ar((pitch+op3tune).midicps);
op3=op3*env3;
op3=op3*op3amt;
env2=EnvGen.ar(Env([0,1,0],[op2att,op2dec],[0,-5]),doneAction:0);
op2=SinOsc.ar((pitch+op2tune).midicps,op3);
op2=op2*env2;
op2=op2*op2amt;
env1=EnvGen.ar(Env([0,1,0],[op1att,op1dec],[0,-5]),doneAction:2);
op1=SinOsc.ar((pitch+op1tune).midicps,op2+op4);
op1=op1*env1;
signal=op1*op1amt;
signal=signal*vol;
signal=Pan2.ar(signal,pos:pan);
Out.ar(outfx,(signal*fxsend));
Out.ar(out,signal);
}).add
)
(
SynthDef(\reverb,//Don't execute
{
|in,out,mix=0.5,room=1|
var sig,processed;
sig=In.ar(in,2);
processed=FreeVerb.ar(sig,mix,room);
Out.ar(out,processed)
}).add
)
~reverberate=Synth(\reverb,[\mix,0.5,\room,0.5,\in,~revbus,\out,0])
~reverberate.set(\mix,1,\room,0.2)
t=TempoClock(122/60).permanent_(true)
~revbus=Bus.audio(s,2)
(
Pdef(\FM,
Pbind(\instrument,
\dex11algo3,
\dur,Pseq([1/4,1/4,1/4,1/4,1/4,1/4,1/4,1/2],inf),
\pitch,Pseq([
Pseq([55,60,57,43,52]-12,1),
Pxrand([55,48,57,43,52]-12,1)
],inf)-7,
\vol,Pseq([
Pseq([0.5,0,0.1,0,0.8,0,0.8,0.3,0],1),
Pxrand([0.5,0,0.1,0,0.8,0,0.8,0.3,0],1)
],inf),
\out,0,
\op2dec,Pseq([0.150,0.150,0.50,0.050,0.150,0.050],inf),
)
)
)
Pbindef(\FM,\dur,1/4,\out,0,\op2dec,0.150,\op3dec,0.350,\op4dec,0.250,\op4tune,24,\outfx,~revbus,\fxsend,0.0)
Pdef(\FM).play(t)
Pdef(\FM).stop(t)