Rave Tool Custom Units - JP-80XX Super Saw

After getting my feet wet with some west coast synthesis custom units, I’ve gone back to my usual realm of sonic exploration, which is making early rave inspired dance music.

Currently I’ve got the JP-80XX Super Saw emulated very closely, and I’m just finishing up the Alpha Juno PWM saw waveform which is used in the (in)famous Hoover/Mentasm sound.

Here’s a demo of the super saw sound running a simple sequence. No post processing.
Starts with single oscillator, fades to full mix with no detune, detune sweep from 0-1, then just some messing with parameters.

For the Super Saw unit, I relied heavily on this thesis, which has an extremely thorough empirical analysis of the synthesis of the Super Saw on the original Roland JP-80XX synths.
Converting the plotted curves for the Mix and Detune levels to a useable form was quite a process. I traced the curves as SVGs in Inkscape, loaded them into a program called Rabiscoscopio to convert them to WAV files, and then used Audacity to scale/offset them.


These two WAV files were then loaded into Sample Scanner units to work as transfer functions for the “Mix” and “Detune” controls. The sound of this unit is one of the closest approximations of the original Super Saw I’ve ever heard, and the 301 is much more portable than a massive JP-8080 or JP-8000.

Here’s the custom unit 80XX Super Saw Custom Unit.zip (12.2 KB)

The Alpha Juno PWM Saw will be uploaded when I get a chance to A/B it with my real Alpha Juno. I can’t seem to get the phase of the PWM to match up with the Sawtooth very well, and I’d like to see if it makes a noticeable difference before posting it.


Sounds awesome!

1 Like

Super!! :smiley:

1 Like

Wow, that sounds great!

Thanks for sharing the details on how you went about modeling this. Those are some very interesting techniques.

1 Like

really nice thx for uploading and explaining the process

1 Like

Really awesome job, and nice write up! Thank you @anon17137829!

Surely it would be nice for people making emulations if there was an easier way to make a custom transfer function, I really admire your ingenuity with the .wav and sample scanners there!

There’s something so special about that JP supersaw. I don’t have my JP8080 any more (perhaps sadly) to compare with more recent emulations, but I think this one sounds really great.

As an aside, while it may not be cool to admit it, I do have both System-1 and System-1m for poly stuff, and they have a great sounding super saw. But neither of them are anywhere near fitting in 30HP :smile:


1 Like

can’t wait to try this… very cool

1 Like

Hey, I have been trying to install these custom units with no luck. Can someone point me to a source where it explains the install/setup procedure. It would be very much appreciated and yes ,I have already used the search function but could not find the guide.


There is no installation procedure, rather you select the *.unit file and load the preset via the unit insertion screen:

In the Unit Insertion screen, press S3 to enter the file browser:

Navigate to the location on the SD card where you copied the *.unit file, highlight it and press ENTER:

The newly loaded and populated custom unit:

If there are additional requirements specific to the custom unit (such as samples that need to be placed in specific places) then the custom unit designer will typically include those instructions in the post or a readme.txt file.


Thanks for that speedy reply! I attempted to load it and had the samples as specified but I wasn’t seeing that screen…I’ll try again tonight and hopefully it was just a step I missed…by the way is a firmware update necessary for these customs units if they were created on a previous fw?

Thanks again!

This preset requires at least 0.4.xx firmware.

If you ever want to figure that out for yourself, you can open the preset file in a text editor and look at the first couple of lines:

-- Persistent Data
local shared = {
} -- shared
shared[1]["SimpleString"] = "0.4.11";
shared[1]["Major"] = 0;
shared[1]["Patch"] = 0;
shared[1]["Status"] = "unstable";
shared[1]["Minor"] = 4;
shared[1]["Name"] = "Fennel (48kHz, 128smps)";
shared[1]["Build"] = 11;
shared[1]["String"] = "0.4.11 (unstable)";

This is absolutely brilliant thank you! Fascinating read as well.

1 Like

Thanks Brian, this clears it up for me.

super cool unit ! you rule ! thx a lot !!

1 Like

wow! this sounds great!!! thanks for sharing! the process documentation is of great value too!!!

1 Like

Love this

Did you ever finish the Alpha Juno? Would love to check that out too!

thanks for reviving this thread. this unit sounds great!

I was never able to get the PWM on the saw wave to my liking so I ended up giving up at some point.

1 Like

Many thanks for this unit!

As the linked pdf doesn’t work anymore, do you have a way to retrieve the thesis you heavily relied to for the Super Saw unit? I would really like to check that out.

this may point to a bigger 301 knowledge gap i have, but when i got around to trying to work the super saw into a patch with other stuff last night, i found that it was off by about 3 semitones from the 1v/oct i was feeding it. that seems weird… it’s not tuned to C?

i also tried inserting an offset unit after my 1v/oct signal, but in editing the control on the offset unit, it did not present voltage as a display unit. I tried setting it to .25 (3 semitones) and it swept the note value waaaaaay up. :frowning: