[partconv~] ought to do this as well, but with some discontinuity or dropout on repartition, depending on the kernel size. I agree there ought to be a clear method for [delwrite~].
On Tue, Dec 8, 2015 at 1:24 PM, Christof Ressi <christof.re...@gmx.at> wrote: > >> we have to clean the delay buffers somehow > >> Now, can you do that in pd? > > That's a good question! > > What you could do is to build a custom delay line with tables and then sum > them as you need. > > In meantime: Here's a classic FIR solution for a moving average filter > (the maximum size is hard coded to 256, but you can change this). Here you > can set the number of samples dynamically with clearly less distortion. > Note though, that this kind of filter becomes more and more computationally > expensive for large numbers of samples (anything above 256), because FIR~ > (from iemlib) performs time domain convolution. > > The recursive version with [z~] and [rpole~] is certainly the cheapest and > fastest of all, but there's nothing like a free meal :-). > > Cheers > > > > Gesendet: Dienstag, 08. Dezember 2015 um 19:10 Uhr > Von: "Alexandre Torres Porres" <por...@gmail.com> > An: "Christof Ressi" <christof.re...@gmx.at> > Cc: "pd-list@lists.iem.at" <pd-list@lists.iem.at> > Betreff: Re: Re: Re: Re: [PD] Moving Sum object? > > > I'm not sure why the other patches don't work but this does. > > I got it, you'd need to clear the other delay buffers as well, not the > feedback only! > > so we can do this with fexpr~ for up half the block size, we could expand > this limit with delay lines, but if we want to do it with delay lines, we > have to clean the delay buffers somehow > > Now, can you do that in pd? > > 2015-12-08 15:54 GMT-02:00 Alexandre Torres Porres <por...@gmail.com>: > I just wish we could make it work over the half block limit, and I'm not > sure why the other patches don't work but this does. > > > 2015-12-08 15:53 GMT-02:00 Alexandre Torres Porres <por...@gmail.com[ > por...@gmail.com]>: > here's a better patch > > > 2015-12-08 15:44 GMT-02:00 Alexandre Torres Porres <por...@gmail.com[ > por...@gmail.com]>: > > I've made it work with this design in fexpr, but it's only good up to half > the block size > > > > 2015-12-08 15:21 GMT-02:00 Alexandre Torres Porres <por...@gmail.com[ > por...@gmail.com]>: > As I say in the attached patch; problem is that whenever you change the > number of samples without clearing or clearing the filter, it goes crazy... > > not sure how to fix this. > > cheers > > > > 2015-12-08 10:40 GMT-02:00 Christof Ressi <christof.re...@gmx.at[ > christof.re...@gmx.at]>:the filter is working perfectly well for me. send > me your testing patch. > > > > Gesendet: Dienstag, 08. Dezember 2015 um 13:36 Uhr > Von: "Alexandre Torres Porres" <por...@gmail.com[por...@gmail.com]> > An: "Christof Ressi" <christof.re...@gmx.at[christof.re...@gmx.at]> > Cc: "pd-list@lists.iem.at[pd-list@lists.iem.at]" <pd-list@lists.iem.at[ > pd-list@lists.iem.at]> > Betreff: Re: Re: Re: [PD] Moving Sum object? > > not sure this is working either, I'm getting negative values when testing > it with count~ (only positive values) > > 2015-12-08 10:30 GMT-02:00 Christof Ressi <christof.re...@gmx.at[ > christof.re...@gmx.at]>:It certainly is and I have no idea how that > happened :-D. but it has no effect whatsoever. just delete the connection. > > > Gesendet: Dienstag, 08. Dezember 2015 um 13:20 Uhr > Von: "Alexandre Torres Porres" <por...@gmail.com[por...@gmail.com][ > por...@gmail.com[por...@gmail.com]]> > An: "Christof Ressi" <christof.re...@gmx.at[christof.re...@gmx.at][ > christof.re...@gmx.at[christof.re...@gmx.at]]> > Cc: "pd-list@lists.iem.at[pd-list@lists.iem.at][pd-list@lists.iem.at[ > pd-list@lists.iem.at]]" <pd-list@lists.iem.at[pd-list@lists.iem.at][ > pd-list@lists.iem.at[pd-list@lists.iem.at]]> > Betreff: Re: Re: [PD] Moving Sum object? > > what was the purpose of the output from the max object into rpole~ in your > patch? that's a bug, right? > > cheers > > 2015-12-08 9:50 GMT-02:00 Christof Ressi <christof.re...@gmx.at[ > christof.re...@gmx.at][christof.re...@gmx.at[christof.re...@gmx.at]]>: > > Or are you talking about a object that outputs the sum as a message? In > that case just use [cmavg~] or [maverage~] with [snapshot~]. If you just > want the sum of a signal vector, there are some objects in zexy that will > do the job, like [avg~] or [pack~]+[sum] > > > Gesendet: Dienstag, 08. Dezember 2015 um 12:41 Uhr > Von: "Christof Ressi" <christof.re...@gmx.at[christof.re...@gmx.at][ > christof.re...@gmx.at[christof.re...@gmx.at]][christof.re...@gmx.at[ > christof.re...@gmx.at][christof.re...@gmx.at[christof.re...@gmx.at]]]> > > An: "Alexandre Torres Porres" <por...@gmail.com[por...@gmail.com][ > por...@gmail.com[por...@gmail.com]][por...@gmail.com[por...@gmail.com][ > por...@gmail.com[por...@gmail.com]]]> > Cc: "pd-list@lists.iem.at[pd-list@lists.iem.at][pd-list@lists.iem.at[ > pd-list@lists.iem.at]][pd-list@lists.iem.at[pd-list@lists.iem.at][ > pd-list@lists.iem.at[pd-list@lists.iem.at]]]" <pd-list@lists.iem.at[ > pd-list@lists.iem.at][pd-list@lists.iem.at[pd-list@lists.iem.at]][ > pd-list@lists.iem.at[pd-list@lists.iem.at][pd-list@lists.iem.at[ > pd-list@lists.iem.at]]]> > Betreff: Re: [PD] Moving Sum object? > > Well, a linear moving average filter is just something that sums a series > of samples. If you don't want the average but rather the true sum, either > multiply the output by the number of samples or take my abstraction and get > rid of the [/~] object. > > > Gesendet: Dienstag, 08. Dezember 2015 um 12:21 Uhr > Von: "Alexandre Torres Porres" <por...@gmail.com[por...@gmail.com][ > por...@gmail.com[por...@gmail.com]][por...@gmail.com[por...@gmail.com][ > por...@gmail.com[por...@gmail.com]]]> > An: "Christof Ressi" <christof.re...@gmx.at[christof.re...@gmx.at][ > christof.re...@gmx.at[christof.re...@gmx.at]][christof.re...@gmx.at[ > christof.re...@gmx.at][christof.re...@gmx.at[christof.re...@gmx.at]]]> > Cc: "Matt Barber" <brbrof...@gmail.com[brbrof...@gmail.com][ > brbrof...@gmail.com[brbrof...@gmail.com]][brbrof...@gmail.com[ > brbrof...@gmail.com][brbrof...@gmail.com[brbrof...@gmail.com]]]>, " > pd-list@lists.iem.at[pd-list@lists.iem.at][pd-list@lists.iem.at[ > pd-list@lists.iem.at]][pd-list@lists.iem.at[pd-list@lists.iem.at][ > pd-list@lists.iem.at[pd-list@lists.iem.at]]]" <pd-list@lists.iem.at[ > pd-list@lists.iem.at][pd-list@lists.iem.at[pd-list@lists.iem.at]][ > pd-list@lists.iem.at[pd-list@lists.iem.at][pd-list@lists.iem.at[ > pd-list@lists.iem.at]]]> > Betreff: Re: Re: [PD] Moving Sum object? > > cool guys, but i was asking for an average "sum" object :) > > 2015-12-08 9:19 GMT-02:00 Christof Ressi <christof.re...@gmx.at[ > christof.re...@gmx.at][christof.re...@gmx.at[christof.re...@gmx.at]]>:Hey > Matt, > > there's no need for the feedback path (and therefore no [block~ 1] ;-)) > > Just use the following formula: > > y[n] = (y[n-1] - x[n-k])/k > > where k is the number of samples to be averaged (must be at least 1). see > the patch I sent to Alex in my last mail. > it uses [rpole~ 1] for the y[n-1] part and [z~ k] for the x[n-k] part (you > can replace the latter one with a [delwrite~] [delread~] pair to make it > purely vanilla). > > The funny thing about linear moving average filters is, that although it > can be implemented as a recursive filter (like in both our patches), it is > still a FIR filter (and therefore it defeats the notion that recursive > filters are always IIR filters). The impulse response is just a rectangular > pulse and therefore finite. > > > > Gesendet: Dienstag, 08. Dezember 2015 um 07:13 Uhr > Von: "Matt Barber" <brbrof...@gmail.com[brbrof...@gmail.com][ > brbrof...@gmail.com[brbrof...@gmail.com]]> > An: "Alexandre Torres Porres" <por...@gmail.com[por...@gmail.com][ > por...@gmail.com[por...@gmail.com]]> > Cc: "pd-list@lists.iem.at[pd-list@lists.iem.at][pd-list@lists.iem.at[ > pd-list@lists.iem.at]]" <pd-list@lists.iem.at[pd-list@lists.iem.at][ > pd-list@lists.iem.at[pd-list@lists.iem.at]]> > Betreff: Re: [PD] Moving Sum object? > > Something like this? Almost completely untestsed. :D > > On Tue, Dec 8, 2015 at 12:20 AM, Alexandre Torres Porres <por...@gmail.com > [por...@gmail.com][por...@gmail.com[por...@gmail.com]]> wrote: > > Talking about averages I wonder if we have an object that sums (in a > moving average fashion) a series of samples > > cheers > _______________________________________________ > Pd-list@lists.iem.at[Pd-list@lists.iem.at][Pd-list@lists.iem.at[ > Pd-list@lists.iem.at]][Pd-list@lists.iem.at[Pd-list@lists.iem.at][ > Pd-list@lists.iem.at[Pd-list@lists.iem.at]]] mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list[http://lists.puredata.info/listinfo/pd-list][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D][http://lists.puredata.info/listinfo/pd-list[http://lists.puredata.info/listinfo/pd-list][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D]][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5D%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5D%5D] > _______________________________________________ Pd-list@lists.iem.at[ > Pd-list@lists.iem.at][Pd-list@lists.iem.at[Pd-list@lists.iem.at]] mailing > list UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list[http://lists.puredata.info/listinfo/pd-list][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D]_______________________________________________[http://lists.puredata.info/listinfo/pd-list[http://lists.puredata.info/listinfo/pd-list][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D]_______________________________________________][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5D_______________________________________________%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5D_______________________________________________%5D] > Pd-list@lists.iem.at[Pd-list@lists.iem.at[Pd-list@lists.iem.at][ > Pd-list@lists.iem.at[Pd-list@lists.iem.at]]] mailing list UNSUBSCRIBE and > account-management -> > http://lists.puredata.info/listinfo/pd-list[http://lists.puredata.info/listinfo/pd-list][http://lists.puredata.info/listinfo/pd-list[http://lists.puredata.info/listinfo/pd-list]][http://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5Bhttp://lists.puredata.info/listinfo/pd-list%5Bhttp://lists.puredata.info/listinfo/pd-list%5D%5D] > _______________________________________________ > Pd-list@lists.iem.at mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > >
_______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list