Re: [PD] Variable number of objects?
- Original Message - > From: Ingo > To: 'Ludwig Maes' ; 'Ingo' > Cc: 'Pd List' > Sent: Wednesday, September 28, 2011 2:37 PM > Subject: Re: [PD] Variable number of objects? > > Well, as I said in my case the voices are very complex. There are hundreds > of audio objects in each voice. It takes a lot of time to adjust all of the > signal flow and reallocate the memory I guess. > > Control objects shouldn't be such a big problem. Well, if you're sending hundreds of messages per second, and each message contains hundreds of elements (that's what I assume you meant since you said you'd be doing millions of checks), then you're getting dangerously close to basically doing signal processing in the control domain. And a big benefit of doing things in the signal domain is to reduce the overhead that you'd have if, for example, you computed every sample of a sinewave by sending messages. One way save cpu is to not send the values that don't change. There must be a [list change] external somewhere to fit your needs. -Jonathan > > Ingo > > > Von: Ludwig Maes [mailto:ludwig.m...@gmail.com] > Gesendet: Mittwoch, 28. September 2011 19:30 > An: Ingo > Betreff: Re: [PD] Variable number of objects? > > I actually meant more in general, also for non-~ signals (i.e. also control > rate .pd patches). I referred to polysynth such that people would see more > easily what I meant. Are there really no such primitives? That seems like > quite a restriction... > > How can that take 10 seconds?? I dont see what would cause such a huge > overhead, i'd expect an increase in computations & memory though (say > from > 10 voices to 11: 10% increase in cpu workload & ram dedicated to these > voices..., I fail to see what would necessitate a long initialization...) > > also, how is it done even with the long delays? > On 28 September 2011 18:33, Ingo wrote: > To my experience there will be definitely audio dropouts with dynamic voice > creation. In the case of my rather complex patch (with currently only 8 > voices) I have to wait up to ten seconds until the patch is ready again for > playback. I am using a 3.2 GHz Athlon II X2 which is not that slow. Simpler > synth voices might be faster, though. > > I think it is much better to create as many voices as needed beforehand and > turn unused voices off with the [switch~] object. > > Ingo > > ____________ > Von: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] Im Auftrag von > Ludwig Maes > Gesendet: Mittwoch, 28. September 2011 17:56 > An: Pd List > Betreff: [PD] Variable number of objects? > > Im not sure what the best way is to instantiate variable number of objects, > for example consider polysynth.pd: > > Theres a fixed number of manually placed voices, suppose I want to have the > top patch to contain a counter through which one may increase or decrease > the number of voices, how would I go about that (without manually placing a > load of voices and disabling them...)? > > Whats the vanilla way to do this? Whats the pd-extended way to do this? ... > > > > ___ > 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
Re: [PD] Variable number of objects?
The full conference proceedings are due to be published online any time soon. Ok, good to hear that - my bad conscience is not as bad any more. The Universal Polyphonic Player infrastructure i showed at a workshop at the pdconf would also be a feasible approach. I actually have finished all the patches, it's only about writing up some accompanying text. gr~~~ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
Hi, I wrote an abstraction, using "pd-messages" to create objects, [index] to store their ID, and" mouse cut" method to delete them with an ID : http://abel.jerome.free.fr/pd/dynamic-patching/patchs/dyn-objects/dynObjects.zip For more informations, I wrote some lines about dynamic patching here : http://abel.jerome.free.fr/pd/dynamic-patching/reviews/ + Jérôme ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
> >From: Ludwig Maes >To: Pd List >Sent: Wednesday, September 28, 2011 1:31 PM >Subject: Re: [PD] Variable number of objects? > > >Perhaps better rephrased: how does one use arrays of .pd objects? or variable >length vectors/lists? Variable list message: [list] family objects and the list-abs library Variable length glists: dynamic patching (search the list and see patches in doc/manuals/pd-msg/ ) Variable length vectors: hm.. not sure what this means ( [block~] ? ) Arrays of .pd objects: I don't think it's possible, but I'd love to do something like that with data structures. You'd have a "template" subpatch, define a field of the struct as type "glist", then use that struct as the template for an array: [pd my-template-patch] [struct foo float y glist my-template-patch] [filledpolygon 900 0 1 -5 -5 5 -5 5 5 -5 5] Then the container struct: [struct bar float x float y array a foo] [plot a 0 1 0 0 20] Now when you create a scalar "bar", each element of array "a" would have a little red rectangle, a yvalue, and a glist copied from the contents of my-template-patch. The issues are: * for maximum expressivity you'd need a way for each element's glist to have access to it's other members (like "y" in the above example). * I'm not sure how tilde objects inside "my-template-patch" would work when you increase the size of the array. (Seems like you'd have the same problem as with current dynamic-patching where you need to turn off dsp before the new objects get created, then turn it back on once they exist. -Jonathan > > >On 28 September 2011 19:29, Ludwig Maes wrote: > > >> >> >>-- Forwarded message -- >>From: Ludwig Maes >>Date: 28 September 2011 19:29 >>Subject: Re: [PD] Variable number of objects? >>To: Ingo >> >> >>I actually meant more in general, also for non-~ signals (i.e. also control >>rate .pd patches). I referred to polysynth such that people would see more >>easily what I meant. Are there really no such primitives? That seems like >>quite a restriction... >> >>How can that take 10 seconds?? I dont see what would cause such a huge >>overhead, i'd expect an increase in computations & memory though (say from 10 >>voices to 11: 10% increase in cpu workload & ram dedicated to these >>voices..., I fail to see what would necessitate a long initialization...) >> >>also, how is it done even with the long delays? >> >> >> >>On 28 September 2011 18:33, Ingo wrote: >> >>To my experience there will be definitely audio dropouts with dynamic voice >>>creation. In the case of my rather complex patch (with currently only 8 >>>voices) I have to wait up to ten seconds until the patch is ready again for >>>playback. I am using a 3.2 GHz Athlon II X2 which is not that slow. Simpler >>>synth voices might be faster, though. >>> >>>I think it is much better to create as many voices as needed beforehand and >>>turn unused voices off with the [switch~] object. >>> >>>Ingo >>> >>> >>>Von: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] Im Auftrag von >>>Ludwig Maes >>>Gesendet: Mittwoch, 28. September 2011 17:56 >>>An: Pd List >>>Betreff: [PD] Variable number of objects? >>> >>> >>>Im not sure what the best way is to instantiate variable number of objects, >>>for example consider polysynth.pd: >>> >>>Theres a fixed number of manually placed voices, suppose I want to have the >>>top patch to contain a counter through which one may increase or decrease >>>the number of voices, how would I go about that (without manually placing a >>>load of voices and disabling them...)? >>> >>>Whats the vanilla way to do this? Whats the pd-extended way to do this? ... >>> >>> >> >> > >___ >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
Re: [PD] Variable number of objects?
Well, as I said in my case the voices are very complex. There are hundreds of audio objects in each voice. It takes a lot of time to adjust all of the signal flow and reallocate the memory I guess. Control objects shouldn't be such a big problem. Ingo Von: Ludwig Maes [mailto:ludwig.m...@gmail.com] Gesendet: Mittwoch, 28. September 2011 19:30 An: Ingo Betreff: Re: [PD] Variable number of objects? I actually meant more in general, also for non-~ signals (i.e. also control rate .pd patches). I referred to polysynth such that people would see more easily what I meant. Are there really no such primitives? That seems like quite a restriction... How can that take 10 seconds?? I dont see what would cause such a huge overhead, i'd expect an increase in computations & memory though (say from 10 voices to 11: 10% increase in cpu workload & ram dedicated to these voices..., I fail to see what would necessitate a long initialization...) also, how is it done even with the long delays? On 28 September 2011 18:33, Ingo wrote: To my experience there will be definitely audio dropouts with dynamic voice creation. In the case of my rather complex patch (with currently only 8 voices) I have to wait up to ten seconds until the patch is ready again for playback. I am using a 3.2 GHz Athlon II X2 which is not that slow. Simpler synth voices might be faster, though. I think it is much better to create as many voices as needed beforehand and turn unused voices off with the [switch~] object. Ingo Von: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] Im Auftrag von Ludwig Maes Gesendet: Mittwoch, 28. September 2011 17:56 An: Pd List Betreff: [PD] Variable number of objects? Im not sure what the best way is to instantiate variable number of objects, for example consider polysynth.pd: Theres a fixed number of manually placed voices, suppose I want to have the top patch to contain a counter through which one may increase or decrease the number of voices, how would I go about that (without manually placing a load of voices and disabling them...)? Whats the vanilla way to do this? Whats the pd-extended way to do this? ... ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
I don't know if I posted this to this thread already, but try out the 'many' lib, it has a few different approaches to managing many instances of Pd objects. http://download.puredata.info/many .hc On Sep 28, 2011, at 1:31 PM, Ludwig Maes wrote: Perhaps better rephrased: how does one use arrays of .pd objects? or variable length vectors/lists? On 28 September 2011 19:29, Ludwig Maes wrote: -- Forwarded message -- From: Ludwig Maes Date: 28 September 2011 19:29 Subject: Re: [PD] Variable number of objects? To: Ingo I actually meant more in general, also for non-~ signals (i.e. also control rate .pd patches). I referred to polysynth such that people would see more easily what I meant. Are there really no such primitives? That seems like quite a restriction... How can that take 10 seconds?? I dont see what would cause such a huge overhead, i'd expect an increase in computations & memory though (say from 10 voices to 11: 10% increase in cpu workload & ram dedicated to these voices..., I fail to see what would necessitate a long initialization...) also, how is it done even with the long delays? On 28 September 2011 18:33, Ingo wrote: To my experience there will be definitely audio dropouts with dynamic voice creation. In the case of my rather complex patch (with currently only 8 voices) I have to wait up to ten seconds until the patch is ready again for playback. I am using a 3.2 GHz Athlon II X2 which is not that slow. Simpler synth voices might be faster, though. I think it is much better to create as many voices as needed beforehand and turn unused voices off with the [switch~] object. Ingo Von: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] Im Auftrag von Ludwig Maes Gesendet: Mittwoch, 28. September 2011 17:56 An: Pd List Betreff: [PD] Variable number of objects? Im not sure what the best way is to instantiate variable number of objects, for example consider polysynth.pd: Theres a fixed number of manually placed voices, suppose I want to have the top patch to contain a counter through which one may increase or decrease the number of voices, how would I go about that (without manually placing a load of voices and disabling them...)? Whats the vanilla way to do this? Whats the pd-extended way to do this? ... ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list Using ReBirth is like trying to play an 808 with a long stick.- David Zicarelli ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
Anyone have a link to his paper on more/less? I coudlnt' find it. .hc On Sep 28, 2011, at 2:02 PM, Charles Henry wrote: I'd really hope to hear from Krzystof on this topic. His [more]/[less] objects presented at the PdCon were really interesting for creating large numbers of voices. The difference in approach embeds the new instances (without having a graphical representation) into the same abstraction and sums their outputs on the outlets provided. It behaves a lot like MPI programming where each program instance is an exact copy, differentiated only by index. Messages piped in can be sent to specific embedded instances through [less] if I remember correctly. Increasing or decreasing the number of voices sounds like a dynamic patching application. I don't know much about it, myself. Chuck On Wed, Sep 28, 2011 at 10:55 AM, Ludwig Maes wrote: Im not sure what the best way is to instantiate variable number of objects, for example consider polysynth.pd: Theres a fixed number of manually placed voices, suppose I want to have the top patch to contain a counter through which one may increase or decrease the number of voices, how would I go about that (without manually placing a load of voices and disabling them...)? Whats the vanilla way to do this? Whats the pd-extended way to do this? ... ___ 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 Mistrust authority - promote decentralization. - the hacker ethic ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
On Wed, Sep 28, 2011 at 1:13 PM, Ludwig Maes wrote: > Where do I learn more about the more/less objects? Here's the abstract: http://www.uni-weimar.de/medien/wiki/PDCON:Conference/Self-replication:_how_to_do_more_using_less The full conference proceedings are due to be published online any time soon. > On 28 September 2011 20:02, Charles Henry wrote: >> >> I'd really hope to hear from Krzystof on this topic. His >> [more]/[less] objects presented at the PdCon were really interesting >> for creating large numbers of voices. >> >> The difference in approach embeds the new instances (without having a >> graphical representation) into the same abstraction and sums their >> outputs on the outlets provided. It behaves a lot like MPI >> programming where each program instance is an exact copy, >> differentiated only by index. Messages piped in can be sent to >> specific embedded instances through [less] if I remember correctly. >> >> Increasing or decreasing the number of voices sounds like a dynamic >> patching application. I don't know much about it, myself. >> >> Chuck >> >> On Wed, Sep 28, 2011 at 10:55 AM, Ludwig Maes >> wrote: >> > Im not sure what the best way is to instantiate variable number of >> > objects, >> > for example consider polysynth.pd: >> > >> > Theres a fixed number of manually placed voices, suppose I want to have >> > the >> > top patch to contain a counter through which one may increase or >> > decrease >> > the number of voices, how would I go about that (without manually >> > placing a >> > load of voices and disabling them...)? >> > >> > Whats the vanilla way to do this? Whats the pd-extended way to do this? >> > ... >> > >> > ___ >> > 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
Re: [PD] Variable number of objects?
I'd really hope to hear from Krzystof on this topic. His [more]/[less] objects presented at the PdCon were really interesting for creating large numbers of voices. The difference in approach embeds the new instances (without having a graphical representation) into the same abstraction and sums their outputs on the outlets provided. It behaves a lot like MPI programming where each program instance is an exact copy, differentiated only by index. Messages piped in can be sent to specific embedded instances through [less] if I remember correctly. Increasing or decreasing the number of voices sounds like a dynamic patching application. I don't know much about it, myself. Chuck On Wed, Sep 28, 2011 at 10:55 AM, Ludwig Maes wrote: > Im not sure what the best way is to instantiate variable number of objects, > for example consider polysynth.pd: > > Theres a fixed number of manually placed voices, suppose I want to have the > top patch to contain a counter through which one may increase or decrease > the number of voices, how would I go about that (without manually placing a > load of voices and disabling them...)? > > Whats the vanilla way to do this? Whats the pd-extended way to do this? ... > > ___ > 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
Re: [PD] Variable number of objects?
Le 2011-09-28 à 19:31:00, Ludwig Maes a écrit : Perhaps better rephrased: how does one use arrays of .pd objects? or variable length vectors/lists? [#many tgl] makes mosaïcs of toggles, [#many nbx] makes mosaïcs of numberboxes, like this : http://gridflow.ca/help/%23many-help.html It's probably not anywhere close to what you are interested in, but it's an example of something quite different from what the other automatic dynamic patchers are doing : it's GOP, it's 2-D, it has a properties dialogue, etc. __ | Mathieu BOUCHARD - téléphone : +1.514.383.3801 - Montréal, QC___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
Perhaps better rephrased: how does one use arrays of .pd objects? or variable length vectors/lists? On 28 September 2011 19:29, Ludwig Maes wrote: > > > -- Forwarded message -- > From: Ludwig Maes > Date: 28 September 2011 19:29 > Subject: Re: [PD] Variable number of objects? > To: Ingo > > > I actually meant more in general, also for non-~ signals (i.e. also control > rate .pd patches). I referred to polysynth such that people would see more > easily what I meant. Are there really no such primitives? That seems like > quite a restriction... > > How can that take 10 seconds?? I dont see what would cause such a huge > overhead, i'd expect an increase in computations & memory though (say from > 10 voices to 11: 10% increase in cpu workload & ram dedicated to these > voices..., I fail to see what would necessitate a long initialization...) > > also, how is it done even with the long delays? > > > On 28 September 2011 18:33, Ingo wrote: > >> To my experience there will be definitely audio dropouts with dynamic >> voice >> creation. In the case of my rather complex patch (with currently only 8 >> voices) I have to wait up to ten seconds until the patch is ready again >> for >> playback. I am using a 3.2 GHz Athlon II X2 which is not that slow. >> Simpler >> synth voices might be faster, though. >> >> I think it is much better to create as many voices as needed beforehand >> and >> turn unused voices off with the [switch~] object. >> >> Ingo >> >> ____ >> Von: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] Im Auftrag >> von >> Ludwig Maes >> Gesendet: Mittwoch, 28. September 2011 17:56 >> An: Pd List >> Betreff: [PD] Variable number of objects? >> >> Im not sure what the best way is to instantiate variable number of >> objects, >> for example consider polysynth.pd: >> >> Theres a fixed number of manually placed voices, suppose I want to have >> the >> top patch to contain a counter through which one may increase or decrease >> the number of voices, how would I go about that (without manually placing >> a >> load of voices and disabling them...)? >> >> Whats the vanilla way to do this? Whats the pd-extended way to do this? >> ... >> >> > > ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Re: [PD] Variable number of objects?
To my experience there will be definitely audio dropouts with dynamic voice creation. In the case of my rather complex patch (with currently only 8 voices) I have to wait up to ten seconds until the patch is ready again for playback. I am using a 3.2 GHz Athlon II X2 which is not that slow. Simpler synth voices might be faster, though. I think it is much better to create as many voices as needed beforehand and turn unused voices off with the [switch~] object. Ingo Von: pd-list-boun...@iem.at [mailto:pd-list-boun...@iem.at] Im Auftrag von Ludwig Maes Gesendet: Mittwoch, 28. September 2011 17:56 An: Pd List Betreff: [PD] Variable number of objects? Im not sure what the best way is to instantiate variable number of objects, for example consider polysynth.pd: Theres a fixed number of manually placed voices, suppose I want to have the top patch to contain a counter through which one may increase or decrease the number of voices, how would I go about that (without manually placing a load of voices and disabling them...)? Whats the vanilla way to do this? Whats the pd-extended way to do this? ... ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
[PD] Variable number of objects?
Im not sure what the best way is to instantiate variable number of objects, for example consider polysynth.pd: Theres a fixed number of manually placed voices, suppose I want to have the top patch to contain a counter through which one may increase or decrease the number of voices, how would I go about that (without manually placing a load of voices and disabling them...)? Whats the vanilla way to do this? Whats the pd-extended way to do this? ... ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list