Urs wrote: Not going much into detail, I create the wavetables "on demand" by iFFT, whenever the current one does not reflect the actual circumstances (i.e. tuning changed, impact of FM changed, waveform changed). Then, I just fade between old wavetable and new wavetable.
Alias Free Oscs, band limiting, and downsampling
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
- u-he
- 30192 posts since 8 Aug, 2002 from Berlin
Yeah, but never *every* sample, of courseBorogove wrote:Urs wrote: Not going much into detail, I create the wavetables "on demand" by iFFT, whenever the current one does not reflect the actual circumstances (i.e. tuning changed, impact of FM changed, waveform changed). Then, I just fade between old wavetable and new wavetable.
Well... I've got pretty good results for an antialiased subset of FM Synthesis this way: Every 2000 or so samples, you just render the non-bandlimited FM algo into a wavetable of length 2048 or 4096. Then FFT. Then, clear out all bins that would cause aliasing. Set DC bin to zero. iFFT.
This doesn't correctly play back inharmonic FM stuff (it's more like hard synced FM, hehehe), nor does it reproduce very fast modulations accurately. But you can create some pretty exciting waveforms and movements with that...
FilterscapeVA has a waveform called "Feedback". It renders a sine that phasemodulates itself. This is the common way to model a sawtooth in FM. If the modulation amount is too high, you typically get weird aliasing noise. But since the aliasing noise becomes *cyclic* due to the use of a wavetable, the result is just another waveform (but sweeps tend to sound weird in that region, admittedly):
Wavetable_FM_example.mp3
What do you think?
-
Spaceman Sounds Spaceman Sounds https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=56830
- KVRian
- 580 posts since 3 Feb, 2005
After hating Kontakt's aliasing for ages, I found that working at 96khz gives you 1 and a bit octaves of total none aliasing problems for sample transposition.
1 -60db of aliasing noise might sound ok in theory but if you use the same engine to power a tune 30 - 40 notes of -60db soon adds up. I really think that all synths should have an uber upsampling option for exporting when working at 44.1khz.
I also feel that 44.1 khz aliasing on vsti's is what give vsti's that ...well...vsti digital samey sound that people moan about. 96khz is a lot to ask of your pc when working on a project, but I think the rewards outway the cpu loss. Anyway it's nice to have limits on how many vsti's you can use...sometimes we have too much power and mess tunes up
1 -60db of aliasing noise might sound ok in theory but if you use the same engine to power a tune 30 - 40 notes of -60db soon adds up. I really think that all synths should have an uber upsampling option for exporting when working at 44.1khz.
I also feel that 44.1 khz aliasing on vsti's is what give vsti's that ...well...vsti digital samey sound that people moan about. 96khz is a lot to ask of your pc when working on a project, but I think the rewards outway the cpu loss. Anyway it's nice to have limits on how many vsti's you can use...sometimes we have too much power and mess tunes up
- u-he
- 30192 posts since 8 Aug, 2002 from Berlin
Well, some hosts like Live already do this for you. They simply render at twice the original samplerate when bouncing offlineSpaceman Sounds wrote:I really think that all synths should have an uber upsampling option for exporting when working at 44.1khz.
Cheers,
-
Spaceman Sounds Spaceman Sounds https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=56830
- KVRian
- 580 posts since 3 Feb, 2005
-
- KVRian
- 1399 posts since 29 Feb, 2004
----Leave Urs alone for crying out loud,he's trying to get Filterscape finished and out for us lowly Pc users
Jeff
Jeff
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
No, I get it. That's a pretty elegant approach, actually, and it just gets more sensible as CPUs get fasterUrs wrote:Yeah, but never *every* sample, of courseBorogove wrote:Urs wrote: Not going much into detail, I create the wavetables "on demand" by iFFT...- It's got some kinda lag.
-
- KVRian
- 1002 posts since 1 Dec, 2004
Hmm, nah, I don't think that's what gives the vsti samey sound. I'd say it's more like the Oscillator -> Filter -> Chorus -> Reverb setup, which is a great setup but it's being so overused. :)I also feel that 44.1 khz aliasing on vsti's is what give vsti's that ...well...vsti digital samey sound that people moan about.
Yeah, but you have to remember that 30-40 notes of 0db add up to mask it all out. :)1 -60db of aliasing noise might sound ok in theory but if you use the same engine to power a tune 30 - 40 notes of -60db soon adds up.
- u-he
- 30192 posts since 8 Aug, 2002 from Berlin
Yeah. I think people demand higher quality and the new machines give us plenty of room for experiments.Borogove wrote:No, I get it. That's a pretty elegant approach, actually, and it just gets more sensible as CPUs get fasterUrs wrote:Yeah, but never *every* sample, of courseBorogove wrote:Urs wrote: Not going much into detail, I create the wavetables "on demand" by iFFT...- It's got some kinda lag.
You know, I used to use mip-mapped wavetables, but the new dynamic approach... it's a blast! I mean, you can just combine polynominal waveform creation with additive stuff... I even have waveforms that do several passes, like additive/iFFT->phasemodulation->FFT->bandlimiting->iFFT, and it still doesn't bring a contemporary cpu down
Stuff like this really opens up new possibilities.
I think that many people concentrated on the filters to add that certain drive and sound, but maybe we'll see a renaissance of tweaking the oscillators to create a bit more life than they used to provide...
-
- KVRian
- 922 posts since 26 Mar, 2003 from Guildford, England
Its a shame that some effects / synths sound completely different at different samplerates, and any effort you put into getting the mix right is usually scuppered by changing the sample rate at the last minute.Urs wrote: Well, some hosts like Live already do this for you. They simply render at twice the original samplerate when bouncing offline![]()
Which then means that you need to redo the mix at the higher samplerate, which is not possible, because the cpu was already maxed out at 44.1KHz!
Can't wait for those new 'cell' processors to come out. Should be capable of something like 250 gflops... I'd definately dump the pc for one of those!!!
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
Agreed. You know how the Karplus-Strong model involves using a delay line/wavetable but tweaking it on every pass (filtering or averaging to go from bright to dull spectrum, randomizing or inverting samples to add richness to the spectrum)? I'm now thinking about applying those sorts of approaches in the frequency domain...Urs wrote:I think that many people concentrated on the filters to add that certain drive and sound, but maybe we'll see a renaissance of tweaking the oscillators to create a bit more life than they used to provide...
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
-
- KVRian
- 1002 posts since 1 Dec, 2004
By the way, for "anti-aliased" FM there's an easier and faster way - if you do the FM synthesis at a sample rate that's a multiple of the note freq, the reflected frequencies should line up with the frequencies already present, so you won't get the "metallic" sound of alias. :) After that you just resample the output to the target sample rate (ie 44.1khz) using your favourite algo.
-
- KVRAF
- 8389 posts since 11 Apr, 2003 from back on the hillside again - but now with a garden!
Nice idea, that.. might try itMadBrain wrote:By the way, for "anti-aliased" FM there's an easier and faster way - if you do the FM synthesis at a sample rate that's a multiple of the note freq, the reflected frequencies should line up with the frequencies already present, so you won't get the "metallic" sound of alias.After that you just resample the output to the target sample rate (ie 44.1khz) using your favourite algo.
DSP
-
- KVRian
- 709 posts since 16 Dec, 2005 from Novato, California, USA
1. No VSTi:s will run on the celltexture wrote:Can't wait for those new 'cell' processors to come out. Should be capable of something like 250 gflops... I'd definately dump the pc for one of those!!!
2. Few have an idea of the performance of the cell yet.
Don't sell your PC just yet


