@Moddmo said:
I don't want to spend months making a patch and end up with crap sound.
Well, that's hard to promise because I'm not sure exactly what you mean by crap sound. 
What I can say is that granular synthesis is made up of short clips of audio under envelopes. Pd can do both:
- clips:
tabread4~ for a sound file loaded into memory, delread4~ for live input.
- envelopes: you can fill an array with a Hann (or any other type of) window, and stream it out using
tabread4~ as well.
Pd has one edge over Max here, in that Pd's metro is sub-block accurate. In both Pd and Max, there's an audio block size (default 64 samples), and control messages execute only on those block boundaries. In Max, last time I tried to do granular synthesis driven by control messages, I could hear the timing inaccuracy due to the messages being quantized to these block boundaries. (Maybe that's changed in Max 9, but that's my recollection from Max 8.) In Pd, control messages are processed on block boundaries, but they also carry sub-block timing information so that grains will start on the right sample, not just the right block. IMO Pd's timing was noticeably smoother. (In Max, multichannel signals get a better result.)
For sound quality, it's very helpful to introduce a little bit of randomness into the grain time position, to avoid "machine gun" effects.
Again, "close to the available software," I'm not sure exactly what you mean. With proper tuning, I was able to get a pretty smooth sound out of it. Maybe an example later.
hjh