A digital delay line is implemented by allocating a buffer of values in memory.
The input and output points are represented by one or more pointers, which are incremented at each time step.
Memory allocation can be a relatively time consuming operation in a realtime synthesis environment. Thus, in situations where the delay length may change over time, a large buffer of some maximum size is usually created during initialization.
The Synthesis ToolKit in C++ (STK)
includes the class, Delay, which provides non-interpolating delay functionality. Delay is a protected subclass of the Filter class.
The MSP object tapin˜ implements a digital delay line (a buffer of memory) while the MSP object tapout˜ provides access to the contents of the delay line at arbitrary delay values. Note that these MSP objects take their delay values in milliseconds.
The MSP object delay˜ implements a simple single-output delay line which can be used for delaying signals by a small number of samples. It's arguments are specified in terms of samples (not milliseconds).
The MSP object ezadc˜ combines the a simple on/off button with the adc˜ object.