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.

https://we.tl/t-HYsWQww10V

cheers!

Quoting Alexandre Torres Porres <por...@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 <por...@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 <
por...@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 <
por...@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 <
por...@gmail.com> escreveu:

Hi, quick updates and developments over my weekend


On Thursday, 3 January 2019, 04:19:50 GMT, Alexandre Torres Porres <
por...@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








_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to