[music-dsp] AMDF shortcuts for SOLA time stretching?
Richard Dobson
richarddobson at blueyonder.co.uk
Tue Apr 22 05:41:37 EDT 2008
Laurent de Soras [Ohm Force] wrote:
> Hi Ross
>> Well.. if your synthesis buffer size (ie hardware buffer size) is on
>> the order of 64 samples, may not be a multiple of your FFT frame rate,
>> and may vary (eg if you're a plugin) then doing longish FFTs without
>> CPU spikes/irregularities is obviously a non-trivial matter. Either
>> I'm ignorant of something you can tell me, or you have a nice FFT
>> implementation that gives constant CPU load ;-)
>
Having made several pvoc-based plugins over the years, I have to confess
that the CPU spikes have never proved especially troublesome; indeed
most DAWs don't even show them (a slight wobble of a few percentage
points perhaps). Most users desperately want as low a latency as
possible (may not be so relevant for time-stretching, depending on the
final focus of the application), so would prefer the odd spike over
increased delay.
The only alternative, for really smooth CPU load, is the sliding pvoc
(hopsize = 1)**. Never tried it for time-scaling (resynthesis is by
oscillator bank), but as the analysis rate is the same as the sample
rate you need something like a 50Gflop machine (it's an O(N) process) to
do any transformations in real time (an 8-core mac pro ~might~ just
manage it). But latency will be appreciably lower, and the load, while
epic, will be very smooth!
Richard Dobson
**e.g. as described here (and implemented in Csound):
http://dream.cs.bath.ac.uk/SDFT/index.html
More information about the music-dsp
mailing list