[PD] vanilla partitioned convolution abstraction

Alexandre Torres Porres porres at gmail.com
Tue Jan 8 23:25:51 CET 2019


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 at 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.
>
> https://we.tl/t-HYsWQww10V
>
> cheers!
>
> Quoting Alexandre Torres Porres <porres at 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 at 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 at 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 at 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 at gmail.com> escreveu:
> >>>>
> >>>>> Hi, quick updates and developments over my weekend
> >>>>>
> >>>>>
> >>>>>> On Thursday, 3 January 2019, 04:19:50 GMT, Alexandre Torres Porres <
> >>>>>> porres at 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
> >>>>>
> >>>>
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20190108/57e8a639/attachment.html>


More information about the Pd-list mailing list