CheapVerb {
	*ar { arg in, decayTime=1, numDelays=6, mul=1.0, add=0.0;
		var out, numCh, maxDelayTime=0.05;
		out = in;
		numCh = in.size;
		numDelays.do({ 
			out = AllpassN.ar( 
				out, 
				maxDelayTime, 
				(numCh > 0).if({
						// if in is multi channel, make seperate delay time for each channel
						Array.fill( numCh, { arg i; maxDelayTime.rand })
					},{
						maxDelayTime.rand
				}), 
				decayTime
			) 
		});
		^out * mul + add
	}
}