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, output
FALSE, 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, getOutput
addPort, 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, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getUnitGenerator, start, start, stop, stop
getUnitGenerator
public UnitInputPort delay
public void allocate(int numFrames)
numFrames
- size of the float array to hold the delayed samplespublic void generate(int start, int limit)
UnitGenerator
generate
in class UnitGenerator
start
- offset into port bufferslimit
- limit offset into port buffers for loop