[LAD] Xsynth-DSSI experimental hack

Gordon JC Pearce gordonjcp at gjcp.net
Sun Nov 28 22:24:37 UTC 2010


Hi all,
  In keeping with the usual Xsynth-DSSI hackery I like to do (since it
makes such an awesome experimental base) I'd like to present my latest
horrible unlistenable noise generator:

http://www.gjcp.net/~gordonjcp/xsynthhack.ogg

Warning: only the voice generation code has been changed.  This will
overwrite or otherwise badly affect an existing install of Xsynth-DSSI.
Be careful!

http://www.gjcp.net/~gordonjcp/xsynth-dssi-0.9.4.tar.gz

So what's different about it?  Well, the minblep band-limited
oscillators have been replaced by Tomisawa sine-feedback oscillators.
These resemble "operator 4" in a DX21 or other four-op FM synth, in that
by applying FM feedback around a sine function it starts to approximate
a sawtooth wave.  If you take two sawtooth waves, offset the phases, and
subtract, you get a squarewave.  By varying the offset, you vary the
pulsewidth.

Now here's the clever bit - I've modified things slightly so that the
two Tomisawa generators can run at different speeds.  So, by offsetting
the frequencies you get either a deep PWM squarewave or a kind of
"supersaw"-type sound.  By varying the amount of modulation (beta) you
can determine the "shape" of the waveform.

So how are the oscillator controls affected?  Pitch remains the same.
Waveshapes are Sine (as you'd expect), Tri (saw with not much beta,
really), Saw up and down are both just saw, Square (adjustable
pulsewidth), Square with adjustable drift, and Saw with adjustable
drift.  Pitch mod and sync don't currently work.  I don't know if sync
can be made to work, without introducing aliasing.

Have a play and let me know how you get on.

Gordon MM0YEQ




More information about the Linux-audio-dev mailing list