[PD] moog

David Medine dmedine at ucsd.edu
Wed Dec 31 22:42:49 CET 2014


Cool, I will definitely check out this SC object. Thanks for that.

Miller (being the author) would know better than I of course, but I 
believe the way that [moog~] works is to use Runge-Kutta to solve the 
ordinary differential equation that governs each stage of the filter in 
its continuous time representation. This equation (along with a discrete 
implementation of the complete filter) is  what is described in the 
paper I mentioned. Incidentally, using Runge-Kutta (or any appropriate 
iterative ODE solver) also abnegates the frequency warping problem.

I think it might be very difficult to code this up with [fexpr~]. It 
would certainly require at least a quadrupling of the sampling rate. Has 
anyone out there ever implemented Runge-Kutta with [expr~]? It might 
also be that Pd's data structures are an appropriate choice for such a 
project? Either way, it would be super cool to have this as a Pd 
abstraction rather than an extern.

-David

On 12/31/2014 10:05 AM, Alexandre Torres Porres wrote:
> Hi David,
>
> > It'd certainly be interesting to see an what actual implementation
> > of this does, rather than just some matlab plots.
>
> An actual implementation is provided in the MoogFF filter in Super 
> Collider, you can just download and try it out. The code of the object 
> is also provided somewhere, as it is a source code.
>
> I'd like to understand pd's [moog~] object one day, and implement it 
> with [fexpr~] or something. Maybe I'll do this other one as well.
>
> Cheers
>
> 2014-12-29 17:20 GMT-02:00 David Medine <dmedine at ucsd.edu 
> <mailto:dmedine at ucsd.edu>>:
>
>     I believe, though I may be wrong, that the Moog vcf object is
>     based on the algorithm described in the 2004 Huovalainen paper
>     (citation [6] in the Fontana):
>
>     http://www.mirlab.org/conference_papers/International_Conference/DAFx%202004/Proc/P_061.pdf
>
>     I am a little confused here (in the Fontana) by the author's
>     assertion that he can implement a 'delay-free' loop by computing
>     the output first, and then finding the states of the filter based
>     on this. I don't quite see how this is different from finding the
>     states first and then finding the output -- chicken then the egg
>     vs. egg then the chicken.
>
>     Still, judging by the plots they provide, they seem to have
>     overcome the frequency warping issue (an artifact of unit delay)
>     described by Huovalainen.
>
>     It'd certainly be interesting to see an what actual implementation
>     of this does, rather than just some matlab plots.
>
>     -David
>
>
>     On 12/28/2014 07:43 PM, Alexandre Torres Porres wrote:
>>     hi, do you know if the moog object comes from this paper?
>>
>>     http://quod.lib.umich.edu/cgi/p/pod/dod-idx/preserving-the-structure-of-the-moog-vcf-in-the-digital.pdf?c=icmc;idno=bbp2372.2007.062
>>
>>
>>     _______________________________________________
>>     Pd-list at lists.iem.at  <mailto:Pd-list at lists.iem.at>  mailing list
>>     UNSUBSCRIBE and account-management ->http://lists.puredata.info/listinfo/pd-list
>
>
>     _______________________________________________
>     Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>     UNSUBSCRIBE and account-management ->
>     http://lists.puredata.info/listinfo/pd-list
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20141231/cd3fa1d0/attachment-0001.html>


More information about the Pd-list mailing list