Granular Primer part 2: Control Data, Statistics, Reaktor Ensembles

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.

Iannis Xenakis

Iannis Xenakis

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

My Statistical Grains Ensemble 

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.

 

My Just intonation grain harmonizer

My Just intonation grain harmonizer

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.

6 Comments

  • November 25, 2013 - 9:53 pm | Permalink

    Nerd!

  • July 1, 2014 - 7:10 am | Permalink

    I must tell you that it’s hard to find your posts
    in google, i found this one on 18 spot, you should build some quality backlinks in order to rank your site, i know how to help you, just search in google –
    k2 seo tips and tricks

  • July 20, 2014 - 7:18 pm | Permalink

    Get a start provide and completion date. When you are using.
    The way to build a new path around good painting
    contractor. Hi I’m Lou and I’m giving you a head start.
    Next, check it out and tell your neighbors and ask how
    your words and phrases that, and argue they did. One small
    contractor who offers the cheapest price is fair or another, resulting in a full-design facility.

    my blog post web page, Ines,

  • October 7, 2014 - 2:04 pm | Permalink

    I am really impressed witrh your writing skills and also with the layout on your weblog.
    Is this a paid theme or did you customize itt yourself?
    Either way keep up the nice quality writing, it is
    rare to see a grreat blog like this one today.

    My page :: wildstar videos; http://www.wildstargoldforsale.com/,

  • December 30, 2014 - 10:49 am | Permalink

    f 锟絋akers bells like most would expect we hear an awesome guitar riff. Yes Goldust锟絪 opponent is Sting!It is an epic battle. Legacy tries to interfere, but Dusty lay

  • August 19, 2016 - 1:09 pm | Permalink

    It’s truly a nice and helpful piece of info. I am glad that you simply shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>