Delay Effects – Circular Buffers
Delay effects exploit a DSP programming concept called circular buffering. A buffer is really just an array of values. When you use an index to step through the array, you can move in the forward (positive) or reverse (negative) direction by incrementing the index up or down. But when you get to a boundary of the array at the top or bottom and you increment or decrement the index, you move outside the array, often ending with a crash. In a circular buffer, movement over a boundary loops back into the array. When you try to move past the end of the array, the circular buffer automatically wraps the index around to the starting point.