Hi It performs even better than William Brent's [convolve~] external, even with small delays. When both set to 256, I get 9% load vs. 26%.
However, I get artefacts with a setting of 64 samples. When loading the various IRs, the result sometimes sounds glitchy. Setting of 128 or higher are always fine, regardless of IR. Also with the church.wav and a setting of 64 you can hear the glitches by feeding it a [phasor~ 5]. BTW: I can load many instances just fine (Pd 0.49 on Linux amd64) Thanks for sharing! Roman On Tue, 2019-01-08 at 22:54 +0100, Philipp Schmalfuß wrote: > 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 <[email protected]>: > > > 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 < > > [email protected]> > > 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 < > > > [email protected]> 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 < > > > > [email protected]> 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 < > > > > > [email protected]> escreveu: > > > > > > > > > > > Hi, quick updates and developments over my weekend > > > > > > > > > > > > > > > > > > > On Thursday, 3 January 2019, 04:19:50 GMT, Alexandre > > > > > > > Torres Porres < > > > > > > > [email protected]> 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 > > > > > > > > > > > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
