Yeah, that would be a good addition to the wavetable generator function for “orbit” wavetables (which is a pretty experimental as a generation technique and one I haven’t messed around with much yet). I’ve been continuing to work on the core model and the latest version incorporates convolutional layers, which help the model a bit with learning additional waveform features.
One thing I don’t think I talked about in the latest video is that a big part of the successful training of these models is enhancing the dataset (which starts with about 53,000 waveforms) by spectrally morphing waveforms between each other. This is a natural thing to do as we want the model to be able to produce good-sounding morphs between waveforms. (And that’s what we’ll be doing with them in our wavetable synths, of course.) I do this in bulk before training and then it happens dynamically within the training loop as well.
I’m training a version right now that adds some different enhancement techniques such as taking some percentage of the batch and morphing them with the basic synthesis waveforms (sine, tri, saw, and square) in an effort to tame the effect of so many of the arithmetical series waveforms (which have lots of zero crossings/high-frequency components) which are of course over-represented in the Mathwaves collection. (We see the occasional dork over in the YouTube comments missing the point of my collections and complaining about that. But haters gonna hate, right?)
Another weird/experimental idea incorporated in this particular training run is taking some percentage of each batch and splicing the waveforms together at various points, with a crossfade. This will make for some very strange waveforms whose timbres are pretty unpredictable.
At some point, I’ll get back to experimenting with new wavetable assembly techniques. (Like I do think it would be fruitful to do some wavetables where the core frames of the waveform are first sorted by spectral magnitude before morphing along some path between them. And, of course, paths might additionally be hypercurves rather than straight lines, etc. There’s really an endless number of ideas to explore.)
This is the kind of stuff that really interests me! I’ve put together a handful of scripts that will generate SCWFs with additive synthesis parameters that you can input and then get a group of waves in that vicinity. I’ve been enjoying one that I’ve made that will take an input number of samples and assign amplitudes to those samples based on a ruleset - I’ve been using an analysis metric called Kurtosis which has been fun. The random amplitude assignment results in a lot of growl-esque metallic content but quite different from the well ordered logic that can result in FM type sounds.
I will say, I enjoy your files that are available as SCWF as I can plunk them into MSoundFactory and use its awesome interpolation to essentially design my own tables from two waveforms.
KRC Mathwaves are great, its now not the same Vital for me, a simple idea can be tested with various (tons of) sounds very quickly, and no its not crazy to make 80 000 wavetables, if you want to make more, its cool.
Sometimes I put a drum pattern as osc or a melody, and sometimes that produce a good result, maybe some formula could generate rhythm or melodic stuff?
KRC Mathwaves are the best food for Vital
You might be interested in some of the concepts proposed by Joseph Schillinger in his Schillinger System of Musical Composition. His Book I is a grand theory of creating rhythms with what he terms interference patterns. It allows for the composer to provide two or more ‘generators’ and from those a rhythmic pattern (and subsequently - florid rhythms) are generated.
For example; given generator A=3 and B=2 we can form the following resultant=r
Hey @tinga, I’m so glad you’re enjoying them! And I have generated more and will continue to do so! I’ve been so busy working on new VAE models that there are a few explorations that I haven’t done yet on older models.
For example, I suspect that the latent space in earlier models might have interesting waveforms hiding in strange places and it might not be as well-regularized as early sampling suggests.
Anyway, there’s more stuff coming and I greatly appreciate your patronage! There are several new versions of VAE wavetables that I need to package up and upload, including a model that was specifically trained to be less high-frequency/high-harmonics and it’s actually quite useful.
And even as I type there’s a new model training that implements a bunch of new ideas that I hope are fruitful… though one never knows until it’s done “baking”!