Making your own user waveform

Just load into Audacity (freeware) and re-save with the correct file type, raw/no header etc.

No, the standard WAV header ist just 44 bytes (as i mentioned above).
The thing is: WAV is only a container format and the first block in the header describes whats in it.
WAV files support different sample rates, multiple audio channels and different bits per sample … and even different data encodings (like compression). All this is encoded in the header so that the software later knows how to load (and play) the WAV file.
The .ws6 file has and needs no header, because it has no sample rate, only one channel (=mono) and allways 16 bits per sample. It’s pure data in a predefined format.

If your WAV file with 4096 samples is 16.xxxkB, it might have 32bits per sample or two channels.
And even if it had the right amount of data, a text editor ist not the rigth tool für cutting of the header of any binary data file.

But to be honest: THIS is really not the challenge for preparing a correctly sounding waveform!

If it’s just that one waveform you need, send the WAV to me via PN, i’ll take it as test data for my WAV2ws6 Converter and send you back the result.
But it would be better if you sent me a longer WAV (more than 10 000 samples) that contains your desired waveform within a countinuos tone, so that i could make sure to get the right start/end points for one single cycle waveform.

1 Like

MOOGelPackung

Thanks for offering to convert my sample material, but I will decline your kindness.

This is the most detailed explanation I have seen on this topic. It is clearly way too complicated for a non computer literate person to do anything meaningful. My secondhand Applemac is OS10.5 and I will not get a new computer just to dabble in this. I have other music gear for making weird noises, and maybe in time more waveform banks will be downloadable. UDO Super6 is a tiny player community, so it’s never going to be a big commercial market.

You can only put 16X .ws6 samples in at one time, and it is, let’s face it, a right pain to do the job.

It’s not a question of computing power, just a question of background knowledge in using the right tools in the right order.

This is only quarter of the truth!
You can have 16 waveforms PLUS 16 alternate waveforms, so there are at least 32 predefined waveforms available for random selection (and in fact, because of the lack of wavescanning or wavemorphing or granular synthesis functions is see no real need for having much more).

On top of this, each patch stores it’s own set of DDS1 & LFO1 waveforms, that can differ from the predefined waveforms … and each patch can be used as a starting point for futher sound manipulations, so there is more than enough space for user waveforms, if you want to use exactly this single feature excessively.

1 Like

MOOGelPackung

Many thanks. I did know patches retain their waveform, when the waveform set is replaced. I did not know about the second bank flashing LED thing also applies to waveforms, and will give it a try. Don’t get me wrong, I love my Super6, because the hi-rez audio is so crystaline clear and free of aliasing and the sub-bass is incredible.

@MOOGelPackung
Hi man!
What’s the best way to convert a 1024 sample wav file to a 4096 one?

  • option 1: I copy 4 times the 1024 sample wav after each other to get the 4096 one.
  • option 2: I copy the value of each sample 4 times after each other
  • option 3: ?
    There are many AKWF at 1024 samples…
    Thx in advance for your ideas!

Someone told me to use a different sample rate. That’s actually a good Idea. In that way, you are thinking about a cycle. If you copy the waveform which is long 1024 sample (i.e. x 4 times) you’d have a higher pitched waveform, and UDO does not aloud you to assign a key note. This would be great to be implemented honestly (would facilitate a lot the management of the waveforms) @udo-audio

What I did in my waveform converter is linear interpolation.
So if you have a source array s[0…1023] and a target array t[0…4095]
than
t[0] = s[0]
t[1] = (3 * s[0] + s[1]) / 4
t[2] = (s[0] + s[1]) / 2
t[3] = (s[0] + 3 * s[1]) / 4
t[4] = s[1]
t[5] = (3 * s[1] + s[2]) / 4
… and so on

This gets a little more complex if the source sample length is any given size, but it stays simple linear arithmetic.

After all you should apply the required lowpass filter anyway.

Thx for your answer and confirmation!
This is what I already did (can handle any number of samples and done with a loop of course) :wink:

What do you mean by “you should apply the required lowpass filter anyway”?
Is there some code/algorithm somewhere?

1 Like

How do you get the waves from the Prophet VS Arturia plugin? I have it, but I can only find a file called waverom.bin that I can’t open.

EDIT: I was able to get the waveforms, but I truly don’t understand this. I wish there was an editor that I could use to convert to the correct format. I read through this entire thread and don’t understand how to accomplish any of it.

1 Like