[sdiy] What's Granular Synthesis?
Byron G. Jacquot
thescum at surfree.com
Sun Jan 28 23:28:21 CET 2001
>Hm.. So if it understood it correctly it's "just" a modern form of wavetable
>synthesis.. invented to get rid of all the shortcommings of traditional
>wavetable sounds (read: aliasing, loss of harmonics, boring sounds ect).
Depending on your definition of wavetable. Some people mean using a table
with a bunch of single-cycles waveforms that they can scan through when they
say wavetable, like Waldorf/PPG. Other folks use the word wavetable to
describe an insturment with ROm based sampled sounds (Roland/Yamaha etc).
Granular falls somewhere in between.
Imagine a sample of, say, someone talking. Normally, to play it back
forwards, you'd use an index into the data to find the current sample, then
increment the index to the next sample...say there's an overall amplitude
envelope over the entire sample as well, for now, set to a fast attack &
release shape, so the sample isn't really changed in amplitude as it runs.
This is treating that sample as a single, rather large "granule."
Now imagine breaking up the sample into tiny fragments, say each 1/4 second
long. Now, when the sound is played, we'll use a bunch of indexes, each at
the start of those 1/4 S fragments, and still using rectangular envelopes.
This combination of a little snippet of audio and an envelope shape is a
smaller "granule." To play this, the first grain will play, the second
will follow, then the third, etc...and the result will be about as above.
But now set those envelopes to 1/8 S attack & decay and play it
back...you've effectively got triangle wave amplitude modulation at 4 Hz, an
overall envelop like "^^^^^^."
So to prevent the amplitude modulation from chopping up our sound, let's
double up the number of indexes that we're using, and insert the new indexes
at the midpoints of the old ones, so the new set overlaps the old set. Now,
when we play the first grain back, when it's halfway done, start up the
second one...the third will start when the second is half done, and the
first is then completely finished. This fills in the holes between the
initial series of grains.
We could keep adding overlapped concurrent grains, and making each grain
even smaller to increase the accuracy of the playback.
Again, the result should be fairly close to the initial linear sample playback.
So if we keep arriving back at ways that some close to linear playback, what
good is granular synthesis?
It's when we start to monkey with some of the parameters that it begins to
get interesting. We could keep the rate of new grains the same as when
playing the original sample, but make it so each grain played back an octave
lower: voila! You've dropped the sound an octave, but not made it any longer.
Or you could play each grain at the same pitch, and keep the number of
concurrent grains the same (say, 3 grains active at any one time), but work
your way through the source material very slowly...and you'll get a timestretch.
I think the non-realtime sample manipulation in the Akai samplers used these
techniques, but I'm not sure...some of the odd things they'll do to voices
at extreme settings do sound granular. The older Eventide harmonizers do
something akin to that first method, but in realtime on a RAM buffer, rather
than a fixed sample.
Granular is also capable of some incredibly interesting results fed some
random numbers, or walking forwards through the data, but playing the grains
backwards...or with one tiny little grain starting every second or so...or
use "M" shaped envelopes, instead of "^" ones...there are a lot of
parameters to fiddle with, and each one will have a profoundly different
effect on the result.
Byron Jacquot
More information about the Synth-diy
mailing list