My first month with Juce has been great so far. I have question: I’m building the basics to build a little sampler engine in Juce. These days I’m trying to improve the linear interpolation function in the SamplerVoice class. First, it can be improved by using some of the curves on this paper:
This gives great results for pitchshifting down a note (usually 4 points are fine).
For pitchshifting up, the problem is different: due to the increasing resolution linear interpolation can be fine, but any content in the wav file that exceeds the nyqvist frequency (samplerate/2) will produce the most horrible artifacts due to the harmonics folding up and re-appearing as aliasing. Can just a pitch-dependant FIR filter on this interpolated sample solve all these problems? Is it not too heavy (considering that a sampler could play dozens of voices)?
Usually Sinc interpolation is seen as the best way to achieve a perfect quality interpolation. For what I’ve seen it seems suited the best for offline resampling and that’s why there’s plenty of material about this issue. I also know that any resampling algorhithm could be adapted for this issue, but it seems to me like using an helicopter to buy some groceries at the store next home.
Anyone got this issue solved or know some resource to look for this specific problem? (maybe code )