is there a somewhat elegant way to route 8 audio outputs (from readsf~) to 8 dac~ outputs randomly (on a bang for example)?
i.e. out1 to dac4, out2 to dac7 etc.
each output is allowed to one dac~ channel only.
mathematically speaking that would be 8! 8x7x6x5x4x3x2x1 (40320) possibilites, but i don’t see an easy way to program this in puredata.
some way of dynamic patching maybe? or a throw~ and catch~ approach? i get stuck on the random logic, since every “step” that chooses a destinations changes the subsequent outputs that are still allowed to be chosen.
(to keep me from what i am supposed to do :-)
here is a solution for 3 channels, easily expandable - vanilla only. it uses c_urn from PdParty_composerpack/lib/rj which i attach as convenience
hth hans
Am 05.10.2021 um 00:08 schrieb Simon Iten itensimon@gmail.com:
is there a somewhat elegant way to route 8 audio outputs (from readsf~) to 8 dac~ outputs randomly (on a bang for example)?
i.e. out1 to dac4, out2 to dac7 etc.
each output is allowed to one dac~ channel only.
mathematically speaking that would be 8! 8x7x6x5x4x3x2x1 (40320) possibilites, but i don’t see an easy way to program this in puredata.
some way of dynamic patching maybe? or a throw~ and catch~ approach? i get stuck on the random logic, since every “step” that chooses a destinations changes the subsequent outputs that are still allowed to be chosen.
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On Tue, 2021-10-05 at 00:08 +0200, Simon Iten wrote:
is there a somewhat elegant way to route 8 audio outputs (from readsf~) to 8 dac~ outputs randomly (on a bang for example)?
You could use [mtx_*~ 8 8] from iemmatrix for the signal routing part.
For feeding it, you could send '8' to [mtx_randperm] which creates an 8x8 matrix that maps each input randomly to exactly one output.
Roman
you could use jmmmp/matrixctrl as a gui for it, with the OR mode turned on.
On Tue, 2021-10-05 at 00:08 +0200, Simon Iten wrote:
is there a somewhat elegant way to route 8 audio outputs (from readsf~) to 8 dac~ outputs randomly (on a bang for example)?
You could use [mtx_*~ 8 8] from iemmatrix for the signal routing part.
For feeding it, you could send '8' to [mtx_randperm] which creates an 8x8 matrix that maps each input randomly to exactly one output.
Roman
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
This could be a way of doing it in Vanilla using [random] and some features of the [text] object - if I understood correctly what you are tying to do :-)
(in this example the audio sources aren't [readsf~] but just some random 'different enough' sources - in your case you should replace each of the sources with the specific [readsf~] you need to route)
Hope this helps.
Lorenzo
On 05/10/2021 00:08, Simon Iten wrote:
is there a somewhat elegant way to route 8 audio outputs (from readsf~) to 8 dac~ outputs randomly (on a bang for example)?
i.e. out1 to dac4, out2 to dac7 etc.
each output is allowed to one dac~ channel only.
mathematically speaking that would be 8! 8x7x6x5x4x3x2x1 (40320) possibilites, but i don’t see an easy way to program this in puredata.
some way of dynamic patching maybe? or a throw~ and catch~ approach? i get stuck on the random logic, since every “step” that chooses a destinations changes the subsequent outputs that are still allowed to be chosen.
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list