Making your own user waveform

Someone said, though I can’t remember where, they had made a single cycle waveform in Serum and saved it as a .ws6 file which worked on their UDO Super6. I emailed Serum and they informed me this is not possible, though they were interested in my opinion of the Super6. Hope that helps, in case another person tries and fails to do this, or worse, buys Serum for this purpose and is disappointed.

Sheets of Sound is a web operated single cycle waveshaper. Again, this does not appear to work or create a .ws6 format file. Here I may be wrong, and it may work in a different browser or another OS, so it may be worth other people having a go.

Lastly, can anyone tell me about DDS2 > LFO > SUB OSC please? What does it do the regular DDS2 pulse or square waves do not do? I thought it might not go through the filter, for added bass, but it seems to work the same.

As long as you have the single cycle waveform in the correct format, and then save it as a .ws6 file, it should work. The waveform format is published here:

I’d like to create my own alternative waveforms. What is the user waveform format? – UDO Audio Support (

There are numerous ways to create your own waveforms, some great online tools etc. And for loading/converting/editing/saving Super 6 waves, the best thing I have found is Audacity, because it will pretty much open anything. I’ve made a load with some of the online tools, and help from another S6 owner in converting different formats to S6 (I have a load of Prophet VS waves in mine).

Not totally sure about the SUB setting for DDS2, but I think it’s just a phase/tuning locked square wave an octave below DDS1, so the only way it would differ from the regular square wave in DDS2, set an octave lower, would be the fact that it’s locked, for a really solid sound (no drift with DDS1). But I might be wrong. :slight_smile:

The question is, if Audacity does (or not) handle correctly the circular character of the waveform or if it might leave overtones at the jump from the end to the beginning.
… and i dont know what’s the sideeffect of not clearly filtering out overtones above nyquest/8.

1 Like

It’s only 4096 samples, so you can zoom right in and see or edit the loop point to be perfect, I’ve done it.

Paging @worblyhead to answer the filtering question. I’d imagine any higher order LPF at 512Hz should do the job just fine.

The Prophet VS waves I have in mine sound amazing, no extra harmonics or aliasing etc.

If I get a chance I’ll list all the online waveform creation tools I have used, there are quite a few different ones. This is my fave for now, and will save 4096 point .wav files:

Single Cycle Waveform Editor (

1 Like

Or share the VS waves :wink:

1 Like

Don’t want to get into trouble, I own a license for the Arturia Prophet V, which is where we got the waves from to convert to S6 format. Anyone can download the demo and do the same for themselves. I also own a license for Galbanum Architecture (over 25,000 waves) and will auto-convert all those to S6 format at some stage too. :wink:

On Thu, Apr 22, 2021 at 4:37 AM PDT, terry <******> wrote:
Can Serum edit a .ws6 waveform and save it is .ws6 file format, for the UDO Super6 synth?

On Thu, 22 Apr 2021, 8:01 p.m. Shredd Xfer, wrote:

No. Serum imports standard Wav and AIFF files. .ws6 files seem to be proprietary/closed format for UDO

Warm Regards,

I await the first user created waveform set. Maybe some day UDO will publish comprehensible details how to do this. What they’ve written so far is computer-speak, which I don’t understand.

This is not the case. You can import the factory .ws6 files into Audacity very easily for viewing and editing. The waveform spec is standard PCM, and detailed in the link to the UDO Support page above.

In Audacity (free software) go to File - Import - Raw Data. Then select the .ws6 file you want to import. A box will pop up where you just insert the data from UDO:

Encoding - Signed 16 bit PCM
Byte Order - Little Endian (I don’t think this makes a difference)
Channels - One Chanel (Mono)

And you can leave the rest at default values.

So if Serum will export .wav or .aif and you can choose the pitch/number of points for your sample, you should easily be able to import and view and edit and rename and load back in to your S6 as a .ws6 file. I haven’t used Serum but it should be possible.

The 4096 points can be tricky as it’s not an exact multiple of 44.1kHz, but it’s very close. That’s the main reason I have used the SheetsOfSound online app to create and edit and save new waves, as it lets you set 4096 points from scratch. Again hopefully Darren will chime in with a bit more info, as he’s the programmer genius who has done most of the conversions from other formats for me.

Hopefully one day we’ll have an app from UDO or someone else for easier editing and conversion between formats.

Interesting topic!
FYI, I’m busy to build a single cycle waveform editor that I plan to incorporate in my Super 6 editor.
I’m at the beginning and it is not my only ongoing project (+daily work on top) but progressing fine.
So good hopes to have something useful after summer (was my plans for summer holidays but I started earlier :wink: ).



Pretty much what Gregg stated here regarding the custom waveform format. Nothing closed about the format at all. I pinged UDO about how exactly they bandlimit their custom waveforms. Still awaiting George’s more detailed response, but they use some sort of very steep low pass type filter with a cutoff around 512hz. I am using MATLAB to create and save waveforms and first tried a brick wall filter (I.e. perfect low pass) and the Gibbs effect is very pronounced for signals with sharp shape changes. I am going to try out some higher order filter types (e.g. Butterworth) and see how that goes until I hear back from George.


1 Like

One more thing. Getting a bit geeky here, but one thing I am going to also poke around with is trying to come up with calculating an “optimal” filter that minimizes the Gibbs effect, differences between original and filtered signal samples, dB level of stopband signal, and filter crossover. Way overkill, but I like torturing myself with this kind of stuff.

I am also trying to get some pages set up on a website I am working on so folks can download the waveforms I have.


If you like torturing with math, than use a FIR filter routine with symmetric impules response based on some hundreds of samples, that should solve it fair enough … and with those 4096 sample waveform it should not calculate forever.

It has nothing to do with Hz (which is the meassurement for frequency) because a waveform has no frequency as long as you don’t know at which speed it’s sampled and/or played.

A cutoff at 512 Hz would be only suitable if you assume a tone frequency of 1 Hz (not very realistic), sampled with 4096 samples per second.

This brings us nearer to the problem!
If you want to sample the waveform of an available instrument, you should do that at a sampling rate that is 4096 times a multiple of the lowest subharmonic tone of that waveform … BUT none of the notes of a normal instument fullfills that requirement for any usual sampling rate.
And even if you sample at 96000 k you would need a tone below the lowest key of an 88 key piano keyboard.

If you sample at 192000 k you would need a tone with 46.875 Hz (F#1/Gb1 = Fis1/Ges1 has 46.2493), cut out a full wave (should have 4151 samples for F#1), than shrink (= pitch change up) this a little to 4096 samples and then apply a lowpass at 24kHz (1/8 of sampling rate) to make it right.

Because we don’t know if the lowpass respects the fact that we need a circular waveform (without overtones at the jump back) it would be a good idea to sample/cut out at least three full waves (12 454 samples), shrink them to 12288 samples and than after 24kHz lowpass cut out 4096 samples from the middle.

Comment to that “jump back overtone” issue:
Not only steps have overtones. Even a sharp bend has audible overtones too!

Alternative way (if your hardware support custom sample rates) that prevents shrinking and sample calculations):
sample an A0 (lowest key on piano, 27.5 Hz) at a custom sample rate of 112 640 “Hz” … gives you exactly 4096 samples per wave! … and than lowpass it at 14 080 Hz (14kHz would be near enough).

The FIR filter hint was a joke. If you see the numbers in real frequencies, you’ll clearly see that it’s not woth the effort to care about the Gibbs effect for 14kHz overtones of a 27.5Hz tone.
It’s just important to make sure that there is clearly no aliasing from higher overtones.

Just going by what UDO themselves state:

I’d like to create my own alternative waveforms. What is the user waveform format? – UDO Audio Support (

Bandlimited at sampling frequency/8 (Nyquist/4), i.e. frequency content above 512 Hz in your 4096 point waveform should be removed

I already posted this link once before.

Can I ask a general question? Has anyone on this forum actually produced their own .ws6 waveform and put it online for us to try? I am seeing a lot of “blinding with science”, which I don’t understand in the least.

Signed 16bit PCM? What does “signed” mean? Or “little endian”? I have absolutely no idea. All I want is to evidence it is possible to make these .ws6 waveforms, and I am not seeing it here. I don’t like wasting my time on a futile pursuit.

That SCW single cycle editor does not save a .ws6 file that works on my Super6. The option seems to be changing the file extension from .wav to .ws6 when saving. It is not recognised by my Super6.

1 Like

How’s it going? Does it work yet? When can we try it?

1 Like

Invert LFO 1 Sawtooth waveform - UDO Audio Gear / Super 6 - UDO Audio Forum (

That was created with the SCW editor, saved as a 4096 point .wav file, opened in Audacity, saved with the correct S6 format as outlined by UDO support, renamed to .ws6, and voila, it works.

I can’t share the Prophet VS conversions I have, as I am not sure what the copyright situation is, and someone else did the conversions for me.

To be honest, these are the fundamental things to know and to understand, if you want to prepare your own waveforms with standard software products. Without this knowledge its like doing surgery because you simply got a sharp knife.

So you have to wait for someone to come up with a solution that is prepared exactly for that purpose and is usable without this fundamental knowledge.

It is possible for sure (because there is nothing magic or special about the format description), but even for me (who understood the technical terms you claimed to be "blinding with science”) the workflow for doing that using a free standard tool like Audacity is a little too complicated, time consuming and failible.

So currently i am developing as part of my patch decoder and waveform visualizer
(see there Waveform and Spectrum visualization - #4 by MOOGelPackung )
a tool that does all the required steps in one rush (or maybe two) … but even using that requires some kind of fundamental knowledge, because waveforms in general (especially if they come out of other instruments) have some pitfalls that require some kind of clever desicion.

No, this is no option, because a .wav file has additional content in front (a header describing the contained wave data) and a .ws6 file has not. .ws6 is pure content without any header.
You would have to cut of the first 44 bytes.

I will open a new topic for my editor/librarian here on the forum.
As I mentioned on the FB group, the editor is ready up to a certain point but as long as the Midi implementation is not done, it is just a patch mapper able to load and save patches in a sysex format that I created. When UDO will release the Midi spec, I will check to extend it to a full librarian.
I also progressed on the Wave editor but this is a parallel project. I’m doing the wave form manipulations at the moment then will look at load/save formats for sure including the .ws6 one.

1 Like


I make no apology for being computer illiterate. I had guessed the .WAV file has a header, because when you make a single cycle waveform in SCW it is 16.43 Kb, which is double the size of Official Super 6 waveforms which are all 8.19 Kb. If you make the SCW waveform 2048 rather than 4096 samples, it is nearer 8.19 Kb size. So the header must double the size of the 4096 file.

It might be possible to edit out the .WAV header in a text editing programme? Maybe the same gobblydegook is repeated at the beginning of all SCW waveforms? Trouble is, the text editor probably puts its own stuff in there, making it equally unusable as .ws6 (Yes, computer code is gobbledegook to me, and I make no apology.)