Granular Synthesis in Pure Data

Granular Synthesis on Audio Files

The goal is to create a patch that loads an audio file from which are taken tiny grains from random positions. The controllable parameters should be:

  • Grain density: how many grains per second we expect to listen.
  • Grain starting time: position of the loaded file that the grain starts.
  • Grain length: how long the grains will be.
  • Playback speed: how quickly will the grain be played, affecting the pitch of the grain as well.

Simple grain Generator

In the following example you can see a grain being generated in its simplest form. The source audio isn’t coming yet from an audio file, but from an oscillator that generates a sine wave at 100 Hz. The audio segment on the left side is then modulated by the envelope and generates a single grain that has a duration of 100 ms. (Kaliakatsos-Papakostas, 2016)

Granular Synthesis basics; Source: Kaliakatsos-Papakostas, 2016