Granular Osc - Rate, Pitch and Phasor~ Woes


    Feb 18 2014 | 8:50 pm
    This has got me stumped. My grain oscillator is suffering from pitch changes when I change the grain rate. I'm using vb.phasor0~ which I thought should not let this happen:
    Would be grateful if anyone could take a look. It's stripped down as much as possible, but happy to explain the relevance of anything.

    • Feb 18 2014 | 9:01 pm
      Strange... the forum won't let me paste the code in the question. Grrr.
    • Feb 18 2014 | 9:10 pm
      Here it is the old way:
    • Feb 19 2014 | 7:55 pm
      Anyone?? Still stick on this!
    • Feb 19 2014 | 8:11 pm
      Well, vb.phasor0~ solves it partly. Your copied phasor, which is 50% out of phase causes the pitch changes. This is because the copied phasor goes to its new speed mid-ramp.
      You could try one-shot ramps like I proposed in this thread. But most of the time I would just go with the [phasor --> + 0.5 --> % 1] method coupled with a static grain rate. And when you want a variable grain rate you could also try one-shots with a [metro --> line~] triggered grain engine.
    • Feb 20 2014 | 7:18 am
      Thanks for replying, and thanks for replying to the other thread I brought up about this. I've just gone through all those - seems like you and Brendan covered this pretty exhaustively. It's a bit depressing as my granulator was going rather well! I might be able to live with the pitch anomalies on changing the grain rate I suppose.
      I'll think about this and go through the options again. Can't help but think there must be a way round it. How about a system which uses a variable delay for the second ramp, controlled by sah~ when the first reaches 0. Maybe in gen~?
    • Feb 20 2014 | 7:44 pm
      Just thought I'd throw this one in for anyone interested, combined vb.phasor0~ and shot~ solution. I'm still getting some pitch issues with it, but not quite as bad. Maybe it just needs tweaking.