Wavetable waveform view
-
Hi Christoph
here a re My Findings about Wavetablesfirst the Hise Stand Alone builds were done on a
Mac Pro 3.1 with Mojave 10.14.6 with Xcode 10
and Mac Pro 5.1 with Big Sur 11.2.3 with Xcode 12.5When we Use Either the Develop or new-layout Branch
we can Export the Wave tables
after we export the wave tables we have to close Hise and re-open
to be able to play the wavetableswith Develop and new-layout we do not have the Wavetable Preview
When we use the Master Branch to Export wavetables the Hise App Crashes
if i open the project containing the wavetables created with
Develop or new-layout in Hise Master Branch
i am able to get the Wavetable Previewi Found another Difference in Develop & New-layout Branch the LFO Wave has Steps option
but in Master Branch the LFO Wave has no Steps option!
Hope This Helps to Fix Everything!
-
@BWSounds @LinuxVst Hi folks, I'm testing some things with wavetable synths. Everything's working fine but when I build my plugin (or the standalone version), it doesn't produce any sound.
The standalone build asked for the sample file, so I gave it to it but it still doesn't output any sound.
Did you manage to get it to work ?
-
@Matt_SF Nevermind, it's just that the wavetable file wasn't been properly installed to the {APP_DATA} folder. Do it manually and everything will work fine.
-
@Matt_SF Are there any fun modulations you can do to the wavetables? Like position or warping etc?
-
@DanH you can 'only' modulate the position of the wavetable - but you can apply all existing modulators (env, lfo, etc...)
-
@Matt_SF that’s the table index correct? I did stick a lfo on it but couldn’t hear any change to the sound…
-
@DanH yes it's the index. But did you convert your samplemap successfully ? You have to spread your waveforms across the velocity range of the sampler and convert the samplemap to a wavetable using HISE's converter tool (default options should be fine).
-
@Matt_SF oh right - I just spread it across the keyboard lol
How do you spread across the velocity range?
-
What is the advantage of using a WaveTable over a Sampler?
Because if you can only modulate the position then a sampler can do it if you spread your waves in the samplemap.
Maybe it is an efficiency difference?
I'm asking because I began a kind of wavetable based on a sampler and I don't know if I better have to switch to a real wavetable module, I'm not familiar with all of those... -
@DanH just define the min-max values for each 'velocity' layer, define the LoKey/HiKey numbers, and run the wavetable converter.
@ustk the main advatage of using wavetables is that the transitions between the different waves are interpolated, hence modulating the position will be smoothed.
With a sampler you have 2 options if you want to do the same. Let say you want to go from sine to square :
Either you layer your samples like on the picture above, but when modulating the position, you'll get abrupt changes between sine-tri-saw-square (but maybe that's what you want / you don't care).
Or you can layer your samples so each one 'crosses' the previous and the next but this is like dry/wetting a signal, there's no "morphing" between the waveforms.
Try for yourself ! I personally like wavetable synths :) .
Christoph put an example project in his repo. -
@Matt_SF right, how many velocity layers do I want?
-
@DanH that's up to you . It depends on your project and what you want to achieve...
For an oscillator which goes simply from sine to saw, then 2 waves should be enough but for complex wavetables you should use as many samples as needed.
Your samples are the 'key-frames' you want to go through. HISE converter then creates the middle frames. -
@Matt_SF Thanks, you can do a smooth interpolation from sampler group XFade too, hence my question
-
@ustk You can use up to 128 different wavetables for each note. If you're doing this with a sampler the voice count will rise up ridiculously.
-
@Christoph-Hart Ok I see. In my case I need only 4 waveforms, monophonic, so I don't think it is as bad.
-
@Christoph-Hart Oh, and I forgot to mention the user should be able to select whatever wave he needs between this group of 4 dynamically from a browser and even create his own shapes. So I think I better have to stick with a sampler...
-
@ustk said in Wavetable waveform view:
@Matt_SF Thanks, you can do a smooth interpolation from sampler group XFade too, hence my question
oh ok, I'm aware of groupXFading but I never tried it. Guess I'm up for some A/B testing this evening :)
-
@ustk Yeah in this case the sampler is better. Are you creating the samplemap dynamically whenever the user swaps one of the four samples?
-
@Christoph-Hart I haven't worked on it for a while but I reckon I create a sample map with all samples stacked and ready on note 0 (that is forbidden to play), and when selecting 4 samples among the stack, I just move them across the playing range and assign their group
The fact is that the stack is fixed. So I might find a way to load external samples instead and save the sample map so it can be recalled
-
@ustk said in Wavetable waveform view:
@Matt_SF Thanks, you can do a smooth interpolation from sampler group XFade too, hence my question
So I did a quick test and group XFading sounds good. It's still crossfading but the results sound really close with both techniques (with simple waveforms obviously).
Of course for what you want to do, group XFading is the answer.I'll try in my actual project to see which is better.
However, I'm working with single-cycle waveforms and when I put them in the sampler, it makes HISE crash on the first note I play...
I don't know if you're experiencing the same behaviour...@Christoph-Hart should I create a new thread about it ? This is what I got during debug :
JUCE Assertion failure in samplebuffer.cpp:341 ... JUCE Assertion failure in streamingsamplervoice.cpp:222