Wavetable Synth
-
Maybe that would be an awesome example about wavetable stuff @Christoph-Hart
-
Alright, that's what I accomplished so far:
https://github.com/christophhart/HISE/commit/16234f5837e9a6df1a7b5f4ce4b530a162fe299d
So basically you can take the wav files from WavEdit, map them like a sampled instrument and run the wavetable converter over it. If you map the wavetables across the velocity range, they can be modulated using the table index.
I've also updated the wavetable demo project here:
https://github.com/christophhart/hise_tutorial/tree/master/WavetableSynth
It contains a few random wavetables that WaveEdit produced after some monkey UI interaction, but it shows how to map and convert the multi-velocity wavetable maps (I omitted the converted .hwt files so you can do the process for yourself):
- load this project
- open the converter window
- choose FM_AB
- select Resample instead of "FFT Resynthesis"
- press OK.
- load up the Wavetable synthesiser
- pick the new sound in the drop down (ignore for now that it creates one for the left and right channel, I'll add proper multichannel wavetable support soon).
It's currently using linear interpolation for the resampling and I'll switch it to sinc interpolation at my next round (it's offline processing anyway so we can opt for the best interpolation here).
-
@Christoph-Hart Woww the train travel's been prolific I'll jump on it ASAP!
-
@Christoph-Hart said in Wavetable Synth:
- select Resample instead of "FFT Resynthesis"
I don't see anything like this
-
Oops, I forgot to push the code that actually added the combobox in the dialogue...
-
Actually, hold off a little bit, I noticed there's an issue in the conversion process...
-
@Christoph-Hart No worries mate ;)
-
@Christoph-Hart great timing mate - I have a customer asking about wavetable implementation -- so count me in on the "would like it to happen".
-
@Christoph-Hart I know it might not be ready yet, but just to help out a little bit, the last commit fails here:
-
I know it might not be ready yet, but just to help out a little bit, the last commit fails here:
Yeah I rushed the commit a bit because I changed systems, but now it should be working. I've switched the conversion process to 16x oversampling and cubic interpolation now, however if you're changing the pitch on runtime using pitch modulation some really nasty aliasing effects occur, so it's not 100% there yet.
-
@Christoph-Hart Hmm the first error above still fails
-
Damn you clang and your overly standard compliant C++ parser. Please try again :)
-
@Christoph-Hart Ok so this one's just for you from my parser :
-
OK, now I've finally reached "change one line, add one error" territory.
-
@Christoph-Hart Sorry to cause you this pain, you'll nee a "rot stier"
-
@Christoph-Hart That's us, build succeed ;) I'll test the conversion module...
-
@Christoph-Hart It seems to work well! You've made happy people over here :)
There's just a small glitch, the wave shape display seems to be stuck on the first shape, but not always. There's like a wee conflict somewhere but nothing important for now.
-
@Christoph-Hart said in Wavetable Synth:
OK, now I've finally reached "change one line, add one error" territory.
That's great, thank you so much!!
-
@Christoph-Hart Awesome work! Thank you! I’ll check this out tomorrow as soon as I can.
-
Just attempted the wavetable conversion process using HISE 2.1.0 scriptnode but found that I get a hard crash when clicking on the 'Convert samplemap to wavetable Bank' using a mac 10.12.3
Anybody else have this problem or know a solution?
Thanks