First time here? Check out the FAQ!
x

For echoes, What's the difference between an AllPass and Comb delay?

0 votes
739 views

If I'm making an echo (a delay with a time around 1 second) what's the difference between the AllPass and Comb settings of the Delay Sound?

AllPass says it passes through the orginal signal. When I try it that's only true if Feedback is greater than zero, and then the direct signal is proportional to the Feedback setting. So if Feedback is 0.1 then the direct signal will be very quiet. With a Feeback of more than 0.5 with the AllPass Delay, the first delay seems to diminish in volume. 

If I set Feedback to 1, then the AllPass Delay seems to kill its signal almost immediately whereas the Comb Delay will keep repeating forever. 

Here is a Sound where you can compare the two.

 

 

 

 

 

asked Jan 25, 2019 in Sound Design by alan-jackson (Virtuoso) (15,840 points)

2 Answers

+1 vote
 
Best answer

The DelayWithFeedback Sound has both feedforward and feedback paths around the delay.

When Comb is selected, the feedforward coefficient is set to zero and the feedback coefficient is set to the value in the Feedback parameter; this means that the output of the Comb first occurs after the input has passed through the delay. The output of the delay is scaled by Feedback on the way back into the delay, resulting in an exponentially decreasing set of echos. For example, if Feedback is 0.5, the output echoes will have amplitude levels of 0.5, 0.25, 0.125, 0.0625... If Feedback is 0.9, the output echoes have amplitude levels of 0.9, 0.81, 0.729, 0.6561...

When Allpass is selected, the feedback coefficient is set to the value in the Feedback parameter and the feedforward coefficent is set to negative the value of the Feedback parameter; this means that the output of the Allpass occurs simultaneous with its input. The output of the delay is scaled by Feedback on its way back into the delay (exactly like in the Comb case), that value is scaled by -Feedback and combined with the original output of the delay to make up the output of the DelayWithFeedback. This means that the echos are quieter since they are scaled by (1 - Feedback**2). For example, if Feedback is 0.5, there will be an immediate output of the input scaled by -0.5, followed by echoes with amplitude levels of 0.75, 0.375, 0.1875, 0.09375... If Feedback is 0.9, there will be an immediate output of the input scaled by -0.9, followed by echoes with amplitude levels of 0.19, 0.171, 0.1539, 0.13851...

answered Jan 26, 2019 by ssc (Savant) (126,620 points)
selected Jan 26, 2019 by alan-jackson
I've put this into filter terminology:

General Form:
y[n] = b0*x[n] + b1*x[n-M] - a1*y[n-M]
H(z) = (b0 + b1*z^-M) / (1 + a1*z^-M)

Comb:
b0 = 0; b1 = 1; -a1 = Feedback;
y[n] = x[n-M] - a1*y[n-M]
H(z) = z^-M / (1 + a1*z^-M)

Allpass:
b0 = -Feedback; b1 = 1; -a1 = Feedback;
y[n] = b0*x[n] + x[n-M] - a1*y[n-M]
H(z) = (b0 + z^-M) / (1 + a1*z^-M)

Is that correct?
BTW the Allpass looks familiar, I think that's a so called Schroeder Allpass.
+1 vote
For echoes I'd use Comb and mix it with the original. Allpass and Comb are terms used in filters and apply when using very short delay times. Have a look at how IIR filters work if you are interested ;)
answered Jan 25, 2019 by kymaguy (Virtuoso) (10,580 points)
...