i've tried to find something in pd's help browser about hard syncing oscillators, but i had no luck. can't figure out, how i should set this up, since the osc~ objects have no audio inlet for phase setting.
is there someone who can give me hint?
thanks in advance!
-
Hard syncing
-
[wrap~] is what you need here - Obiwannabe enlighten me to this a while back. If you think bout it, syncing a saw to another is simply resetting its phase. Wrap is a bit like modulo for audio signals.
[phasor~] [phasor~]
| |
[+~ ]
|
[wrap~]sorry for shit drawing but hopefully should give u idea!
boonier
-
boonier, I tried that and it doesn't seem to work. When I graphed it there was no resetting. All it really does is make a faster phasor signal. I messed around a little and I think I came up with a solution. You are right that [wrap~] is the way to go, but to get something like phase syncing, you want to multiple the output of a [phasor~] by a multiple of the base frequency. The posted patch can illustrate.
-
if you want to phase-sync an [osc~], then you need to make your own [osc~] like this:
[phasor~]
|
[cos~] -
that's all greek to me, sorry.....
maybe an example makes it more clear what i mean:i have two osc~ objects, the first one, with a frequency of (say...) 120 hz, the second one with a frequency of 155 hz. now i want the first one to be phase synced by the second one, in effect the second osc~ should be forced to reset ist phase 120 times per second. i know, this will cause aliasing, but this is what i'm looking for.
my pd skills are not so good, i have some experience with reaktor, but there, the syncable osc's have an audio input for resets and a phase input where you can set the phase the osc should be set to in case of phase reset.
that's what i'm searching for. someone's got an idea?okay, i think it should be possible to find out, when a wave decreases like that:
[osc~] <------this is the sync osc
| |
[z~] /
| /
[ -~ ]but i need to convert the output of the [-~] into a very accurate controlsignal for further processing. since unsig~/snapshot~ allows maximal processing rate of 1000 hz (i think i read something like this...) it's not accurate enough. there's no solution for that?
-
attached a patch to make clear, what's my intention.....
-
from your last example its just
[phasor~ 200]
|
[*~ 1.11]
|
[-~ 0.25] <-to make it a sine
|
[cos~] -
oh, thanks, that's cool - i'm bad at maths, but if i got it right, the factor in the [*~] object is the result of dividing the sync osc's frequency by the frequency of the osc that's getting synced, right?
what, if i want a sine osc as syncing source? i have always to build my own one with a phasor~ and cos~, so that i have a phasor~ to sync other osc's?
sorry for my poor english, hope you got me...... -
>>i have always to build my own one with a phasor~ and cos~, so that i have a phasor~ to sync other osc's?<<
i think so. it's not that hard.
one thing i have noticed from a lot of your posts is that you often compare pd to reaktor. you seem a bit frustrated that pd doesn't work in the same way. they are totally different softwares. you have to expect that they do things differently.
-
oh, no - to be honest, i'm amazed by the power of pd in relation to a (more or less) expensive software like reaktor. and often i can use the knowledge i got from building in reaktor when i build something in pd.
a whole lot of issues are solved much better in pd than in reaktor (edit: except the gui-computation of pd *gg*).
but in many things they are quite similar - this is why i often look for reaktor-like solutions in issues where they differ.