Signal ordering / PhISEM

Oct 14, 2011 at 1:44am

Signal ordering / PhISEM

I’m having a little issue with a quick version of Perry Cook’s PhISEM algorithm. It seems that there’s a problem with usage of the “value” buffer~. Any suggestions?

– Pasted Max Patch, click to expand. –
Oct 17, 2011 at 4:21pm

Any thoughts? This is basically a port of a Reaktor version that I did several years ago. My guess is that the problem is due to how MSP handles signals, and I’m hoping someone may be able to suggest a solution. Thanks.

Oct 17, 2011 at 11:51pm

I’ll try to make this easier by explaining the algorithm so that you don’t have open the patch.

A Poisson process is used to determine when there are collisions. When collisions occur, the measure of energy in the system is added to a stored value. This value is multiplied by a decay amount (0.99 for example) and then stored. The new stored value is multiplied by noise and sent to a bank of parallel bandpass filters.

As this is done on a per-sample basis in MSP, it’s not immediately clear how to retrieve and store the value. Any suggestions?

Oct 18, 2011 at 2:18am

As you note, the collision-detection and energy decay happens during each sample-computation loop, so I don’t know how you could do this in plain-ole vectorized Max/MSP. Three possible solutions:

1. Use the new gen~ stuff in Max6. You have to sort-of ‘think backwards’ from the procedural code, but it works!
2. Write your own external.
3. Use rtcmix~ :-) [nearly all of the phisem and other STK physical models are included).



You must be logged in to reply to this topic.