CetoneSawteeth
Even more supersaws
DESCRIPTION
First: this is not a JP-8000 emulation, neither did I ever lay hands on a real one, nor did I ever try a plugin that emulates the original Roland.
This is my take on a supersaw-only synthesizer that roughly copies the control layout from the JP-8000. You could call it a re-interpretation. This instrument MUST run at 44.1kHz sampling rate, just as the JP-8000 did.
As for the presets: I'm pretty bad in coming up with presets and I also don't normally use them, so there are only pretty few contained. If you come up with cool sounds, tell me and I integrate them.
And: feedback is highly appreciated.
Features:
- 2 JP-8000-style supersaw oscillators
- 12/24dB ZDF multimode filters
- analogue envelopes
- parametric bass and treble controls
- stereo chorus
- stereo delay
Update v1.1: Fixed a bug in mix computation, clamped oscillator pitch.
Update v1.2: Reduced filter CPU load, limited maximum resonance for 24dB.
Update v1.3: Unused voices are automagically turned off now, to reduce CPU load again.
A few notes on the supersaw oscillator emulation:
We're talking 1996 hardware here. In my ten years of working with audio DSP I did a lot of sound chip emulations for 80s and 90s hardware, so you get a feeling for what is possible and what not. The JP-8000 had 4 DSP chips, each clocked at ~67MHz, this leaves 768 clock cycles per sample per voice. You can't do much with that. The DSPs must have featured pretty fast integer multiplication units (yes, no floating point). So, they probably had 24 bit phase accumulators and derived the naive saws directly from this (as the C64 SID chip did). As naive saws generate a lot of aliasing, Roland just put a low shelving filter after those, to filter out the aliasing components below the fundamental frequency. Without the filtering you would need 13 or 15 additions, 1 multiplication and 1 right shift to generate and mix all 7 sawtooth waves.
So, if you just look at the stuff from a 1996 hardware perspective, things get a lot clearer.
COMMENTS (6)