Wavetable creation
-
@Lindon How would you make sure the user's file has a cycle length of 2048?
-
@dannytaurus oh I wouldnt ... I would have a param that the user can select from :
512
1024
2048- so if they build their own wavetable wav file they would know it needs to be one of these values...
and the UI would have a combo box allowing them to define the value they are using..
so the script call back would then include this new call:
WavetableController.setCycleLength(value)
- so if they build their own wavetable wav file they would know it needs to be one of these values...
-
@Lindon whilst we are here....
what tool is everyone using to generate morphing wave files ?
so you have wav1 -> wav2 ->wav3 and you want to generate a bunch of morphs between these?
-
@Lindon said in Wavetable creation:
- so if they build their own wavetable wav file they would know it needs to be one of these values...
If they're building their own wavetables, just have them put Loop Range metadata in the file which sets the cycle length.
Then they won't need to choose it from a dropdown.
It makes their wavetables more portable too.
-
@dannytaurus said in Wavetable creation:
@Lindon said in Wavetable creation:
- so if they build their own wavetable wav file they would know it needs to be one of these values...
If they're building their own wavetables, just have them put Loop Range metadata in the file which sets the cycle length.
Then they won't need to choose it from a dropdown.
It makes their wavetables more portable too.
So how are they building their wavetables?
-
@Lindon said in Wavetable creation:
So how are they building their wavetables?
Personally, I'd either use Vital (free VTS/AU) or I'd write a script that takes in 3 audio files of 2048 samples, then interpolates between them with audio file 1 as frame 1, audio file 2 as frame 128 and audio file 3 as frame 3.
-
@dannytaurus said in Wavetable creation:
@Lindon said in Wavetable creation:
So how are they building their wavetables?
Personally, I'd either use Vital (free VTS/AU) or I'd write a script that takes in 3 audio files of 2048 samples, then interpolates between them with audio file 1 as frame 1, audio file 2 as frame 128 and audio file 3 as frame 3.
Well I assume you mean "audio file 2 as frame 2", but in any case..."interpolates" means what for a set of 2048 values(an array)?
if we work out the diff between any two value pairs and average the change over(say) 50 steps (essentially a cross fade) - this wont work as we will likely end with some zeroed value set at some point, and definately not a musical result..
hmm, interpolate here is tricky...
OK a bit of googleing gets me to:
-
@Lindon said in Wavetable creation:
Well I assume you mean "audio file 2 as frame 2", but in any case..."interpolates" means what for a set of 2048 values(an array)?
Sorry, no. I mean:
Audio file 1 is frame 1
Audio file 2 is frame 128
Audio file 3 is frame 256That will make a full 256-frame wavetable. That's 256 frames of 2048 samples each.
Interpolating as in morph each value of the 2048 cycle length to the next. Like, sine wave slowly becomes a saw wave, or whatever.
There are different methods of morphing between waves for a wavetable. Spectral is a different way. You'll have to read up and find the way that best suits your needs.
Personally, I'm only working with 'primitive' waves and morphing between them, so linear interpolation is fine for me.
-
@dannytaurus Okay well thanks for your input, That approach is def. not going to work for me, still I think I have a product identified above that will do cough better, morphing...now just to find the time to learn it and build some wavetables....hello 2026 - Im looking at you...
-
@Lindon Node looks cool. You could probably build that in HISE as a standalone app.
-
@dannytaurus That looks great, thank you! Will play with it on weekend.