rate~ but for cycle~?


    Jun 26 2007 | 7:42 pm
    Does anyone know of an external or abstraction to do this? If two cycle~ objects are kept at the same freq then their phases are kept in sync (or not depending on a float into the phase inlet - MSP "keeps track" of the phases of oscillators at the same freq says the manual). After changing the freq of one cycle~ and then setting it back to the same freq as the other, how can the phase relationship be reestablished (ala the "sync lock" message to rate~)? Here is a little patch to demonstrate what I'm after.

    • Jun 26 2007 | 8:01 pm
    • Jun 26 2007 | 8:28 pm
      Cycle~ can be driven by a phasor~ connected to the right inlet, so you can use rate~ & phasor, as below. Cheers Roger
      On 26/6/07 20:42, "Lewis Keller" wrote:
      > > Does anyone know of an external or abstraction to do this? If two cycle~ > objects are kept at the same freq then their phases are kept in sync (or not > depending on a float into the phase inlet - MSP "keeps track" of the phases of > oscillators at the same freq says the manual). After changing the freq of one > cycle~ and then setting it back to the same freq as the other, how can the > phase relationship be reestablished (ala the "sync lock" message to rate~)? > Here is a little patch to demonstrate what I'm after.
    • Jun 26 2007 | 9:11 pm
      Here's a slightly wonkier version that interpolates at signal rate rather than jumping instantly. The right-hand part with the phasor~ is just setting when it switches between the higher and lower speeds. You can adjust the times for rampsmooth~ to make interpolation faster or slower.
      You can get better performance by storing your panning waveform into a buffer~ and then playing that buffer~ using wave~ instead of cycle~.
      I do the following: -Use a buffer~ that is 1000 ms so that you don't have to do any interpolation, and 2 channels so you don't have to mess with the offsets. (i.e. one channel is up while the other is down) (that is, do all the math once, rather than continuously) -send wave~ the message interp 0 at startup
      Peter McCulloch