Forgive me, I'm no low level dsp guru. I'm curious. How would one make the ggee [moog~] external in pure pd?
[vcf~] sounds close, but of course, it's a band pass so it's not a real replacement. I messed with rjlib [e_beequad= + [u_lowpassq] which sounds pretty good, but there no signal rate frequency control, which I'd need for those nice filter sweeps. I'm trying to lessen my reliance on externals (where possible) and moog~ is one of those without an obvious replacement.
Dan Wilcox @danomatika danomatika.com robotcowboy.com
On 10/11/2013 08:32 AM, Dan Wilcox wrote:
[vcf~] sounds close, but of course, it's a band pass so it's not a real replacement.
the undocumented 2nd output of vcf~ is a lowpass. and there are a few methods to build the basic (cookbook) filters with pd-vanilla-objects: you could use fexpr~ to make your own signal-rate biquad. it works very well, but needs a lot more cpu than necessary. or you could use cpole~/czero~. like in the beequad-abstractions. i have used the same method in all my filters, with signal-rate. (in my "instruments collection" on my homepage). of course this is still not exactly moog~. it should be possible though to make a moog-abstraction in the same way, but i have not tried (yet)... maybe anyone else has already?
bis denn! martin
dear list,
i've been working with pd for a couple of years and finally diving into data-structures/scalars to build a midi recorder / looper.
is there a way to delete a scalar, without selecting it with the mouse ? or does one generally specify an active state parameter for each scalar.
greets, Rob
Hello Rob,
scalars can't be deleted actually without the GUI, but there are several tricks for doing something like it.
One is about using float indexes instead of using pointer order, and then set to -1 or another value that doesn't count the scalars that have to be removed, and finally use a temporary structure for cleaning. Another one is about using one scalar and an array for including your structure, so you can delete values inside element. It's also possible to save, modify, and reload the structure with using a text file.
Just in case you are interested about using tcltk instead of datastructure for drawing your GUI (it still uses DS for sequencing)
I've shared a work in progress:
http://megalego.free.fr/pd/patko/proll/
Colet Patrice
----- Mail original -----
De: "Rob Bothof" rbothof@xs4all.nl À: pd-list@iem.at Envoyé: Vendredi 11 Octobre 2013 14:01:52 Objet: [PD] datastructures midirecorder
dear list,
i've been working with pd for a couple of years and finally diving into data-structures/scalars to build a midi recorder / looper.
is there a way to delete a scalar, without selecting it with the mouse ? or does one generally specify an active state parameter for each scalar.
greets, Rob
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hello Rob,
scalars can't be deleted actually without the GUI, but there are several tricks for doing something like it.
One is about using float indexes instead of using pointer order, and then set to -1 or another value that doesn't count
you can also make "inactive" scalars invisible, then they're not seen. and though some export+import, filter these scalars out in the process.
Patrice Colet, that proll.tcl is somethin else. I had no idea that such a thing is possible. I think I changed wintop-70 to wintop+30 to show the entire top canvases. I guess the cursor just needs updated in order to be seen. lookin good so far man.
On Fri, Oct 11, 2013 at 2:20 PM, João Pais jmmmpais@googlemail.com wrote:
Hello Rob,
scalars can't be deleted actually without the GUI, but there are several tricks for doing something like it.
One is about using float indexes instead of using pointer order, and then set to -1 or another value that doesn't count
you can also make "inactive" scalars invisible, then they're not seen. and though some export+import, filter these scalars out in the process.
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
De: "Billy Stiltner" billy.stiltner@gmail.com
Patrice Colet, that proll.tcl is somethin else. I had no idea that such a thing is possible. I think I changed wintop-70 to wintop+30 to show the entire top canvases. I guess the cursor just needs updated in order to be seen. lookin good so far man.
Cool, make it yourse if you like, I still didn't finish this interface, and don't really know when it will be, so what about putting the knowledge of several people on it? There are some points I wanted to review, the main one is about using one canvas per bar because canvas is limited in size, I also would like to write an arranger interface for managing several tracks, and to be able to load/edit data from mrpeach/midifile... I should work again on this project this winter.
martin, I have not tried the moog but did use one of your abstractions using the fexpr~ as a starting point to build the original dsp cookbook filters(frequency thats where its happenin man) , I had been wanting to hear them in realtime since 1998 or so. I'm not sure I have them in there correct as they are over resonant but make a nice oscillator for drums if properly limited.
On Fri, Oct 11, 2013 at 5:33 AM, martin brinkmann mnb@martin-brinkmann.dewrote:
On 10/11/2013 08:32 AM, Dan Wilcox wrote:
[vcf~] sounds close, but of course, it's a band pass so it's not a real
replacement.
the undocumented 2nd output of vcf~ is a lowpass. and there are a few methods to build the basic (cookbook) filters with pd-vanilla-objects: you could use fexpr~ to make your own signal-rate biquad. it works very well, but needs a lot more cpu than necessary. or you could use cpole~/czero~. like in the beequad-abstractions. i have used the same method in all my filters, with signal-rate. (in my "instruments collection" on my homepage). of course this is still not exactly moog~. it should be possible though to make a moog-abstraction in the same way, but i have not tried (yet)... maybe anyone else has already?
bis denn! martin
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hmmm. I made a moog-style filter last year, but it's an external of course. Totally ripped from source code I found elsewhere, but it may help if you look at the algorithm for the filter's operation.
Note that this is an IIR not an FIR filter, so it can burst and screw up your DSP chain (but only if you feed it bad values). Everything is signal-based - i.e. cutoff frequency and resonance.
Cheers, Ed
while (n--) { i1=(*in++); fc1 = (*fc++); /* This failsafe line stops the filter bursting * ...but it is expensive! */ // if(x->safety) { // fc1 = fc1 <= 1 ? fc1 >= 0 ? fc1 : 0 : 1; // } res1 = (*res++); q = 1.0f - fc1; p = fc1 + 0.8f * fc1 * q; fcoeff = p + p - 1.0f; q = res1 * (1.0f + 0.5f * q * (1.0f - q + 5.6f * q * q)); i1 -= q * xb4; //feedback t1 = xb1; xb1 = (i1 + xb0) * p - xb1 * fcoeff; t2 = xb2; xb2 = (xb1 + t1) * p - xb2 * fcoeff; t1 = xb3; xb3 = (xb2 + t2) * p - xb3 * fcoeff; xb4 = (xb3 + t1) * p - xb4 * fcoeff; xb4 = saturate(xb4); xb4 = xb4 - xb4 * xb4 * xb4 * 0.01f; xb0 = i1; *out++ = xb4*1.414; // lowpass mode // *out++ = i1 - x->b4; // highpass mode // Lowpass output: xb4 // Highpass output: in - xb4; // Bandpass output: 3.0f * (b3 - xb4);
}
Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, for iPhone and iPad http://www.ninjajamm.com/
Gemnotes-0.2: Live music notation for Pure Data, now with dynamics! http://sharktracks.co.uk/
On Tuesday, 15 October 2013, 13:16, Billy Stiltner billy.stiltner@gmail.com wrote:
martin, I have not tried the moog but did use one of your abstractions using the fexpr~ as a starting point to build the original dsp cookbook filters(frequency thats where its happenin man) , I had been wanting to hear them in realtime since 1998 or so. I'm not sure I have them in there correct as they are over resonant but make a nice oscillator for drums if properly limited.
On Fri, Oct 11, 2013 at 5:33 AM, martin brinkmann mnb@martin-brinkmann.de wrote:
On 10/11/2013 08:32 AM, Dan Wilcox wrote:
[vcf~] sounds close, but of course, it's a band pass so it's not a real replacement.
the undocumented 2nd output of vcf~ is a lowpass. and there are a few methods to build the basic (cookbook) filters with pd-vanilla-objects: you could use fexpr~ to make your own signal-rate biquad. it works very well, but needs a lot more cpu than necessary. or you could use cpole~/czero~. like in the beequad-abstractions. i have used the same method in all my filters, with signal-rate. (in my "instruments collection" on my homepage). of course this is still not exactly moog~. it should be possible though to make a moog-abstraction in the same way, but i have not tried (yet)... maybe anyone else has already?
bis denn! martin
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
This ought to be easier now with the new text object as well as the new list functions
On Sun, Oct 13, 2013 at 6:33 AM, Patrice Colet colet.patrice@free.fr wrote:
De: "Billy Stiltner" billy.stiltner@gmail.com
Patrice Colet, that proll.tcl is somethin else. I had no idea that such a thing is possible. I think I changed wintop-70 to wintop+30 to show the entire top canvases. I guess the cursor just needs updated in order to be seen. lookin good so far man.
Cool, make it yourse if you like, I still didn't finish this interface, and don't really know when it will be, so what about putting the knowledge of several people on it? There are some points I wanted to review, the main one is about using one canvas per bar because canvas is limited in size, I also would like to write an arranger interface for managing several tracks, and to be able to load/edit data from mrpeach/midifile... I should work again on this project this winter.
Hello Billy Stiltner,
Le 17/02/2016 19:08, Billy Stiltner a écrit :
This ought to be easier now with the new text object as well as the new list functions
Yes [text] 's quite easier than datastructure for playing sequences.
I've modified the patch and the script, removed hundreds of objects by using [text]
here is a sample:
http://megalego.free.fr/pd/#proll
there still is a lot to do on it but it's usable for writing simple patterns.
I have to study new list functions before going further for implementing list-tuplet and play complex rythmic formula.
Also it would be nice to have this script embedded into an external object...
On Sun, Oct 13, 2013 at 6:33 AM, Patrice Colet <colet.patrice@free.fr mailto:colet.patrice@free.fr> wrote:
> De: "Billy Stiltner" <billy.stiltner@gmail.com <mailto:billy.stiltner@gmail.com>> > > > Patrice Colet, that proll.tcl is somethin else. I had no idea that > such a thing is possible. > I think > I changed wintop-70 to wintop+30 to show the entire top canvases. > I guess the cursor just needs updated in order to be seen. > lookin good so far man. > > Cool, make it yourse if you like, I still didn't finish this interface, and don't really know when it will be, so what about putting the knowledge of several people on it? There are some points I wanted to review, the main one is about using one canvas per bar because canvas is limited in size, I also would like to write an arranger interface for managing several tracks, and to be able to load/edit data from mrpeach/midifile... I should work again on this project this winter.
:)
On Thu, Feb 18, 2016 at 11:16 AM, patrice colet colet.patrice@free.fr wrote:
Hello Billy Stiltner,
Le 17/02/2016 19:08, Billy Stiltner a écrit :
This ought to be easier now with the new text object as well as the new list functions
Yes [text] 's quite easier than datastructure for playing sequences.
I've modified the patch and the script, removed hundreds of objects by using [text]
here is a sample:
http://megalego.free.fr/pd/#proll
there still is a lot to do on it but it's usable for writing simple patterns.
I have to study new list functions before going further for implementing list-tuplet and play complex rythmic formula.
Also it would be nice to have this script embedded into an external object...
On Sun, Oct 13, 2013 at 6:33 AM, Patrice Colet colet.patrice@free.fr wrote:
De: "Billy Stiltner" billy.stiltner@gmail.com
Patrice Colet, that proll.tcl is somethin else. I had no idea that such a thing is possible. I think I changed wintop-70 to wintop+30 to show the entire top canvases. I guess the cursor just needs updated in order to be seen. lookin good so far man.
Cool, make it yourse if you like, I still didn't finish this interface, and don't really know when it will be, so what about putting the knowledge of several people on it? There are some points I wanted to review, the main one is about using one canvas per bar because canvas is limited in size, I also would like to write an arranger interface for managing several tracks, and to be able to load/edit data from mrpeach/midifile... I should work again on this project this winter.