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 <[email protected]
<mailto:[email protected]>>:
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
_______________________________________________
[email protected] <mailto:[email protected]> mailing list
UNSUBSCRIBE and account-management
->http://lists.puredata.info/listinfo/pd-list
_______________________________________________
[email protected] <mailto:[email protected]> mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list