Here is an amusing gotcha I just stumbled across. I was playing with inverting the phase of ring modulation and found that my reverb disappeared.
Somewhere in FreeVerb2, it must be summing the channels – when they are perfectly out of phase, it cancels the reverb almost completely.
// spacey
a = {
var trig = Impulse.ar(1);
var eg = Decay2.ar(trig, 0.01, 0.6);
var amp = 0.5;
var sig = SinOsc.ar * [amp, amp] * eg; // array makes stereo
FreeVerb2.ar(sig[0], sig[1], 0.45, 0.92, 0.2)
}.play;
a.release;
// dry as a bone
a = {
var trig = Impulse.ar(1);
var eg = Decay2.ar(trig, 0.01, 0.6);
var amp = 0.5;
var sig = SinOsc.ar * [amp, amp.neg] * eg; // invert one channel
FreeVerb2.ar(sig[0], sig[1], 0.45, 0.92, 0.2)
}.play;
a.release;
hjh