it's funny how with all this tech at the end of the day it still kinda sounds like an old PPG or waldorf. not a bad thing in my book! I've never tried any of these software instruments but I really want to now!
Worth noting that Korg modwave/modwave native has a very cool “modifier” feature that can apply a bunch of useful transformations to wavetables, including “Vintage 8” and “Vintage 12” modes that reduce the bit-depth of the table and allow aliasing. It’s very convincing and a lot of my wavetables work really nicely with that effect if you’re into that old-school flavor.
Jukebox was bizarrre and great. I wish they’d update it but I understand that it was trained on specific artists so that will never happen probably. Thanks for making all these waves. Looking forward to check them out.
Ha ha! Yeah, what an interesting thing that was, eh? I never played with one but was fascinated by the idea. If I recall correctly, there was a plugin version of a neuron for a hot second but I’m not sure what happened to that!
I haven’t tried (nor had I heard about) Waverazor, but the idea there is pretty similar to my recent “basic mix” wavetables. See “Wavetable Synthesis: Basic Mix, Formant, and VOSIM Wavetables. New in KRC Mathwaves” at ua-cam.com/video/OLyKxiz3P64/v-deo.html if you haven’t already!
Does this pack include 96kHz 24bit Wavetables to a max depth of 127? Realize full well this may require conversion but thought I would ask as the use case is specific.
Are you asking about 3rd Wave format, perhaps? Or something else? The format is 32-bit wav with no more than 64 frames per wavetable. The sample rate is arbitrary, but the playback rate as specified in the wav files is 44.1 KHz. It would be easy to provide a script that converts these to the appropriate format.
@@kcrosley Looking to port these wave tables for use in the Melbourne Instruments Nina- with a second eye on the Waldorf Iridium (likely different conversion requirement on that one). Anticipating the need to write a generator/conversion script to adapt high res wavetable libraries to whatever synth flavor is needed. Sox or FFMPEG probably can do the bulk of the conversion.
@@LagoLhnmy method for doing this would be Python scripts, but these sorts of transformations are quite simple. But have you downloaded my free version and tried importing a wavetable (wav file version) to NINA? Based on what I’m reading, it should handle these just fine?
@@LagoLhn Additionally, Iridium import should handle these OK as well. The frames are 2048 samples long, which seems to be all you need to tell Iridium. Of course, could be that Iridium or NINA need 24-bit wavefiles, but I could provide a Python script for that. (It's easy-peasy-ish.) But give it a try and let me know what you find? The free "taster" version of KRC Mathwaves is at www.wavetables.lol/l/free
I’m not sure. A quick search (I’m mobile at the moment) didn’t turn up info on what format the transfer utility expects. If you share info on what Plaits expects, I can at least provide a script to process the wavetables into that format! Thanks for watching!
Just an update here, a while back I converted the entire collection to WaveEdit format, used by many many Eurorack wavetable modules. Video here: ua-cam.com/video/JX2ndqBvKkI/v-deo.htmlsi=IgmSJv3QW3ORikhK Any module that expects WaveEdit’s 64-frame, 256 samples-per-frame, 16-bit wavetable format can use those. They’re found in the full product and there are some examples in this format in the free version.
Well, what a "good" wavetable is a matter of opinion, use case, etc. For example, some sort of wubstep growl is very specific (and you *probably* won't find such things in my collection, but ya never know). Or you might be interested in a specific morph or set of morphs that are foundational to some patch (consider a "checkerboard" pattern). So I don't think that's much of a fruitful avenue to pursue. What I'm exploring here is generative methods for single-cycle waveform creation followed by algorithmic construction of wavetables and then perusing the results. Personally I find this quite interesting, inspirational, and useful, but to each their own. Aside: Others who have explored some of the ideas I'm exploring really misunderstand wavetable synthesis. A wavetable is a specific organization of single-cycle waveforms. With generative AI, we are not interested so much in the construction of a "wavetable". We are first concerned with generating single-cycle waveforms, which have very specific requirements (length, bit-depth, etc.). And then wave *tables* are just an arbitrary assemblage of waveforms. When I say *arbitrary*, I mean *specific*. The selected waveforms themselves and their order within the wavetable are specific to the task at hand. Now, that being said, of course, my assembly techniques such as Random Adaptive Interpolated Magnitude (RAIM), multi-band linear interpolation, simple random selection, 8-point bezier, bezier curve, multi-point linear, etc. are a form of editorializing and so aren't exactly "arbitrary". And there are many other ideas to explore. For example, what if we use one of these techniques but then sorted the selected waveforms by spectral magnitude? Well, that would be interesting as it would basically be a very very fancy and specific form of lowpass filtering. I just haven't gotten around to that yet. Of course, if I dropped a few thousand wavetables that implemented that technique some numb-nuts on the internet would comment that they sound very "samey". 🤷♂
Hey there! They should. Give the free set a try and let me know! I'm not a PhasePlant user, but I understand that PhasePlant uses the 32-bit/2048-sample per frame format as Serum, modwave, and Vital.
I should have also noted: I'm not opposed to converting the collection to other formats or providing scripts that can easily accomplish the same thing. Most such transformations are pretty trivial. (Though there are some really weird formats out there with overly-specific needs that are kind of mind-numbing to work on.) Aside: I'm surprised that nobody has asked me for these in the format for 3rd Wave. I should probably do that (very simple) conversion and charge a premium for it... because, you know, "96k wavetables". (I'll snark about that in a future video. So many video ideas, so little time.)
Howdy! So, my models are still in development and while I *might* eventually release either the model/weights for direct playing around with, that will likely be a commercial product (low cost, just like the Mathwaves collection). In terms of open-sourcing the code that might happen at some point, but it's not nearly ready for that. Still very experimental. Also, it's not really useful without the training data, which is my work product as well. All of that being said, I will be doing a video where I talk more about how the model is constructed. While it's my own novel work, it's not wildly different from the idea presented here at the end of the day: cmmr2021.github.io/proceedings/pdffiles/cmmr2021_30.pdf. I've taken a more bounded approach to the problem given that we have what is more-or-less a standard in terms of 32-bit, 2048 sample-per-frame wavetables and I'm not trying to generate a wavetable in real-time (though that's actually something that could be possible given that smaller versions of these models aren't very large and the generator/decoder works just fine on modern CPUs).
It feels like you're unlikely to get a waveform with straight lines just because the phases of the partials would have to line up in a special way. You could do an optimization to try and minimize second derivatives if you really wanted.
Well, it’s probably a mix of things. In current versions of my models (the ones that made the waveforms I’m discussing in this video), I heavily bias reconstruction loss over encoding loss. Because (1) it simply works 😊 and (2) the goal of these VAEs is to output novel but plausible synthesis waveforms. At the end of training, the encoder is sort of crap, but sampling from the latent space obviously gives really useful results! If you’re a machine learning type, you might be surprised that these models don’t incorporate a convolution layer. I’m working on a version that adds convolution layers which might improve learning on some types of sharp-edged waveforms. (Progress is slow there as the more advanced model is slower to train and thus also more expensive. I burned through close to 2000 compute units in Colab training the earlier models.) blah blah blah… I’ll do another talky video that dives a bit more into the technical specifics of what I’m doing. So “like and subscribe” as they say! 😉
To my ears, they sound like FM and all rather similar. Unfortunately, my computer is Windows XP, thererfor too ancient to load any of these into my Korg Modwave. I think it has 4GB of memory, though not sure how much is used by factory wavetables.
So, any sufficiently complex waveform is going to sound "digital" simply because it's pretty hard in the analog domain to generate waveforms with a great deal of complexity. If you associate that with FM, then 🤷♂. But, like the man says, "Thanks for vatching and... see you next time!"
@@GeorgeLocke Absolutely! Why have a new computer, when all you use it for is a bit of writing in Simple Text? B.t.w., it looked like some of those wavetables that were being scanned across in various ways are possible on Korg Modwave keyboard, using the sequencer. (The scanning part, not his wavetables.) Or maybe @kcrosley is using Korg's editor to demonstrate his wavetables. Not sure...
@@bilonggrisimmeri I'm demonstrating these in modwave native standalone (the software version of Korg modwave). Aside: modwave is absolutely the best-sounding and best-thought-out wavetable instrument yet created. (Like wavestate, it's also the closest thing we'll probably ever see to an Emulator-style sampler, but that's a subject for another time.) Well worth the cost. In these demonstrations, I'm using *very* simple single-oscillator patches and just presenting the wavetables in a pretty "raw" form (though I've got FX on or else we'd have a quite ear-jarring and fatiguing experience of listening to raw oscillators which just isn't particularly pleasant).
@@kcrosley Thank you for the information. I also think my Modwave is pretty fantastic. So far, I've made analogue subtractive patches, though not got to grips with the Mod Matrix or Arpeggiator. Virtually every factory patch does not work for playing piano music containing chords etc, with multiple Mod routings that don't contribute to the timbre. I agree, your sounds were better with plenty of reverb, whereas mine are improved with chorus.
All of these wavetables (and every other one I've ever heard to be fair) just sound metallic and FM like and all alike. I really do not see the appeal for something that's so samey.
I think all the wavetables are meant for a deeper sound design using all their capabilities to create a backbone or structure to the sounds you play. After you get that in place with the patterns or notes you like then you can add FX, reverbs, choruses, warmer filters etc to design the sounds into a warmer analog feel that is more “pleasing” to the ears etc. Then they shine as a more “listenable” or musically pleasing voice in a track or song. I think they excell at sound design and production although they can be made to sound like an analog type synth as well.
@@Synth_chump well, it's definitely worth the price. Please see my other videos about this collection. It's not ALL about the VAE wavetables. Somewhat like the "Galbanum Architecture Waves" waveform collection, I first created a very large collection of mathematically generated waveforms (about 29,000 waveforms) and assembled them into wavetables in non-naive ways. (One weakness of Galbanum is that it just whomped all the waveforms from a given technique into 128-frame wavetables which isn't exactly the right approach. I do this as well, 64 frames at a time, but also provide morphs that make sense/are creative. Hence, the number of wavetables in the original collection being larger than the number of source waveforms. The work on various VAE models is just the next generation (if you will) of "what could I do with a giant collection of waveforms"? Now, my exploration started as a deep exploration of waveforms made with the various polygonal number series, and I went MUCH MUCH deeper on those than in Galbanum, and applied that same deep generation to other numeric series. This results in a collection that, on the face of it, where these peculiar glassy/bell-like tones are over-represented. But there's a metric s-ton of other stuff in the collection. (Also, I do think at some point I'll have models that are more radically diverse in their outputs, but it my require amassing an even LARGER variety of waveforms. It's a challenging problem that's fun to work on.)
@@Matt-zp1jn Thanks for the kind comments. This is, in fact, how my collection(s) are supposed to be used. I try not to let random comments like "sounds kinda samey" bother me, as those sorts of people are missing the point. (Such comments strike me as likely being from people who are not skilled synthesists.) What I've been mostly showing in the videos to date are what I think are some of the most interesting aspects of my collection. Namely, the mathematical series waveforms (polygonal, etc.). And, yes, my various VAE models do bias that way (as those sorts of waveforms are very prevalent -- one could say even over-represented -- in the training data). But I continue to work on new training techniques and expanding my models' ability to capture finer details... So stay tuned! In the core "Mathwaves" waveform and wavetable collection, there's tons of interesting bread-and-butter synthesis material like a zillion variations on things like (my favorite) the good old sawtooth wave (different ramp shapes, etc.) which can have a very significant impact on saw-based patches. But of course, the same people who say that these wavetables "sound the same" are likely also to not appreciate the flavor of different sawtooth waves. I originally created these waveforms and wavetables for my own enjoyment as base material for my own patching, but lately that's taken a back seat to teaching machines how to make nice wavetables. Look for more sound-design-focused videos in the near future. "Like and subscribe for more talky content." 🤪
it's funny how with all this tech at the end of the day it still kinda sounds like an old PPG or waldorf. not a bad thing in my book! I've never tried any of these software instruments but I really want to now!
Worth noting that Korg modwave/modwave native has a very cool “modifier” feature that can apply a bunch of useful transformations to wavetables, including “Vintage 8” and “Vintage 12” modes that reduce the bit-depth of the table and allow aliasing. It’s very convincing and a lot of my wavetables work really nicely with that effect if you’re into that old-school flavor.
Jukebox was bizarrre and great. I wish they’d update it but I understand that it was trained on specific artists so that will never happen probably. Thanks for making all these waves. Looking forward to check them out.
I’ll have to upload a little video mashup I did with audio out of OpenAI Jukebox that I never put here on UA-cam…
You need to create the next gen Hartman Neuron
Ha ha! Yeah, what an interesting thing that was, eh? I never played with one but was fascinated by the idea. If I recall correctly, there was a plugin version of a neuron for a hot second but I’m not sure what happened to that!
Clearly you in the thumbnail; mad wavetable scientist lol. Very interesting stuff….have you ever tried MOK’s Waverazor?
I haven’t tried (nor had I heard about) Waverazor, but the idea there is pretty similar to my recent “basic mix” wavetables. See “Wavetable Synthesis: Basic Mix, Formant, and VOSIM Wavetables. New in KRC Mathwaves” at
ua-cam.com/video/OLyKxiz3P64/v-deo.html if you haven’t already!
@@kcrosley oh cool, I will have to check that out. Binging your videos since discovering you recently lol (not .lol 🤪).
@@CapriciousBlackBox you’ve got time to binge as I keep screwing up my next video (on physical modeling synthesis in Myth). Thanks for watching!
@@kcrosley oh good….I was hoping you do that (make the video that is, not screw it up 😆).
Does this pack include 96kHz 24bit Wavetables to a max depth of 127? Realize full well this may require conversion but thought I would ask as the use case is specific.
Are you asking about 3rd Wave format, perhaps? Or something else? The format is 32-bit wav with no more than 64 frames per wavetable. The sample rate is arbitrary, but the playback rate as specified in the wav files is 44.1 KHz. It would be easy to provide a script that converts these to the appropriate format.
@@kcrosley Looking to port these wave tables for use in the Melbourne Instruments Nina- with a second eye on the Waldorf Iridium (likely different conversion requirement on that one). Anticipating the need to write a generator/conversion script to adapt high res wavetable libraries to whatever synth flavor is needed. Sox or FFMPEG probably can do the bulk of the conversion.
@@LagoLhnmy method for doing this would be Python scripts, but these sorts of transformations are quite simple. But have you downloaded my free version and tried importing a wavetable (wav file version) to NINA? Based on what I’m reading, it should handle these just fine?
@@LagoLhn Additionally, Iridium import should handle these OK as well. The frames are 2048 samples long, which seems to be all you need to tell Iridium. Of course, could be that Iridium or NINA need 24-bit wavefiles, but I could provide a Python script for that. (It's easy-peasy-ish.) But give it a try and let me know what you find? The free "taster" version of KRC Mathwaves is at www.wavetables.lol/l/free
Hi,
Would these wave tables be usable with the Plaits 1.2 firmware?
I’m not sure. A quick search (I’m mobile at the moment) didn’t turn up info on what format the transfer utility expects. If you share info on what Plaits expects, I can at least provide a script to process the wavetables into that format! Thanks for watching!
Just an update here, a while back I converted the entire collection to WaveEdit format, used by many many Eurorack wavetable modules. Video here:
ua-cam.com/video/JX2ndqBvKkI/v-deo.htmlsi=IgmSJv3QW3ORikhK
Any module that expects WaveEdit’s 64-frame, 256 samples-per-frame, 16-bit wavetable format can use those. They’re found in the full product and there are some examples in this format in the free version.
Superb 😄😘💖💖👌👌
Thanks for your kind comment! 🥂🥂
I’ll see how those works on the peak
Didn’t realize Peak had wavetable import! Let me know how that goes!
I think what you need to do is to train a network to pick out the best wave tables.
Well, what a "good" wavetable is a matter of opinion, use case, etc. For example, some sort of wubstep growl is very specific (and you *probably* won't find such things in my collection, but ya never know). Or you might be interested in a specific morph or set of morphs that are foundational to some patch (consider a "checkerboard" pattern). So I don't think that's much of a fruitful avenue to pursue. What I'm exploring here is generative methods for single-cycle waveform creation followed by algorithmic construction of wavetables and then perusing the results. Personally I find this quite interesting, inspirational, and useful, but to each their own.
Aside: Others who have explored some of the ideas I'm exploring really misunderstand wavetable synthesis. A wavetable is a specific organization of single-cycle waveforms. With generative AI, we are not interested so much in the construction of a "wavetable". We are first concerned with generating single-cycle waveforms, which have very specific requirements (length, bit-depth, etc.). And then wave *tables* are just an arbitrary assemblage of waveforms. When I say *arbitrary*, I mean *specific*. The selected waveforms themselves and their order within the wavetable are specific to the task at hand.
Now, that being said, of course, my assembly techniques such as Random Adaptive Interpolated Magnitude (RAIM), multi-band linear interpolation, simple random selection, 8-point bezier, bezier curve, multi-point linear, etc. are a form of editorializing and so aren't exactly "arbitrary". And there are many other ideas to explore. For example, what if we use one of these techniques but then sorted the selected waveforms by spectral magnitude? Well, that would be interesting as it would basically be a very very fancy and specific form of lowpass filtering. I just haven't gotten around to that yet.
Of course, if I dropped a few thousand wavetables that implemented that technique some numb-nuts on the internet would comment that they sound very "samey". 🤷♂
QQ: do the wavetables work in phaseplant?
Hey there! They should. Give the free set a try and let me know! I'm not a PhasePlant user, but I understand that PhasePlant uses the 32-bit/2048-sample per frame format as Serum, modwave, and Vital.
I should have also noted: I'm not opposed to converting the collection to other formats or providing scripts that can easily accomplish the same thing. Most such transformations are pretty trivial. (Though there are some really weird formats out there with overly-specific needs that are kind of mind-numbing to work on.) Aside: I'm surprised that nobody has asked me for these in the format for 3rd Wave. I should probably do that (very simple) conversion and charge a premium for it... because, you know, "96k wavetables". (I'll snark about that in a future video. So many video ideas, so little time.)
@@kcrosley should work ok then, if mot I have serum anyhow, cheers
Hi would you share the google collabs you worked on?
Howdy! So, my models are still in development and while I *might* eventually release either the model/weights for direct playing around with, that will likely be a commercial product (low cost, just like the Mathwaves collection). In terms of open-sourcing the code that might happen at some point, but it's not nearly ready for that. Still very experimental. Also, it's not really useful without the training data, which is my work product as well. All of that being said, I will be doing a video where I talk more about how the model is constructed. While it's my own novel work, it's not wildly different from the idea presented here at the end of the day: cmmr2021.github.io/proceedings/pdffiles/cmmr2021_30.pdf. I've taken a more bounded approach to the problem given that we have what is more-or-less a standard in terms of 32-bit, 2048 sample-per-frame wavetables and I'm not trying to generate a wavetable in real-time (though that's actually something that could be possible given that smaller versions of these models aren't very large and the generator/decoder works just fine on modern CPUs).
It feels like you're unlikely to get a waveform with straight lines just because the phases of the partials would have to line up in a special way. You could do an optimization to try and minimize second derivatives if you really wanted.
Alternatively, you could just restrict the model to make piecewise linear waves.
Well, it’s probably a mix of things. In current versions of my models (the ones that made the waveforms I’m discussing in this video), I heavily bias reconstruction loss over encoding loss. Because (1) it simply works 😊 and (2) the goal of these VAEs is to output novel but plausible synthesis waveforms. At the end of training, the encoder is sort of crap, but sampling from the latent space obviously gives really useful results! If you’re a machine learning type, you might be surprised that these models don’t incorporate a convolution layer. I’m working on a version that adds convolution layers which might improve learning on some types of sharp-edged waveforms. (Progress is slow there as the more advanced model is slower to train and thus also more expensive. I burned through close to 2000 compute units in Colab training the earlier models.) blah blah blah… I’ll do another talky video that dives a bit more into the technical specifics of what I’m doing. So “like and subscribe” as they say! 😉
To my ears, they sound like FM and all rather similar. Unfortunately, my computer is Windows XP, thererfor too ancient to load any of these into my Korg Modwave. I think it has 4GB of memory, though not sure how much is used by factory wavetables.
So, any sufficiently complex waveform is going to sound "digital" simply because it's pretty hard in the analog domain to generate waveforms with a great deal of complexity. If you associate that with FM, then 🤷♂. But, like the man says, "Thanks for vatching and... see you next time!"
Are you commenting from 2003?
@@GeorgeLocke Absolutely! Why have a new computer, when all you use it for is a bit of writing in Simple Text? B.t.w., it looked like some of those wavetables that were being scanned across in various ways are possible on Korg Modwave keyboard, using the sequencer. (The scanning part, not his wavetables.) Or maybe @kcrosley is using Korg's editor to demonstrate his wavetables. Not sure...
@@bilonggrisimmeri I'm demonstrating these in modwave native standalone (the software version of Korg modwave). Aside: modwave is absolutely the best-sounding and best-thought-out wavetable instrument yet created. (Like wavestate, it's also the closest thing we'll probably ever see to an Emulator-style sampler, but that's a subject for another time.) Well worth the cost. In these demonstrations, I'm using *very* simple single-oscillator patches and just presenting the wavetables in a pretty "raw" form (though I've got FX on or else we'd have a quite ear-jarring and fatiguing experience of listening to raw oscillators which just isn't particularly pleasant).
@@kcrosley Thank you for the information. I also think my Modwave is pretty fantastic. So far, I've made analogue subtractive patches, though not got to grips with the Mod Matrix or Arpeggiator. Virtually every factory patch does not work for playing piano music containing chords etc, with multiple Mod routings that don't contribute to the timbre. I agree, your sounds were better with plenty of reverb, whereas mine are improved with chorus.
🌊👋🏓📈📉
All of these wavetables (and every other one I've ever heard to be fair) just sound metallic and FM like and all alike.
I really do not see the appeal for something that's so samey.
You do you. Thanks for vatching and see you next time!
I agree, but sometimes one or two sound not the same. Does that make it worth the effort?
I think all the wavetables are meant for a deeper sound design using all their capabilities to create a backbone or structure to the sounds you play.
After you get that in place with the patterns or notes you like then you can add FX, reverbs, choruses, warmer filters etc to design the sounds into a warmer analog feel that is more “pleasing” to the ears etc. Then they shine as a more “listenable” or musically pleasing voice in a track or song.
I think they excell at sound design and production although they can be made to sound like an analog type synth as well.
@@Synth_chump well, it's definitely worth the price. Please see my other videos about this collection. It's not ALL about the VAE wavetables. Somewhat like the "Galbanum Architecture Waves" waveform collection, I first created a very large collection of mathematically generated waveforms (about 29,000 waveforms) and assembled them into wavetables in non-naive ways. (One weakness of Galbanum is that it just whomped all the waveforms from a given technique into 128-frame wavetables which isn't exactly the right approach. I do this as well, 64 frames at a time, but also provide morphs that make sense/are creative. Hence, the number of wavetables in the original collection being larger than the number of source waveforms. The work on various VAE models is just the next generation (if you will) of "what could I do with a giant collection of waveforms"?
Now, my exploration started as a deep exploration of waveforms made with the various polygonal number series, and I went MUCH MUCH deeper on those than in Galbanum, and applied that same deep generation to other numeric series. This results in a collection that, on the face of it, where these peculiar glassy/bell-like tones are over-represented. But there's a metric s-ton of other stuff in the collection. (Also, I do think at some point I'll have models that are more radically diverse in their outputs, but it my require amassing an even LARGER variety of waveforms. It's a challenging problem that's fun to work on.)
@@Matt-zp1jn Thanks for the kind comments. This is, in fact, how my collection(s) are supposed to be used. I try not to let random comments like "sounds kinda samey" bother me, as those sorts of people are missing the point. (Such comments strike me as likely being from people who are not skilled synthesists.) What I've been mostly showing in the videos to date are what I think are some of the most interesting aspects of my collection. Namely, the mathematical series waveforms (polygonal, etc.). And, yes, my various VAE models do bias that way (as those sorts of waveforms are very prevalent -- one could say even over-represented -- in the training data). But I continue to work on new training techniques and expanding my models' ability to capture finer details... So stay tuned!
In the core "Mathwaves" waveform and wavetable collection, there's tons of interesting bread-and-butter synthesis material like a zillion variations on things like (my favorite) the good old sawtooth wave (different ramp shapes, etc.) which can have a very significant impact on saw-based patches. But of course, the same people who say that these wavetables "sound the same" are likely also to not appreciate the flavor of different sawtooth waves.
I originally created these waveforms and wavetables for my own enjoyment as base material for my own patching, but lately that's taken a back seat to teaching machines how to make nice wavetables. Look for more sound-design-focused videos in the near future. "Like and subscribe for more talky content." 🤪