com.jsyn.unitgen
Class GrainFarm
java.lang.Object
com.jsyn.unitgen.UnitGenerator
com.jsyn.unitgen.GrainFarm
- All Implemented Interfaces:
- UnitSource
- Direct Known Subclasses:
- SampleGrainFarm
public class GrainFarm
- extends UnitGenerator
- implements UnitSource
A unit generator that generates a could of sound using multiple Grains.
Special thanks to my friend Ross Bencina for his excellent article on
Granular Synthesis. Several of his ideas are reflected in this architecture.
"Implementing Real-Time Granular Synthesis" by Ross Bencina, Audio Anecdotes
III, 2001
- See Also:
Grain
,
GrainSourceSine
,
RaisedCosineEnvelope
Methods inherited from class com.jsyn.unitgen.UnitGenerator |
addPort, convertHalfLifeToMultiplier, flattenOutputs, generate, getFramePeriod, getFrameRate, getPortByName, getPorts, getSynthesisEngine, isEnabled, pullData, setCircuit, setFrameRate, setSynthesisEngine, start, stop |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
rate
public UnitInputPort rate
- A scaler for playback rate. Nominally 1.0.
rateRange
public UnitInputPort rateRange
amplitude
public UnitInputPort amplitude
amplitudeRange
public UnitInputPort amplitudeRange
density
public UnitInputPort density
duration
public UnitInputPort duration
durationRange
public UnitInputPort durationRange
output
public UnitOutputPort output
GrainFarm
public GrainFarm()
setGrainArray
public void setGrainArray(Grain[] grains)
setupGrain
public void setupGrain(Grain grain,
int i)
allocate
public void allocate(int numGrains)
getOutput
public UnitOutputPort getOutput()
- Specified by:
getOutput
in interface UnitSource
generate
public void generate(int start,
int limit)
- Description copied from class:
UnitGenerator
- Perform essential synthesis function.
- Specified by:
generate
in class UnitGenerator
- Parameters:
start
- offset into port bufferslimit
- limit offset into port buffers for loop