com.softsynth.jsyn
Class ParabolicEnvelope

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.ParabolicEnvelope

public class ParabolicEnvelope
extends SynthUnit

ParabolicEnvelope unit. Output goes from zero to amplitude then back to zero in a parabolic arc.

Generate a short parabolic envelope that could be used for granular synthesis. The output starts at zero, peaks at the value of amplitude then returns to zero. This unit has two states, IDLE and RUNNING. If a trigger is received when IDLE, the envelope is started and another trigger is sent out the triggerOutput port. This triggerOutput can be used to latch values for the synthesis of a grain. If a trigger is received when RUNNING, then it is ignored and passed out the triggerPass port. The triggerPass can be connected to the triggerInput of another ParabolicEnvelope. Thus you can implement a simple grain allocation scheme by daisy chaining the triggers of ParabolicEnvelopes.

The envelope is generated by a double integrator method so it uses relatively little CPU time.

Version:
JSyn Version 006
Author:
(C) 1997 Phil Burk, SoftSynth.com, All Rights Reserved
See Also:
Synth, LatchUnit, CompareUnit, SynthEnvelope, SynthEnvelopeQueue

Field Summary
 SynthInput amplitude
           
 SynthInput frequency
          Fastest repeat rate of envelope if it were continually retriggered in Hertz.
 SynthOutput output
           
 SynthInput triggerInput
          True value triggers envelope when in resting state.
 SynthOutput triggerOutput
          Trigger output when envelope started.
 SynthOutput triggerPass
          Input trigger passed out if ignored for daisy chaining.
 
Constructor Summary
ParabolicEnvelope()
           
ParabolicEnvelope(SynthContext synthContext)
          Create a ParabolicEnvelope that runs at Synth.RATE_AUDIO.
ParabolicEnvelope(SynthContext synthContext, int calculationRate)
           
 
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

frequency

public SynthInput frequency
Fastest repeat rate of envelope if it were continually retriggered in Hertz.


triggerInput

public SynthInput triggerInput
True value triggers envelope when in resting state.


triggerOutput

public SynthOutput triggerOutput
Trigger output when envelope started.


triggerPass

public SynthOutput triggerPass
Input trigger passed out if ignored for daisy chaining.


amplitude

public SynthInput amplitude

output

public SynthOutput output
Constructor Detail

ParabolicEnvelope

public ParabolicEnvelope(SynthContext synthContext,
                         int calculationRate)
                  throws SynthException
Throws:
SynthException

ParabolicEnvelope

public ParabolicEnvelope(SynthContext synthContext)
                  throws SynthException
Create a ParabolicEnvelope that runs at Synth.RATE_AUDIO.

Throws:
SynthException - If out of memory.

ParabolicEnvelope

public ParabolicEnvelope()
                  throws SynthException
Throws:
SynthException