Hi there!
I have 2 SynthDefs, One generates sound and the other one receives it and applies an envelope to it.
When I run the code, I notice the audio has some gaps (that are not wanted) which are related to the “\dur” of the “\testbus” Synth when it is re triggered. If “\dur” is 1 the gaps occur every 1 sec if “\dur” is 10 the gaps occur every 10 sec.
If I specify “\out,0” for the “\test” Synth (ie not passing through the “\testbus” synth) the gaps are not there, and when at the “\testbus” Synth i put the release env alone as output and not multiply it with the signal of “inSig” you hear the envelopes playing fine without any gaps. When in the “\testbus” Synth I put as output the “inSig” you hear the gaps.
So from what I understand something happens at the signal in the bus when the “\testbus” Synth gets re triggered.
Would anyone know how to resolve this? because I would like to have a continuous signal
Thank you!!
(
SynthDef(\test,{
|freq,out,t_trig=0,dur|
var sig= SinOsc.ar(freq);
var release= EnvGen.ar(Env([1,0],[dur]),t_trig,doneAction:2);
var output= OffsetOut.ar(out,sig*release);
//var output= OffsetOut.ar(out,sig);
}).add;
SynthDef(\testbus,{
|in,out,dur,t_trig=0|
var output,inSig = In.ar(in,2);
var release= EnvGen.ar(Env([1,0,1],[dur/2,dur/2]),t_trig,doneAction:2);
//output= OffsetOut.ar(out,(inSig*release)!2);
output= OffsetOut.ar(out,(inSig)!2);
}).add;
)
(
Pdef(\t1, Ppar([
Pbind(
\instrument, \test,
\freq,Pseq([100,50,80,40],inf),
\t_trig,Pseq([[1]],inf),
\out,Pseq([[10]],inf),
\dur, 1/Pkey(\freq),
),
Pbind(
\instrument, \testbus,
\in,Pseq([[10]],inf),
\t_trig,Pseq([1],inf),
\out,Pseq([0],inf),
\dur,Pseq([1],inf)
)
])).play.reset;
)