[PD] Modular Switching/Matrix

derek holzer derek at x-i.net
Tue Oct 24 14:59:45 CEST 2006

Hi Greg,

I can't seem to find the original post for this, hope I'm not missing 
any important points!

> On Mon, 23 Oct 2006, Greg Surges wrote:
>> I'm a music composition/technology major at the University of 
>> Wisconsin-Milwaukee, currently taking a course in PD, and also 
>> studying it in private lessons. 

That's really interesting! Sara Kolster and I just lectured at UW 
earlier this year, and did a PD workshop at the Hotcakes Gallery. Who is 
teaching PD there now?

>> I am wondering if anyone has any 
>> experience with matrix-type switching, i.e. a modular system in which 
>> any module can connect to any other module in any order.

Like Frank Barknecht mentioned, the IEM matrix objects are one way to 
go. Otherwise, you could dynamically generate [send~] + [receive~] pairs 
via named abstractions.

>> I also need the ability for the system to allow recursive patching.

Recursive patching can really cause problems in PD, since it relies 
quite heavily on a specific order of operations to keep from getting 
into DSP loops. Using [send~] and [receive~] pairs is one way around 
this, since they automatically include a delay of one DSP block. But you 
still have problems of a depth-first order of operations, so that if you 
use oscillatorA to amplitude modulate oscillatorB (for example), and 
oscillatorB goes on to modify some parameter of osciallatorA again, you 
have to be very careful about where all these patches are depth-wise in 
relation to each other. If one is "less deep" (i.e. fewer 
subpatches/abstractions down) than the other, your feedback system will 
not work. The first amplitude modulation will not occur because the 
second modulation which starts the whole chain hasn't happened yet, 
resulting in a no signal situation which would not occur in the analog 
synthesis world AFAIK. I have not seen this issue addressed or 
documented very well (aside from the warnings about depth first message 
passing in Miller's examples), and I just recently ran into it myself 
which trying to make a supercomplex self-modulating synthesizer. Let me 
know if this does/doesn't make sense or apply to your work, and I'll try 
to clarify.


derek holzer ::: http://www.umatic.nl
---Oblique Strategy # 160:
"Towards the insignificant"

More information about the Pd-list mailing list