public class InterpolatingDelay extends UnitFilter
InterpolatingDelay provides a variable time delay with an input and output. The internal data format is 32-bit floating point. The amount of delay can be varied from 0.0 to a time in seconds corresponding to the numFrames allocated. The fractional delay values are calculated by linearly interpolating between adjacent values in the delay line.
This unit can be used to implement time varying delay effects such as a flanger or a chorus. It can also be used to implement physical models of acoustic instruments, or other tunable delay based resonant systems.
Delay| Modifier and Type | Field and Description |
|---|---|
UnitInputPort |
delay
Delay time in seconds.
|
input, outputFALSE, PORT_NAME_AMPLITUDE, PORT_NAME_CUTOFF, PORT_NAME_FREQUENCY, PORT_NAME_FREQUENCY_SCALER, PORT_NAME_INPUT, PORT_NAME_OUTPUT, PORT_NAME_PAN, PORT_NAME_PHASE, PORT_NAME_PRESSURE, PORT_NAME_TIMBRE, PORT_NAME_TIME, synthesisEngine, TRUE, VERY_SMALL_FLOAT| Constructor and Description |
|---|
InterpolatingDelay() |
| Modifier and Type | Method and Description |
|---|---|
void |
allocate(int numFrames)
Allocate memory for the delay buffer.
|
void |
generate(int start,
int limit)
Perform essential synthesis function.
|
getInput, getOutputaddPort, addPort, autoStop, convertHalfLifeToMultiplier, convertTimeToRate, flattenOutputs, generate, getCircuit, getFramePeriod, getFrameRate, getId, getPortByName, getPorts, getSynthesisEngine, getSynthesizer, getTopUnit, getUnitGenerator, incrementWrapPhase, isEnabled, isStartRequired, printConnections, printConnections, printConnections, pullData, setCircuit, setEnabled, setFrameRate, setPort, setSynthesisEngine, start, start, start, stop, stop, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetUnitGenerator, start, start, stop, stopgetUnitGeneratorpublic UnitInputPort delay
public void allocate(int numFrames)
numFrames - size of the float array to hold the delayed samplespublic void generate(int start,
int limit)
UnitGeneratorgenerate in class UnitGeneratorstart - offset into port bufferslimit - limit offset into port buffers for loop