Wavetable Synth
-
@ustk Samplemap to Wavetable convert is not working properly sometimes. I don't know why, maybe it is about the wave shape of the sample. But the same sample works on XFer Serum and other wavetable synthesizers.
-
Samplemap to Wavetable convert is not working properly sometimes. I don't know why, maybe it is about the wave shape of the sample. But the same sample works on XFer Serum and other wavetable synthesizers.
Yeah, obviously. The FFT Resynthesis algorithm is rather experimental. What I am trying to add right now is a system to bypass it altogether and just create the .hwt by resampling the wavetables that are mapped accordingly.
-
@Christoph-Hart Apparently we changed your plans for today
-
Yes, I am sitting on the train and can't get actual work done anyway, so why not do this stuff, it's seems to be quite some demand for it.
-
@Christoph-Hart You rock man ;)
-
@Christoph-Hart said in Wavetable Synth:
Yes, I am sitting on the train and can't get actual work done anyway, so why not do this stuff, it's seems to be quite some demand for it.
That's very kind of you, Thank you!
-
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.