[jsyn] delay/phase

jsyn at music.columbia.edu jsyn at music.columbia.edu
Fri Feb 11 02:48:29 EST 2005

> > I noticed that DelayUnit takes a constant delay (as constructor

> Yes. It is a fixed length delay unit. For a smoothly varying delay
> use InterpolatingDelayUnit.

Thanks.  I hadn't discovered that one.  Why have DelayUnit also?

> > oscillators have piecewise-constant phase (i.e. of type
> > SynthVariable rather than SynthInput).  Why is that?  Isn't it
> > useful to have smoothly-varying delays/phase-offsets?

> Yes, it is sometimes useful. But is also has a significant
> performance penalty if we allow phase to be a SynthInput. JSyn was
> written initially on a 133 MHz Pentium MMX.  We mainly provided
> phase as a variable so that one can start oscillators at specific
> phases. That adds no run-time overhead.

I'm surprised to hear that the performance hit for allowing a
SynthInput phase would be noticeable at all, especially considering
varying frequency.  Why is that the case?  

> Note that one could construct arbitrary oscillators with phase
> modulation using a WaveShaper and custom drive circuitry.

Thanks for the WaveShaper pointer.  It seems pretty powerful indeed,
and very similar to TableOscillator.  Could one implement
TableOscillator as an assembly of WaveShaper and other JSyn classes?
I'm guessing that what's missing is an Integrator class (for
frequency) and maybe a bit of fiddly arithmetic.

By "custom drive circuitry", do you mean an assembly of existing JSyn
units or some new subclass implemented in Java & C?


	- Conal

More information about the JSyn mailing list