com.softsynth.jsyn
Class InterpolatingDelayUnit

java.lang.Object
  extended by java.util.Observable
      extended by com.softsynth.jsyn.SynthObject
          extended by com.softsynth.jsyn.SynthSound
              extended by com.softsynth.jsyn.SynthUnit
                  extended by com.softsynth.jsyn.SynthFilter
                      extended by com.softsynth.jsyn.InterpolatingDelayUnit

public class InterpolatingDelayUnit
extends SynthFilter

InterpolatingDelayUnit

InterpolatingDelayUnit provides a variable time delay with an input and output. The internal data format is the same resolution as a SynthTable which is floating point if the sound processor supports it. The amount of delay can be varied from 0.0 to the delayTime specified at creation. 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 tuneable delay based resonant systems.

Version:
JSyn Version 005
Author:
(C) 1997 Phil Burk, SoftSynth.com, All Rights Reserved
See Also:
Synth, SynthChannelData, InterpolatingDelayUnit, SampleWriter_16F1

Field Summary
 SynthInput delay
          Delay time in seconds.
 
Fields inherited from class com.softsynth.jsyn.SynthFilter
input, output
 
Constructor Summary
InterpolatingDelayUnit()
           
InterpolatingDelayUnit(double delayTime)
           
InterpolatingDelayUnit(int calculationRate, double delayTime)
           
InterpolatingDelayUnit(SynthContext synthContext)
           
InterpolatingDelayUnit(SynthContext synthContext, double delayTime)
          Create one that runs at Synth.RATE_AUDIO.
InterpolatingDelayUnit(SynthContext synthContext, int calculationRate, double maxDelayTime)
           
 
Method Summary
 
Methods inherited from class com.softsynth.jsyn.SynthSound
addPort, addPort, findNamedPort, getName, getNumPorts, getPortAt, getPriority, setPriority, setStage, setStage, start, start, stop, stop
 
Methods inherited from class com.softsynth.jsyn.SynthObject
delete, deleteAll, enableDeletionByGarbageCollector, enableTracking, getPeer, getSynthContext, isTrackingEnabled, toString, track
 
Methods inherited from class java.util.Observable
addObserver, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

delay

public SynthInput delay
Delay time in seconds. Range: 0.0 to unit's maxDelayTime in seconds.

Constructor Detail

InterpolatingDelayUnit

public InterpolatingDelayUnit(SynthContext synthContext,
                              int calculationRate,
                              double maxDelayTime)
                       throws SynthException
Throws:
SynthException

InterpolatingDelayUnit

public InterpolatingDelayUnit(int calculationRate,
                              double delayTime)
                       throws SynthException
Throws:
SynthException

InterpolatingDelayUnit

public InterpolatingDelayUnit(SynthContext synthContext,
                              double delayTime)
                       throws SynthException
Create one that runs at Synth.RATE_AUDIO.

Throws:
SynthException - If resource allocation fails.

InterpolatingDelayUnit

public InterpolatingDelayUnit(double delayTime)
                       throws SynthException
Throws:
SynthException

InterpolatingDelayUnit

public InterpolatingDelayUnit(SynthContext synthContext)
                       throws SynthException
Throws:
SynthException

InterpolatingDelayUnit

public InterpolatingDelayUnit()
                       throws SynthException
Throws:
SynthException