Granular Osc – Rate, Pitch and Phasor~ Woes
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.
Strange… the forum won’t let me paste the code in the question. Grrr.
Here it is the old way:
Anyone?? Still stick on this!
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.
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~?
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.
----------begin_max5_patcher---------- 852.3oc6X0zaiBCD8bxuBDGWkvZLFSXOrR6uiUUUlD2D2RrQFmtoaU6u80e. DRSxVRZkUNzK.dFF6277y1C773QgEhsz5vfeD76fQidd7nQVSFCiZZOJbMY6 7RRs80B4z+HJtObhykhtUYMWSV8Z.HJs0AeyZFujprAAaLVQTyWw3KuURmqb CZZVVDBlmmmLIHAEGAlnMYtBAQffaZB7NAWUy9K0DSLT6taPDaTsiRbiUmI0 SUT2PDVyVxIkgc8FagEx5zXZbVXugfSVaiI7WRlN.iiWFO1bYxGiclZ3l3OD 2jCLrBB5QtA+4xMUkB0qGkChOMGjjYUCnY3nTShmaZEiR6Q.GOSWSjKY7Fos UWYIv1m5h9.FIreGWIXbW+hPwGghPs4S8lBS90sTpiCz9lKJERmCPDZR6krT KbZGNidYEa9CbpiuhifcNrv31Z0Skt4.tfSC67Vx3zdNMMq24UmEET4IC9NV ohJOhiEh0DFWGGQZmK.sRqc9n7ENjBNLp9ngHOna0SOOPk6O8LyvHNdADgg1 a1KINSNKwta84sl9rjTPKa5xddkD9R5t7XZe357cj7nMnSkFN+6kEMfUmJS0 Od..NA5DRlVmd612RwM1epwty7KiCtwWq7vYfq4UdIesx6qUdW8q7NQ8.+7h pUBgr4XSYRlUhdqT.nWJSRifW0Zgycmp90IAA55ExSRloWnivdjgxwdgh99I InAVHIDmEEClkgSMJIORPnDuPPeSSP..3iwQyrG1k5S8She9Rj5UmpTf2eiG Dztkiqw4SKv2gVl7eIHr21A5B+DEXrUtjj3OQS5mKmbWoPioKL8iSsId5fEG UDoFw5JfzEAPJbG1elBGMfIJitoPeN+QYHjWTMOVDUshTKjfydoUq3o2txY9 7+eLL9wFZS4s68uhrYjw99jVsXibd6v2s8VvtDZAsVw3DESv6+V6+RqXKVP4 80EKX0FohE+fiN+MX.MH7f8GdFJ8D6E3fGBbR7G6.G.d73jEdfvwOSV1RqFv zU10kZFdcAGj2fS5ffSh+zO43AinqHFxanAM.zjdgnwcxJop5QprtoKs.QW3 w8t+cEdhsIi6ZZOlOTRej099HqEhTWagRWXwFo6T7syv5yv0iyKi+G.spsNf -----------end_max5_patcher-----------