FreeVerb2 gets canceled by out-of-phase channels

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

4 Likes