<div dir="ltr"><div dir="ltr">yeah, I also get lots of glitches and artifacts with a 64 minimum window. I have to increase the delay up to 50ms so I get rid of them, which is kinda bad, even though it seems incredibly efficient. </div><div dir="ltr"><br></div><div>Brent is not using gardner's approach I assume. And what this does is that it increases the window over and over in the following partitions, this is why it gets so much lighter on the CPU</div><div><br></div><div>cheers </div></div><br><div class="gmail_quote"><div dir="ltr">Em qua, 9 de jan de 2019 às 07:47, Roman Haefeli <<a href="mailto:reduzent@gmail.com">reduzent@gmail.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi<br>
<br>
It performs even better than William Brent's [convolve~] external, even<br>
with small delays. When both set to 256, I get 9% load vs. 26%.<br>
<br>
However, I get artefacts with a setting of 64 samples. When loading the<br>
various IRs, the result sometimes sounds glitchy. Setting of 128 or<br>
higher are always fine, regardless of IR.<br>
<br>
Also with the church.wav and a setting of 64 you can hear the glitches<br>
by feeding it a [phasor~ 5].<br>
<br>
BTW: I can load many instances just fine (Pd 0.49 on Linux amd64)<br>
<br>
Thanks for sharing!<br>
<br>
Roman<br>
<br>
On Tue, 2019-01-08 at 22:54 +0100, Philipp Schmalfuß wrote:<br>
> Hi Alexandre,<br>
> <br>
> i made a pd-vanilla abstraction for real time convolution a while<br>
> ago.  <br>
> it is part of a collection of pd abstractions that i am planning to  <br>
> share with the community, soon...<br>
> it loosely follows gardner's approach  <br>
> <a href="http://www.cs.ust.hk/mjg_lib/bibs/DPSu/DPSu.Files/Ga95.PDF" rel="noreferrer" target="_blank">http://www.cs.ust.hk/mjg_lib/bibs/DPSu/DPSu.Files/Ga95.PDF</a><br>
> <br>
> with this, i get about 8-10% cpu-load with the church-IR and 64  <br>
> samples min. fft-blocksize on an old lenovo t430 running linux.  <br>
> however, i get the ugly clicks when i have more than one instance<br>
> of  <br>
> the abstraction running and on windows it causes pd-crashes, so i'm  <br>
> not perfectly happy.<br>
> i think it could be improved a lot by precomputing the IR like in<br>
> your patch.<br>
> <br>
> <a href="https://we.tl/t-HYsWQww10V" rel="noreferrer" target="_blank">https://we.tl/t-HYsWQww10V</a><br>
> <br>
> cheers!<br>
> <br>
> Quoting Alexandre Torres Porres <<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>>:<br>
> <br>
> > Bug, for some reason, you may need to recreate the object so the<br>
> > sound<br>
> > comes out. I have no idea yet why...<br>
> > <br>
> > Em ter, 8 de jan de 2019 às 14:52, Alexandre Torres Porres <<br>
> > <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>><br>
> > escreveu:<br>
> > <br>
> > > oops, I hads uploaded the wrong file, here's the hopefully<br>
> > > correct and<br>
> > > last word on it<br>
> > > <br>
> > > <a href="https://www.dropbox.com/s/05xl7ml171noyjq/convolution~.zip?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/05xl7ml171noyjq/convolution~.zip?dl=0</a><br>
> > > <br>
> > > and my CPU load is actually at about 57%, not 50%<br>
> > > <br>
> > > The last file I uploaded was using a compiled object to perform<br>
> > > the<br>
> > > complex multiplication and that helped a little with the<br>
> > > efficiency. I'm<br>
> > > gonna use it for my non vanilla abstraction that I'm bringing<br>
> > > into my ELSE<br>
> > > library.<br>
> > > <br>
> > > cheers<br>
> > > <br>
> > > <br>
> > > <br>
> > > Em ter, 8 de jan de 2019 às 14:13, Alexandre Torres Porres <<br>
> > > <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>> escreveu:<br>
> > > <br>
> > > > Ok, here's the new deal...<br>
> > > > <br>
> > > > <a href="https://www.dropbox.com/s/l69gzv98g3th5d1/conv.rev~.zip?dl=0" rel="noreferrer" target="_blank">https://www.dropbox.com/s/l69gzv98g3th5d1/conv.rev~.zip?dl=0</a><br>
> > > > <br>
> > > > there are two subpatches for testing, one is light with a<br>
> > > > relative big<br>
> > > > window partition (1024) and a short Impulse Response (2 secs).<br>
> > > > <br>
> > > > The other is quite heavy, it's an 8 sec long IR with a window<br>
> > > > size of<br>
> > > > 512! This one takes just a bit over 50% of my CPU power, and<br>
> > > > I'm on a last<br>
> > > > generation macbook pro (2.6Ghz processor)... but I need to<br>
> > > > increase the<br>
> > > > Delay (msec) from 5 to 10 in the audio settings, otherwise I<br>
> > > > get terrible<br>
> > > > clicks!<br>
> > > > <br>
> > > > William Brent's convolve is ridiculously much more efficient,<br>
> > > > the same<br>
> > > > parameters take about 14% of my CPU power and I can use a delay<br>
> > > > of 5 ms in<br>
> > > > the audio settings.<br>
> > > > <br>
> > > > But anyway, this is useful for teaching and apps that implement<br>
> > > > a light<br>
> > > > convolution reverb (short IR/not too short window) need pure<br>
> > > > vanilla<br>
> > > > (libpd/camomille and stuff)<br>
> > > > <br>
> > > > Cheers!<br>
> > > > <br>
> > > > Em dom, 6 de jan de 2019 às 14:25, Alexandre Torres Porres <<br>
> > > > <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>> escreveu:<br>
> > > > <br>
> > > > > Meanwhile, I deleted the original file so people can't get it<br>
> > > > > anymore :)<br>
> > > > > <br>
> > > > > Em dom, 6 de jan de 2019 às 14:16, Alexandre Torres Porres <<br>
> > > > > <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>> escreveu:<br>
> > > > > <br>
> > > > > > Hi, quick updates and developments over my weekend<br>
> > > > > > <br>
> > > > > > <br>
> > > > > > > On Thursday, 3 January 2019, 04:19:50 GMT, Alexandre<br>
> > > > > > > Torres Porres <<br>
> > > > > > > <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>> wrote:<br>
> > > > > > > <br>
> > > > > > > what you think, is it working?<br>
> > > > > > <br>
> > > > > > <br>
> > > > > > So, the patch/algorithm was wrong and I've fixed<br>
> > > > > > <br>
> > > > > > <br>
> > > > > > > Both objects on the help file take about 40% of my CPU<br>
> > > > > > > power, but I'm<br>
> > > > > > > on a wild machine<br>
> > > > > > > <br>
> > > > > > <br>
> > > > > > I was able to do a few more things and make it much more<br>
> > > > > > efficient<br>
> > > > > > <br>
> > > > > > <br>
> > > > > > > I tried the idea of having each partition work with FFT<br>
> > > > > > > saved on<br>
> > > > > > > tables, so we wouldn't need to perform FFTs in different<br>
> > > > > > > instances of<br>
> > > > > > > clone, but that doesn't seem to be possible.<br>
> > > > > > <br>
> > > > > > <br>
> > > > > > This is because things were wrong, like I said, now that<br>
> > > > > > I've fixed it,<br>
> > > > > > that was possible.<br>
> > > > > > <br>
> > > > > > But my current version is not vanilla anymore, as I'm<br>
> > > > > > developing this<br>
> > > > > > object to include it in my "ELSE" library. Once I'm done<br>
> > > > > > I'll try to make<br>
> > > > > > another vanilla compatible abstraction and re share it!<br>
> > > > > > <br>
> > > > > > Cheers<br>
> > > > > > <br>
> <br>
> <br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> <a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
> UNSUBSCRIBE and account-management -> <br>
> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>