When there are hundreds of grain events happening every second, generating enough control data for all the grains is an interesting challenge. Most software approaches this problem in a straightforward, but somewhat boring way. For instance, a common approach with all grain software is the “jitter” or randomization of parameters between certain values–randomly selecting a panning for the grain between hard left and right, for instance, or a pitch between -100 and 100 cents (this would make a nice chorus effect, by the way) are two examples. This is the most basic form of statistical distribution, essentially the distribution curve of white noise. Statistical methods in music have been used for some time, especially since pioneered by Iannis Xenakis in the 1950’s and 60’s. He called it stochastic music, and used the orchestra like a giant granular synthesizer, and even generated scores based on statistical methods with early mainframe computers.
Xenakis used a more sophisticated system for his statistical distributions, defined here by Agostino Di Scipio in his paper.
“An aleatoric variable is a variable that can assume any value in a given range Ω, but conditioned by a given probability for each particular value in the range….A distribution function describes the profile of conditional probabilities for all values in the range Ω. The word “stochastic” means that the process proceeds asymptotically towards a stable state, a destination (στοχος).”
The general meaning of this is that there are distribution curves for the range of values chosen, instead of a purely random distribution, as used in most granular software. This kind of idea is the first step to making granular sound more interesting–and the fact that it has not been widely implemented means that there is much room for improvement. A random distribution of pitch, or panning, for instance, is not very musically useful. For pitch, a quantized, and weighted distribution would be much more useful (see the following Reaktor ensemble), and for panning a distribution as described above would create better spatialization effects.
The Reaktor ensembles that I’ve created for granular effects play with these ideas, as I’ve tried to find solutions to the problem of control data. Another effective way that i’ve found to control grain parameters is by using the metasurface in Audiomulch, which lets you interpolate between sets of parameter values on a two dimensional surface. It can create very precise control of grains and the ability to find new sounds while interpolating between sets of values.
My Statistical grains ensemble lets you choose 3 values for each major granulation parameter and the probability that any of these 3 values will be applied to the current grain, as well as a “jitter” effect to add some simple randomization to these chosen values. This is like a simplified version of the Xenakis style statistical distribution described earlier. The simplicity works well though–there’s no need to define a distribution function for each parameter, which is something that doesn’t really sound that fun to me ;). The grain parameters are able to go to extreme values–grains of up to 10 seconds long, and very long delay times.
The Just Harmonic Effects ensemble is a harmonizing granular delay effect with feedback. There is a dialog of chords to choose from, and then a slider to control the distribution curve of the pitches. The transposing pitches are set by using semitone values, but are then quantized to a simple 7-limit Just Intonation chromatic scale.
Anyways, more to come! Enjoy the ensembles. Most of my ensembles are “beta,” as in, I don’t make a lot of presets for them and their behavior is somewhat rough at times. Feel free to tweak away on the parameters for the knobs for instance, on the statistical grains ensemble. I have it set up now to create really long textured delay effects, but reducing the delay times can give interesting results too.