Well, it's hard to remake it slowly enough so that it doesn't happen in real time :-) One of the best and still fast solutions is to promote FFT and then reverse FFT with any sample rate you need.
You can implement this yourself or copy and paste any FFT implementation.
It can work as 100x in real time or faster, not sure if you need 1000 times faster (in this case you can go for linear or bicubic interpolation) :-)
source share