Hallo, Steffen hat gesagt: // Steffen wrote:
I can't figure how the second inlet of osc~ work. As a test i tried
to sum and subtract two osc~'s with the same frequency. If i send 0
to the second inlet of the two osc~ objects, the difference is 0 -
which is what i though would happen. But how do i make the sum 0 -
ie. make them completely out of phase?
Multiply on [osc~] by -1? ;)
Just joking, that is not what you mean by your question, I suppose.
I've tried different things. For example I've tried to delay the
reset of the one osc~ while "immediately" resetting the other - by
resetting i mean sending 0 to the second inlet - assuming one can
only reset the phase. Another thing i've tried is to set them at the
same time by sending 0 to one of them and different numbers to the
other - assuming it would behave kind of like sin(f*x+0)+sin(f*x+a)
where a is the other number.
The correct way would be to set one [osc~]'s phase to 0 and the other to 0.5 at the same time. The audio objects in (core) Pd like [osc~], [cos~] or [phasor~] assume a complete cycle to be of length 1, so setting the phase of one object to 0, and the other to 1/2 == 0.5 will set them to opposite phases.
See attached patch.
I guess they assume a cycle to be of length 1 and not of length 2*PI or so to appeal the non-mathletes and to make things like phase-modulation a bit easier, though you can only really modulate the phase of a [cos~] with an audio signal.
One additional thing to be aware of is, that the right inlet of [osc~] only is activated at block boundaries. That is, if you send any value to the right inlet, it will set the phase to that value only at the end of a block of normally 64 samples, unless you've reblocked your patch with [block~ ...] This is valid for manually triggered phase-changes and for "clock-delayed" triggering through a [metro] or a [delay].
Frank Barknecht _ ______footils.org_ __goto10.org__