Awesome new toy: WaveEdit

  • Hi everybody,

    I stumbled over this project:

    It's a free and open source Wavetable editor that allows you to build wavetable banks and export them with a really decent interface.

    The exported wavetables are actually very similar to what I am using in the Wavetable synth (except for that I've hardcoded the wavetables) so I'll probably dust off this module and add support for importing wavetables created with this tool. I've been thinking about a standard for Wavetables for quite some time but this could be the missing link...

    Basically you will be able to create a bank of 64 wavetables and use the HISE modulators to morph between them polyphonically.

  • Please educate me, what exactly are wavetables and what do I use them for?

  • Wavetables are extremely short samples (in fact, exactly one cycle) that are looped and used to create all kinds of sounds. It's a pretty old and basic technology, but in combination with traditional sampling, there are a lot of possibilities.

    This application can import audio files, and creates wavetables from it so you can basically create synthesised sounds from almost every sound material.

  • @d-healey

    With wavetables, you can create weird or realistic sounds that are impossible to get them with analog - virtual/analog synthesizers. Today wavetable synthesis is too much popular from Dubstep, Trap, Futurebass to Pop music genres.

    If you want to learn Wavetables, you can check Serum and see what can be done with wavetable synthesis 😉

  • there is 3 kind of wavetables :

    wavetable 1: waveform = the PPG wave by Waldorf for example use wavetable (another style of calculation to create waveform) instead of "classical" waveforms (sine, saw, etc. ...)

    Wavetable2: short sample attack. adding this to analog waveforms (Roland D-50, Kurzweil k2000, Roland JD/JV series, etc. ...) permit creating new kind of sound.

    Wavetable3: just samples. it could be acoustic samples or analog waveforms sampled. Best example is Korg M1 in this case.

    @Christoph hart:

    if you update your wavetable module to "import" wavetable = we could create some D-50, JV-1080, Korg Triton alike ersatz. a dream will come true... 😄

  • Aha I see, this sounds interesting, especially the morphing. So for example could I create 3 wavetables of a trumpet at 3 dynamics and morph between them? I'd also need to crossfade in an attack sample at the start of the note as well I would imagine for realism.

    How will the licensing of WaveEdit affect proprietary HISE instruments?

  • @d-healey
    if i say well it's something like that in the Prophet VS and after that (because created by the same developper) the Korg Wavestation and recently the Kaoss pad = morphing sample based synthesis.

    so, on the paper, yes you could 😉

  • So for example could I create 3 wavetables of a trumpet at 3 dynamics and morph between them?

    Yes, but why limit yourself to 3 dynamic layers? I've done 64 layers for my clarinet by converting a crescendo sample of a single note - that's the beauty of wavetables. It doesn't work with all instruments though (heavily depends on the harmonic spectrum).

    How will the licensing of WaveEdit affect proprietary HISE instruments?

    Well, the audio files you create with it have no particular license so it should not affect anything - it's just like using an open source audio editor to edit your samples.

    I am currently digging in the source code of the app to make it more suitable for our use case - it currently exports all wavetables with the length of 256 samples, but in HISE we need one wavetable bank per note with the precalculated length.

    Unfortunately the audio file import just chops the sample into 64 slices - I was hoping it would do some kind of FFT analysis to extract the harmonic spectrum of each slice, but maybe I'll just add this feature 🙂

  • Ooo I'm recording a trumpet tomorrow, I'll get a few crescendos, is there any particular note that is best for this? or is it one crescendo per note?

    Edit: I just read your Clarinet page, I remember reading it last year some time actually. I'm recording in a large hall tomorrow so it probably won't be a suitable environment for this kind of process.

  • OK so this thread is a bit old, so before I head off down this rabbit hole - what is the current state of this? If I use this WaveEdit thing can I then import the results into HISE?

  • Lindon bringing this thread back to life reminded me... I recorded those trumpet crescendos but apparently forgot to do anything with them. Here they are if anyone would like to have a go at making some wavetables out of them.

  • I'm looking forward to seeing this implementation 😎

  • Nah, that wave edit thing turned out to be less useful than I thought. I wrote the WavetableExtractor instead, which basically creates Wavetables from Samplemaps suitable for the WavetableSynthesiser inside HISE.

    It's horribly broken, but if you guys want to play around with it, I can take a quick look how to get it back on track.

  • 😢 😥 😭

  • @Christoph-Hart so what does the WavetableExtractor do then?

  • It analyses the harmonic content of each sample using and creates a set of 64 wavetables from start to end containing the harmonic structure of the original material. If you use this with crescendo samples, you can get interesting effects.

    I got it back to run through now, the samples from David are awesome. It spits out .hwt files that you can feed into the Wavetable synthesiser.

  • So if I understand well, it should be easy to import wavetables from WaveEdit or any other utility then?

    Or we can only feed the Wavetable synthesiser internally from the extracted data?

  • This post is deleted!

  • @Christoph-Hart I am currently trying to import wavetables from WaveEdit with no success

    I tried to stick the 64 .wav files (256 samples) end to end (pro tools does that automatically) to make one big file (16 384 samples), but the samplemap doesn't want to transform into a wavetable as it does for any standard sample. It's like there's no detection during FFT, everything stays flat no matter the settings
    I tried different mapping of the samplemap, and tried with the separated 64 .wav as well but nothing works... 🤔

    Together with the FM limitations, it's no luck for synthesis ☹

Log in to reply