home/ atoms/ play-object-for-grain-enveloping

play~ is chosen over groove~ for granular synthesis because its triggering allows efficient per-grain enveloping

Max/MSP offers two objects for reading a buffer~: groove~ (continuous, variable-speed looping) and play~ (discrete triggered playback). For granular synthesis play~ is preferred because the way you trigger it integrates naturally with per-grain amplitude enveloping — you can shape each grain’s attack and release cleanly — and because it is more efficient for the many short discrete reads granular synthesis needs. This is not an absolute rule: groove~ can also be made to work, but it requires extra effort to reset phase and envelope each grain, whereas play~ matches the granular model of discrete triggered events. Per-grain enveloping matters because reading a raw fragment with hard edges produces clicks at the grain boundaries; a smooth attack/release window removes them.

Examples

In a Max granulator, a trigger (e.g. a metro) fires play~ once per grain and an amplitude envelope shapes each grain’s attack/release; using groove~ instead would need a separate mechanism to re-trigger and window each grain.

Assessment

State one reason play~ suits granular synthesis better than groove~, and explain in one sentence what per-grain enveloping prevents perceptually.

“I want to be able to do enveloping of the grains which will do but I've found that the play object all the means by which I'm triggering the player object allows me to do that a little bit more efficiently”
corpus · max-msp-tutorial-granulation-grain-generation-must1002-free · chunk 1