i tried this once more with an example synth from the helpfile and a comb filter fx. PbindFx
works without the external bus of DXEnvFan
. But not with any of the ways i tried to apply it via \otherBusArgs
.
(
b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");
a = Bus.audio(s, 30);
SynthDef(\test, {
//var busIn = Array.fill(30, \busIn.kr(0));
var sig, env = DXEnvFan.ar(
Dseq([0, 1], inf),
fadeMode: 3,
stepTime: 0.05,
fadeTime: 0.01,
// to ensure right triggering set zeroThr
zeroThr: 0.002,
// works without external bus
//bus: a
//bus: { busIn }
//bus: { In.ar(\busIn.kr(0), 30) }
);
sig = PlayBuf.ar(
1,
b,
[1, 1.1] * BufRateScale.kr(b),
env,
Demand.ar(
env,
0,
Dstutter(
5,
Dwhite(0.1, 0.9)
) * BufFrames.ir(b)
)
) * 1.2 * env;
// do a bit correlation
sig = Splay.ar(sig, 0.8);
Out.ar(\out.kr(0), sig);
}).add;
SynthDef(\combL, {
arg in=0, mix=(-0.5), decay=1, delHz=0.55, delStereoRatio=0.9, delMin=0.001, delMax=0.4;
var sig, inSig, comb;
inSig = In.ar(in, 2);
delHz = delHz * [1, delStereoRatio];
comb = CombL.ar(
inSig,
delMax,
LFPar.kr(delHz,[0,pi/2]).exprange(delMin,delMax),
decay,
);
sig = XFade2.ar(inSig, comb, mix) * \amp.kr(1);
Out.ar(\out.kr(0), sig);
}).add;
)
(
x = PbindFx([
\instrument, \test,
\busIn, a, //Pfunc { a },
\otherBusArgs, [\busIn],
\fxOrder, [1]
], [
\fx, \combL,
]).play;
)
x.stop;