Re: [PD] Variable number of objects?
- Original Message - From: Ingo i...@miamiwave.com To: 'Ludwig Maes' ludwig.m...@gmail.com; 'Ingo' i...@miamiwave.com Cc: 'Pd List' pd-list@iem.at 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 i...@miamiwave.com 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?
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?
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
[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
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 ludwig.m...@gmail.com wrote: -- Forwarded message -- From: Ludwig Maes ludwig.m...@gmail.com Date: 28 September 2011 19:29 Subject: Re: [PD] Variable number of objects? To: Ingo i...@miamiwave.com 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 i...@miamiwave.com 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?
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?
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 ludwig.m...@gmail.com 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?
On Wed, Sep 28, 2011 at 1:13 PM, Ludwig Maes ludwig.m...@gmail.com 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 czhe...@gmail.com 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 ludwig.m...@gmail.com 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?
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 ludwig.m...@gmail.com 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?
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 ludwig.m...@gmail.com wrote: -- Forwarded message -- From: Ludwig Maes ludwig.m...@gmail.com Date: 28 September 2011 19:29 Subject: Re: [PD] Variable number of objects? To: Ingo i...@miamiwave.com 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 i...@miamiwave.com 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?
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 i...@miamiwave.com 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?
From: Ludwig Maes ludwig.m...@gmail.com To: Pd List pd-list@iem.at 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 ludwig.m...@gmail.com wrote: -- Forwarded message -- From: Ludwig Maes ludwig.m...@gmail.com Date: 28 September 2011 19:29 Subject: Re: [PD] Variable number of objects? To: Ingo i...@miamiwave.com 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 i...@miamiwave.com 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