Forums > MaxMSP

Embarrassed? I will be! Phase shifting control waveforms.

Oct 25 2013 | 6:04 am

I suspect this is going to be very, very obvious (hence the pre-emptive red face), but I’ve been unable to figure this out…

I’m using [function] (with curve turned on) to create curves to control LED lights via DMX.
There are 4 banks of three lights, mainly using RG&B. I’m going to parallel one light in each bank with the same one in the other banks – ie grouping 1,4,7,10 etc. So I need 4 control waveforms. (I’d be happy to send ramps to each one separately, but I think that’ll depend on the method for controlling the phase of the controlling waveforms and how CPU intensive it is).

So – I can have either a metro/counter or phase~/number~/scale combination stepping through the [function]/ I want to be able to chase the phase of the final output so that eg the reds fade up and down, and the blues start 1/3 of the way thru the cycle.
So I have to either apply "phase shift" to the float numbers coming out of a single [function], which I suppose I could do with [pipe], or
use several locked [phasor~]s to drive thru several copies of the [function] (which would allow me to have different curves for each bank of colour) and change the phase of the signal from the phasors. I thought I could do this by sending a float from 0.-1. to the right inlet of phasor~, but it doesn’t do anything (at least not with [phasor~ 1n @lock 1])
I’ve played with [+~] & [wrap~] & [pong~], but the effect is not actually to just shift the control waveform in time. I thought [delay~] might be the answer, but I can’t seem to get it to do anything with the output of a [phasor~] (I guess [delay~] only works with audio rate signals?)

So that’s where I’ve gotten to. All I want to do is to continuously move control waveforms in and out of phase with each other. Any input?


Oct 25 2013 | 10:13 am

ok, sorted it. [delay~] was the answer. but for some reason it took a bit of fiddling with it to get it to do what i wanted.

Oct 25 2013 | 3:13 pm

well, delay~ won’t really phaseshift anything. It’ll just delay it, so you won’t be able to, say, go negative phase, for instance, right?

Oct 26 2013 | 9:24 am

Yes, it’s positive only, though I’m still shifting the phase of one LFO wave relative to another aren’t I? (OK, maybe not a technically correct use of the language on my part :-) ).
So is there a way to -ve & +ve phaseshift then?

Oct 26 2013 | 8:01 pm

"hence the pre-emptive red face"


Oct 26 2013 | 8:02 pm

"I thought I could do this by sending a float from 0.-1. to the right inlet of phasor~, but it doesn’t do anything (at least not with [phasor~ 1n @lock 1])"

ya, not with lock.

if you combine this idea: "or use several locked [phasor~]s"…
…with this idea: "I’ve played with [+~] & [wrap~] & [pong~],…"…
maybe this idea might be more helpful:

-- Pasted Max Patch, click to expand. --


Oct 29 2013 | 11:24 am

thanks for that, and yes, that looks like something that’ll do what I want. I actually went back to the idea of using sequenced bangs to trigger curve~, and that’s working nicely now. However, i’ll revisit the original idea in light of your input, so thanks again.

@raja_tra I must be gerring slow – I didn’t notice that one at all. as you say – hahahaha :-)

Viewing 7 posts - 1 through 7 (of 7 total)

Forums > MaxMSP