Wavetables.....Again..... How do I playback only 1 cycle of a wavetable?


#89

@rbrt

Hey!

I am also working on a wavetable thingy for modulations sources as lfos and so on... And for that I use 64 sample size table for recording LFO shapes and at some point I had this problem too. And this was a phase issue. The 2 waveforms are not started at the same time. For example if you take the bipolar saw wave. That one does not start at phase zero, it starts at phase -180.... So you should in someway add a rst inlet for your rbrt/data/wave creator 32 object AND also a phase shift knob and offset the phase so it loos better.... Then connect the "copy" button to the rst inlet of the table creator and the rst inlet of the phasor you use for driving the table.... drjustice has got some phasors with rst inlet and phase :wink:

I think this will fix it.. It was one of the biggest issues I had with those wavetable patches I made... At the time I worked on them there were very few oscialltors with phase control and rst. So I waited long to before I could actually finish the creator patches.


#90

hey @jaffasplaffa !

...sorry for the delay....
actually,my 'issue' was not really about creating continuous waveforms but about reading/playing them correctly,interpolated.
'wave creator' works ok for creating them...
the problem I was stumbling into is due to a misconception of mine of 'table/read interp' .
it works well with waveforms that fill an entire table,but with multiple waveforms in the same table,it doesn't.

The reason is that table/read interp needs to 'wrap around' to the start of the table when it reaches the end of the table to interpolate correctly, but the way table/read interp works is that it 'assumes' that it's reading one waveform (or 'loop') from one table.

@thetechnobear 's 'wavetable/play' does this nicely...
I haven't tried yet if it also does phase-shifting,but it should be easy to add...
I'll check whether it's possible to add this to 'wave creator' as well.
...also, I think I could add a feature to 'wave creator' to make the object display the contents of a table instead of just initializing them to sine or saw...

cheers,Robert


#91

Yes true. But if the 2 waves does not allign, you will have this problem. .. And when you dont have a rst inlet for the wave creator, then when you push copy the 2 waves will be merged, but unalligned... Which will give you problems. IF yo have a rst function, the waves will automatically be alligned when copying them from the creator to the table.

I'll see if I can dig out an example from the last one i have been working in for LFO's, wheere I had the phase issue.. But I save many copies of each patch so I have to dig through old copies to find it.

But again.. not 100% sure if this is the problem you have,. But it was the worst problem that I had when making wavetable creator... And the problem was in the creator part not in the player/table part.

ANyway, I look forward to see what you come up with. I am addicted to wavetables ny now :slight_smile:


#92

@rbrt

Hey again :slight_smile:

So here are 2 picture examples..... one of them is a single triangle with rst inlet connected but NO phase offset.... This one has the same issue as you have:

SECOND one has got rst inlet connected and ALSO phase offset.... No issues:

So it is not only the rst inlet it is also the phase offset.. In this case atleast. The picture are from after I push the create button on my patch :slight_smile:


#93

I think I solved the wrapping-with-multi-segment-tables-issue I had...
check this out:
solved.axp (27.7 KB)

will be in a community library nearby you soon.


#94

http://synthtech.com/waveedit/

This is a nice cross platform wavetable maker. Not sure if it fits with Axoloti. Would be nice to hear if anyone uses it.

Best S


Polyphonic morphable wavetable oscillator
#95

Since it's free, I thought I'd give "WaveEdit" a try.
Seems to work with Axoloti, using @thetechnobear's wavetable objects with the settings waves=64 and size=256.
Here is a simple example to play a wavetable from a file named "t1.raw" made with WaveEdit that you can upload to the patch's SDcard directory using Axoloti's File Manager.
t1_test.axp (4.6 KB)
In this patch, the controls "w_range" and "w_offset" mean how many of the waves are morphed and at which wave it starts, respectively.
WaveEdit stores the wavetable (called "Bank") in ".wav" format. You need to convert it to ".raw", which is pretty easy using Audacity and its export function. (export audio to / other... / RAW-headerless / signed-16bit-PCM)


#96

here are some wavetables, converted from the wave edit site:

raws.axp (79.7 KB) (rename to zip once downloaded)

https://waveeditonline.com

simply open the wav files from the site in audacity and export to raw file. as @Jens_Groh wrote settings should be 64 and 256 in @thetechnobear loader.


#97

and here are all the 60 wavetables from the wave edit site. including the PPG wavetables. these are particularly nice, you scan through the whole wavetable and get a nice evolving sound. (the last 4 waves are always triangle, pulse at about 90%, pulse 50% and sawtooth. this is because the original PPG wave and also all the waldorf wavetable synths worked that way. you only had wavetable oscillators, so you had to set one of the wavetables to one of this classic waveforms if you wanted something similar to a "standard" synth sound. so simply attenuate by a *c 60 to omit the last four waves. the other wavetables are sometimes evolving ones, some are also single cycle collections. all use 256 points and are 64 waves in size. have fun and rename to zip! happy new year.

60wavetables.axp (1.4 MB)


#98

Happy new year @lokki and @Jens_Groh,
I'm currently working on an extension of my antialiased PIWT oscillators to wavetables, thus this wavetables are a great source for my tests. Thanks


#99

oh, looking forward to that :slight_smile:


#100

and to update some more on the wavetable topic.

i had a look at serum, great wavetable creation tool, really!! i discovered that you can export all 256 waves in 8-bit and 256 samples wide to a .256 file. turns out this is just raw data. import to audacity, save as 16bit raw again, and voila good to go with @thetechnobear s objects. VERRY nice...


#101

Yeah I use Serum for all wavetable stuff. It has a nice size, 2048 samples pr wave as standard.

Just be aware that Serum uses what they call morphed wavetables, which is often 256 waves wavetables. But in reaility they only consist of maybe 8 waves whcih are morphed between to get the 256 waves.

From what I have experienced if you try to export these morphed wavetables, you only export the 8 waves, NOT the full 256 waves.

But to be honest I have not tried to export them the same way as @lokki is talking about here. @lokki does Serum actually also export the morphed waves when doin it like you suggest here or only the few actual waves that is morphed between?


#102

yeah, that was the point i was trying to explain :wink:

if you use the export to 8-bit .256, all 256 waves get exported. the "amplitude" resolution is reduced to 8-bit (256 values) and the samples per wave get reduced to 256 points as well. in my experience (with @thetechnobear object) you get very nice results still. for the kind of wavetables i am using (geared towards bass stuff) i actually like the grittiness of 8-bit sounds. i will post an updated/hacked wavetable object, that allows for phase modulation (ala serum) and has a switch to turn off the interpolation (even more gritty).


#103

Sounds great, look forward to try it :slight_smile:

I would love to see a wavetable object that does what serum does, lets you morph between a few waves, and spread them out over many waves. Thats what I tried to do with the 8 waves multi wavetable object i made. But its not really the exact same, my version, as it just crossfades between the waves.


#104

yeah, but @thetechnobear object wavetable does this already with the xfade switch. i think this is as good as it will likely get in axolotiland. everything more elaborate (like different morph modes etc.) will be too expensive cpu wise. for me the option to store all 256 waves in serum is enough to play them back on the axoloti. i would wish for a high quality export of all 256 waves in serum. (16 bit 2048 points) create the wavetables on a pc and use them live with the axoloti is a great workflow for me. also i rather fill up the sdram with a few extra cycles of a table then spending cpu on crossfading those waves :slight_smile:


#105

Yeah that is only one wave to the next, so 2 waves. I prefer my own version then, where I can crossfade between 8 waves. It is a bit heavier, but it can make some freaky sounds. And that some times cost a bit of DSP, hehe :slight_smile:

Anyway, yeah it is fine for me too to make them on a computer, using serum for example. Its so easy, jus drag 128 waveform or 258 or how many you wan into serum and export them as a single files and serum automatically makes then 2048 point pr wave. I made hundreds of wavetables like that, form adventure kid and others.


#106

not sure i follow. in this case, you would just create a wavetable in serum with those 8 waves in it and load them into the wavetable object. it then crossfades between all 8 of them. that is essentially what serum is doing, no? but to my ears serums crossfade just sounds "better" and that is why i export the full 256 waves :wink:


#107

haha, turns out there is a way to export morphed waves in high quality. here is how:

import or create any wavetable as you wish in serum. morph as you wish. now, when you have all the morphed waves, go to process, remove dc offset. this will create 256 discrete waves and you can export them all into a wav! yeah!


#108

Hi:
I'm trying to emulate a Neutron Sound Orgone Accumulator (Is an Eurorack Module) http://neutron-sound.com/noa.html
I built one (in 5U format) and I will love to have a polyphonic version, that's why I'm trying to recreate it in Axoloti.
The code is open source, so I asked if somebody can port it, but nobody answered and my coding skills are way too basic to do it...
I started to build something with objects in the library, but I'm having some trouble.
The Orgone Accumulator is basically a wavetable oscillator, you can select 3 waves and morph (crossfade) between them, then you have another oscillator that can modulate (FM or AM) the first one, and then you can select a wave for this second oscillator. Also have some interesting FX that can be individually applied to the 3 waves in the main oscillator, most interesting to me is a detune FX like supersaw, but have distortions, delays, etc.
Anyway, I did the basic morphing but I'm having trouble to do the FM part... Also I don't have a clue of how to do the supersaw FX, may be I will just replace it with a 5 voices chorus...
I think a wavetable object with a PM input will be useful to me :slight_smile: