Echo effects are one type of audio effect based on delaying a signal over time. In this case, listeners perceive an audible repetition of a signal after some duration of time.
Listeners perceive distinct echoes when the time delay is relatively long (greater than ~30 milliseconds). When a time delay is short, listeners do not perceive echoes. Instead, a single “fused” sound is perceived. This makes it possible to create other types of effects like: chorus, flanger, phaser, and spectral filters.
This important time delay duration of ~30 milliseconds is called the echo threshold. It represents the minimum time delay for a listener to perceive a distinct repetition of a signal.
There are several different ways an echo effect can be implemented in computer code. At a basic level, the output of the effect includes a delayed signal, from earlier on the input signal.
Therefore, an echo effect must be able to “remember” samples of the input signal in the past, in order to create the output signal at the current time sample. This is why time delay effects are also called Systems with Memory.
Up to this point on the blog, we have been creating Memoryless Systems. These are effects where the output at the current time sample depends on only processing the input signal at the same time sample. Examples of memoryless systems include: gain, amplitude fades, tremolo, stereo panning, and distortion effects.
By using a time delay, many of types of audio effects can be created. Let’s start by looking at the feed-forward echo.