[music-dsp] AMDF shortcuts for SOLA time stretching?

alexander lerch lerch at zplane.de
Tue Apr 22 05:16:19 EDT 2008


Right, you won't avoid spikes as you need an FFT size longer than 64 
samples. In a few of our interfaces, we offer to split one process-call 
into several to smooth out those peaks.

But it's hard for me to imagine a decent time-stretching with constant 
workload at low buffer sizes - and probably low latency as well? Good 
luck...

Cheers,
Alexander

Ross Bencina wrote:
> Hi Alexander
>> Well, who would compute an ACF in the time domain anyway? ;)
> 
> 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 ;-)
> 
> Best wishes
> 
> Ross.
> 
>>> I'm wondering though, when you talk about "workload" are you 
>>> including both the analysis and resynthesis workloads? I notice your 
>>> web pages talk about optionally pre-computing the analysis step..
>>
>> For the PSOLA-type stretching, you can separate the pitch mark 
>> computation from the synthesis and run the synthesis alone with very 
>> insignificant workload. But for a phase-vocoder, we don't separate 
>> analysis and synthesis - it's only one processing step. When I 
>> compared workload, I was referring to both algorithms doing analysis 
>> and synthesis at "the same time".
>>
>> Best,
>> Alexander
>>
>>> ----- Original Message ----- From: "alexander lerch" <lerch at zplane.de>
>>> To: "A discussion list for music-related DSP" 
>>> <music-dsp at music.columbia.edu>
>>> Sent: Tuesday, April 22, 2008 12:44 AM
>>> Subject: Re: [music-dsp] AMDF shortcuts for SOLA time stretching?
>>>
>>>
>>>> Hi Ross,
>>>>
>>>> Ross Bencina wrote:
>>>>> My extremely vague impression is that a good 
>>>>> spectral-peak-processing time stretcher (such as the one published 
>>>>> by Jordi Bonada in 2001 I think) consumes about 50% of a current 
>>>>> generation IA32 CPU -- that's extrapolating from how it was 
>>>>> performing in 2001.
>>>>
>>>> That's not necessarily true I would say, but heavily depends on how 
>>>> you optimize it (algorithmically and CPU-wise). As for our 
>>>> time-stretching engines, our PSOLA based approach (élastique 
>>>> SOLOIST) roughly takes as much workload as our phase vocoder based 
>>>> engine (élastique efficient) in a "real-time" situation, and you can 
>>>> run far more than two instances at once for both of them.
>>>>
>>>> Cheers,
>>>> Alexander
>>
>> -- 
>> dipl. ing.
>> alexander lerch
>>
>> zplane.development
>> :www.zplane.de
>> katzbachstr.21
>> d-10965 berlin
>>
>> fon: +49.30.854 09 15.0
>> fax: +49.30.854 09 15.5
>> -- 
>> dupswapdrop -- the music-dsp mailing list and website: subscription 
>> info, FAQ, source code archive, list archive, book reviews, dsp links 
>> http://music.columbia.edu/cmc/music-dsp 
>> http://music.columbia.edu/mailman/listinfo/music-dsp
>>
> -- 
> dupswapdrop -- the music-dsp mailing list and website: subscription 
> info, FAQ, source code archive, list archive, book reviews, dsp links 
> http://music.columbia.edu/cmc/music-dsp 
> http://music.columbia.edu/mailman/listinfo/music-dsp
> 

-- 
dipl. ing.
alexander lerch

zplane.development
:www.zplane.de
katzbachstr.21
d-10965 berlin

fon: +49.30.854 09 15.0
fax: +49.30.854 09 15.5


More information about the music-dsp mailing list