How to keep synth release tail when stopping Pbind

I first want to mention that I setup a proxyspace p=ProxySpace.push(s); since I noticed that ~bass.mute did not work and that might be what I need. What I’m trying to do is stop the the Pbind but have the last note release tail play through and not immediately be cutoff when running ~bass.stop(). I tried ~bass.end() but that keeps playing the the pattern but fades away.

(
~bass = Pbind(
    \instrument, \bass,
	\degree, Pseq([5, 8, 2, 3, 4, 7, 3, 4], inf) ,
	\dur, Pseq([1, 2, 4, 0.50, 0.50, 1, 2, 4],inf),\amp,0.01,\rate,1);

~bass.play();
)
~bass.end(5);
1 Like

You can declare .fadeTime in proxyspace to get a more gradual release envelope. I’m not sure if that fully answers your question though

An example would be like if I had a hardware sequencer and I hit stop but the synth’s envelope release is not cut off. I tried fadeTime and that didn’t seem to change anything. Basically my Synthdef’s envelope release/decay time is being cut off when I do ~bass.stop().

If you want it to hold the last note and fade out, you can call

~bass.set(\dur, inf);
~bass.free(5);

or whichever ending result you’re after in stopping the playback:

.free(fadeTime)

free all proxies (i.e. free also the groups, do not stop the monitors)

.release(fadeTime)

release all proxies (i.e. keep the groups running)

.stop(fadeTime)

stop all proxies (stop only monitors, do not stop synths)

.end(fadeTime)

end all proxies (free and stop the monitors)

.clear(fadeTime)

clear the node proxy and remove it from the environment. this frees all buses. If a fadeTime is given, first fade out, then clear.

1 Like

~bass.release() is what I needed. Thanks!

1 Like