From the original SynthMaker forum (2004–2014), with its members’ names and dates.
DigitalWhiteByte ·
I would like to propose this project to all,
for anyone who wants to share his experience with these types of algorithms or any contributions you want to give,
and make the project an active study of the synthesis.
Here's a SM version of the third one (Quasi bandlimited OSC through FM by Peter Schoffhauzer)
Nice... 😀
DigitalWhiteByte ·
Thanks stw,
good implementation, I dive into the code 🙂
Buritsé ·
martinvicanek wrote: Buritsé, I had the idea that your single-table BLEP approach would work better with a window function to ensure a seamless transition of consecutive BLEPs. BTW, your BLEP table is sufficiently oversampled (100x) so linear interpolation is accurate. Here is the result, it is excellent up to 1/20 Ny and reasonable up to 1/5 Ny. To improve on highest frequencies you could oversample the entire oscillator like you did in your post. Another idea would be to combine 2 oscillators at half the frequency with a half cycle phase offset (that works for sawtooth). Or even more oscillators.
Hi Martin!
I forgot about this as I have another things going on. 😊
Anyway, that's really neat, I remember adding a window function before but results were worst than without! I suspect the problem was the sin function but maybe I'm wrong as I don't have all the iterations saved. I also tried linear interpolation but didn't fulfil my expectations.
So... your windowing seems to be the key here... or I did something wrong then! Will try to add it and see how it works with my last iteration. Looks promising. 🙂
For the time being I'm attaching my last iteration just to show you where I left it ( and buying some time to refresh my head about this stuff )...
...oh, and give you all some goodies! 😉
MegaHurtz ·
Intuetively I kind of like the first and second versions, especially the first.
Too bad the resonant frequency will always be purposely annoying in dsp, but I really digg the scanning noise it makes 🙂
Would be cool to have an iir bandlimit.
Buritsé ·
MegaHurtz wrote: Intuetively I kind of like the first and second versions, especially the first.
Hahaha... MegaHurtz, you remind me a friend of mine, he always likes the artefacts. 😀
Too bad the resonant frequency will always be purposely annoying in dsp, but I really digg the scanning noise it makes 🙂
Would be cool to have an iir bandlimit.
Well, while technically incorrect, I do recognize I like it too. I remember there was a vsti that used aliasing as the body sound but never tried it.
One idea I had time ago was a kind of pitch-dependant resampling for a synth. The concept was: if we make the oscillator work at a pitch-multiple sampling rates, then we could make aliasing to fall harmonically, in strange patterns, or masked by the exisiting harmonics... we could even use it to create weird modulations as the "scanning noise".
It'd be just another option to play with.
Maybe is this what you meant with the IIR bandlimit? A real-time control of nyquist?
MegaHurtz ·
To make the aliassing harmonic is cool indeed, that way it wouldn't matter.
In theory you can do similar stuff using a combfilter, only in reality it's practical application of combfiltering
just makes the sound louder. 🙁
On a drift I was thinking it may be possible do an interpolation based on each top sample being represented as a sinewave, and interpolated at the niquist frequency. Where each pitch at these frequencys yields a float coordinate
in respect to an integer pitch value (or at least the distance between the last few steps). So it generates an estimate sample amplitude based on a mix of sinewaves which are represented way outside the audible domain.
And are mixed together to form a single sample again.
But here I am posting on the Synthmaker forum while I got a business plan to write.. So it may take a while to get back on this. 🙂
Buritsé ·
MegaHurtz wrote: But here I am posting on the Synthmaker forum while I got a business plan to write.. So it may take a while to get back on this. 🙂
Don't worry... if I could write down in code the mechanism that drives my brain I'd have the best reverberation ever.
😀
Buritsé ·
OK, first impressions after checking & mixing Martin's code with mine.
If I use the window with my versions the improvement is only fractions of a db, so it seems the difference it's not there but in the index calculations.
That's funny as I had the feeling something was wrong there.
Obviously it's stupid to keep trying to mix Martin's version with mine, from now on I'll just add the stereo table trick and oversample to see how good it can get with just one table. Then we'll see if it's necessary to add more tables.
Nice work, Martin! 🙂
MegaHurtz ·
Cant really knock some off, it already uses the tricks in my book 🙂
But it looks excellent.
Wrote something here? To have a post removed or your name hidden, write to [email protected].