That's amazing, I was just discussing with Matt Barber about how to do a patch following Gardner's approach :)
that was gonna be my next step, and I can see how much more efficient it gets! I'll definitely check it out and follow that approach
cheers
Em ter, 8 de jan de 2019 às 19:54, Philipp Schmalfuß < philipp.schmalfuss@uni-weimar.de> escreveu:
Hi Alexandre,
i made a pd-vanilla abstraction for real time convolution a while ago. it is part of a collection of pd abstractions that i am planning to share with the community, soon... it loosely follows gardner's approach http://www.cs.ust.hk/mjg_lib/bibs/DPSu/DPSu.Files/Ga95.PDF
with this, i get about 8-10% cpu-load with the church-IR and 64 samples min. fft-blocksize on an old lenovo t430 running linux. however, i get the ugly clicks when i have more than one instance of the abstraction running and on windows it causes pd-crashes, so i'm not perfectly happy. i think it could be improved a lot by precomputing the IR like in your patch.
cheers!
Quoting Alexandre Torres Porres porres@gmail.com:
Bug, for some reason, you may need to recreate the object so the sound comes out. I have no idea yet why...
Em ter, 8 de jan de 2019 às 14:52, Alexandre Torres Porres <
porres@gmail.com>
escreveu:
oops, I hads uploaded the wrong file, here's the hopefully correct and last word on it
https://www.dropbox.com/s/05xl7ml171noyjq/convolution~.zip?dl=0
and my CPU load is actually at about 57%, not 50%
The last file I uploaded was using a compiled object to perform the complex multiplication and that helped a little with the efficiency. I'm gonna use it for my non vanilla abstraction that I'm bringing into my
ELSE
library.
cheers
Em ter, 8 de jan de 2019 às 14:13, Alexandre Torres Porres < porres@gmail.com> escreveu:
Ok, here's the new deal...
https://www.dropbox.com/s/l69gzv98g3th5d1/conv.rev~.zip?dl=0
there are two subpatches for testing, one is light with a relative big window partition (1024) and a short Impulse Response (2 secs).
The other is quite heavy, it's an 8 sec long IR with a window size of 512! This one takes just a bit over 50% of my CPU power, and I'm on a
last
generation macbook pro (2.6Ghz processor)... but I need to increase the Delay (msec) from 5 to 10 in the audio settings, otherwise I get
terrible
clicks!
William Brent's convolve is ridiculously much more efficient, the same parameters take about 14% of my CPU power and I can use a delay of 5
ms in
the audio settings.
But anyway, this is useful for teaching and apps that implement a light convolution reverb (short IR/not too short window) need pure vanilla (libpd/camomille and stuff)
Cheers!
Em dom, 6 de jan de 2019 às 14:25, Alexandre Torres Porres < porres@gmail.com> escreveu:
Meanwhile, I deleted the original file so people can't get it anymore
:)
Em dom, 6 de jan de 2019 às 14:16, Alexandre Torres Porres < porres@gmail.com> escreveu:
Hi, quick updates and developments over my weekend
> On Thursday, 3 January 2019, 04:19:50 GMT, Alexandre Torres Porres < > porres@gmail.com> wrote: > > what you think, is it working?
So, the patch/algorithm was wrong and I've fixed
> Both objects on the help file take about 40% of my CPU power, but
I'm
> on a wild machine >
I was able to do a few more things and make it much more efficient
> I tried the idea of having each partition work with FFT saved on > tables, so we wouldn't need to perform FFTs in different instances
of
> clone, but that doesn't seem to be possible.
This is because things were wrong, like I said, now that I've fixed
it,
that was possible.
But my current version is not vanilla anymore, as I'm developing this object to include it in my "ELSE" library. Once I'm done I'll try to
make
another vanilla compatible abstraction and re share it!
Cheers