Plug-ins, Hosts, Apps,
Hardware, Soundware
Developers
(Brands)
Videos Groups
Whats's in?
Banks & Patches
Download & Upload
Music Search
KVR
   
KVR Forum » DSP and Plug-in Development
Thread Read
Wavetable Synthesis, Interpolation and Aliasing.
paoling
KVRist
- profile
- pm
- www
PostPosted: Fri May 11, 2012 2:32 pm reply with quote
Hi to all!

I'm building my little sampler, with a nice interface, mapping and so...

Now I'm going to face the big problem of ALIASING!

The sampler can open sample files from different sample rates and everything works fine, but I have some problems in downsampling that happens when pitching up sounds.

I have an cubic interpolator to handle the problem of non integer incremental values between samples.
If I put a Lowpass filter after the interpolator I get the nice effect of masking the sound of the samples and enlight the aliasing...!
So I thought: I need to put the filter BEFORE the interpolator..!
But how can I put the filter before the interpolator?

For example:

MY SAMPLES: 12 20 30 21 10 -5 -13 -30 -25 -10 -2 6 17 20

Usually if I jump every 3.5 samples, the interpolator will pick something like
20 30 21 10 and compute the middle value. If I need to prefilter do I need to filter all those 4 values?
This can be really CPU consuming...
Since interpolation is a kind of filter according to this site:
http://www.dspguru.com/dsp/faqs/multirate/interpolation

How can I design a kind of interpolation filter that can limit the bandwidth according to the frequency difference between the new samplerate and the original sample samplerate? (the whole thing will obviously output at the host sample rate).

I'm not a matemagician, I'm a musician with some deep experience about programming.

Thank you in advance,
Paolo
^ Joined: 24 Jan 2012  Member: #273585  
mystran
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri May 11, 2012 4:17 pm reply with quote
You could just use band-limited interpolation. The idea here is that you build the low-pass into the interpolator itself. It's a bit messy to explain, so I'll provide a link instead: https://ccrma.stanford.edu/~jos/resample/resample.html

There's the important theory there, as well as one possible implementation. You can probably get away with somewhat cheaper variations once you understand the basic idea.
----
<- my plugins | my music -> @Soundcloud
^ Joined: 11 Feb 2006  Member: #97939  Location: Helsinki, Finland
paoling
KVRist
- profile
- pm
- www
PostPosted: Fri May 11, 2012 4:35 pm reply with quote
Thank you so much!
^ Joined: 24 Jan 2012  Member: #273585  
All times are GMT - 8 Hours

Printable version
Page 1 of 1
Display posts from previous:   
ReplyNew TopicPrevious TopicNext Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Username: Password:  
KVR Developer Challenge 2012