In Emmett’s discussions on simple synthesis, he provided you with a lot of great building blocks for exploring analog synthesis. As my expertise lies more in the digital realm, I thought it might be worthwhile to discuss some synthesis techniques that are more traditionally done digitally. One of the more interesting techniques is called Granular Synthesis. There is a lot to be said bout what it is and how you can use it in your music, so for now I will start with an introduction to this technique.
The theory was first formalized by British physicist Dennis Gabor, although composer Iannis Xenakis is credited as the first to use this technique in practice and maybe the first to document it as it applies to music in his 1971 book Formalized Music. His piece Analogique A-B for string orchestra and tape may be of interest. Once computers became powerful enough to handle all of the processing required to perform granular synthesis, Curtis Roads implemented the first digital granular synthesis engine and composer Barry Truax is thought to have been the first to realize these techniques in real-time.
Granular synthesis is perceived as a relatively recent development in sound synthesis, but it can also be seen as a reflection of long-standing ideas about the nature of sound. Quantum physics has shown that sound can be atomically reduced to physical particles (as stated in Norbert Wiener’s 1964 book ‘Spatio-Temporal Continuity, Quantum Theory and Music’). Just as with light, sound can be viewed both in terms of wavelike properties, and in terms very small segments of sounds. Granular synthesis builds up sonic events from thousands of tiny sonic grains. A grain is a brief moment of sound lasting anywhere from 1 – 100 ms. Multiple grains may be layered and crossfaded on top of each other, and may play at different speeds, volumes, directions, and phase positions, among other properties. This dense layering of small sonic particles can give rise to many interesting sounds, as well as accomplish more conventional audio processing tasks such as amplitude modulation and pitch independent time-stretching, and time independent pitch-shifting.
To get a better idea of how granular synthesis works, let’s take a look at how the basic technique of pitch shifting is accomplished. When playing back audio files you read back the samples one at a time in order. If you want to double the pitch, you play the samples back at twice the speed. To halve the pitch you play the samples back at half of the original speed. Graphically it would look like this:
Imagine that the X-axis is time, and that the Y-axis is the sample that is being read in the audio file. As you can see when we do pitch shifting the old fashioned way, pitch and time are inseparable. But granular synthesis allows us to playback audio faster or slower, and it always begins at a point that corresponds to the initial speed. Graphically it would like this (with a window size of 1/8th of the sample, 64 samples in this case):
In this way we can play back audio files at different pitches, but in the same amount of time. Of course, this implementation is extremely rudimentary, and wouldn’t sound very nice without some massaging, but hopefully you get the idea. Below you can see what the effect of the grain size (sometimes called the window size) can have on the way the audio file is played back. This setting will have a drastic effect on the way the material sounds.
Hopefully this post was able to shed some light on the sometimes mysterious technique of granular synthesis. In the next article we will apply some of these techniques, introduce some windowing and crossfading, and construct a bare bones granular synthesis engine in Max.