First sketch of noid's lloopp port from:
stereo (real-time) granulator...
• munger takes a signal input and granulates it, allowing for different transposition and granular sampling effects.
• by dan trueman, computer music center, columbia university...
ON ~ turn munger on and off, to save CPU.
VOX ~ the "voices" message tells the munger how many grains to allow simultaneously (10 by default). The more voices, the more expensive. You can smoothly sweep this parameter.
Direction ~ allows grains to play backwards and forwards, just forwards, or just backwards.
g.ramp ~ "ramptime" sets the length (in ms) of the ramping envelope on each grain. If the grain is smaller than the ramptime, the ramptime will be scaled to half the grain size.
Clear ~ impolitely clears the internal sample buffer.
Position ~ set the playback position within the buffer (between 0 and 1). -1 = randomized position (which is the default). It is possible to get some interesting stretching effects by scrubbing through this with "record" on, and some good transposition effects with "record" off.
Freeze ~ Turns recording on and off. Turning off freezes the buffer. On by default.
"Gain" sets the baseline gain for grains, "rand" sets a randomized range around that baseline.
ST ~ stereo spread.
octave divided control of the grain pitches.
Left box: semitones to shift, right box: amount of semitones in one octave.
"center resets the center frequency (=0 semitones for the octave divider).
Beneath this there is the main grain pitch, the pitch variation slider (pink) and the "var" menu. The "var" menu is how to randomize the pitch: smooth is with glitches, tempered only allows semitones and fixes pitch for each grain.
apply pitch sleves to the grains. control how deeply into these sleves to go with the "grain pitch variation".
delay ~ Constrain how far back in time the munger looks for grains. The smaller this is, the smaller the largest grain can be. The munger's argument sets the maximum delay length possible (and the default value for delay length). This isa super cool parameters to mess with.
PRIMARY CONTROLS values are in ms.
Mostly self explanatory. Control how much separation the grains should have and how much to randomly vary the separation. Similarly with grain size. Transpose all outgoing grains with the "grain pitch" multiplier. Vary the grain pitch, either randomly or through "pitch sleves" (set with "scale" messages) using the "grain pitch varaition" input (if you use a "scale" message, the "grain pitch variation" parameter will control how far into your scale munger will look for notes; try gradually increasing this value and listen as notes appear). finally, spread the grains out across the stereo field (0 is center; 1 is spread completely).