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ß < [email protected]> 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. > > 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
