Pitch Shifting Uses a lot of CPU resources

Hey Guy,
I’m currently working on a Reverb plugin, in which there are LowPass, HighPass, Slope HP/LP and Pitch Shifting, In the Reverb signal in this plugin. But now I’m running into a problem when I add the Pitch parameter to my plugin. It resulted in this plugin being very resource intensive (Using CPU > 90%). Now I have tried a solution by reducing the number of iterative loops, but it doesn’t get better. Is there a way to make the plugin use less resources?

Thank you,
James

Well… how are you doing this pitch shifting? Is it some sort of resampling algorithm, or a granular/wavelet approach? Or something frequency domain…?

In general, you can and should use SIMD wherever possible. Juce’s FloatVectorOperations provide a lot of handy functions, but you can take it further. Intel’s IPP and Apple Accelerate both provide a lot more than just what FloatVectorOperations implements. The MIPP library is great for vectorizing any kind of custom processing.

But then again, I don’t really know exactly what kind of processing you’re doing.