

We will also add a preset object and attach it to the function object. Create a new object called gizmo~, open its help file, enter Edit mode, and copy the object called “pfft~ gizmo_loadme 4096 4.” This pitch shifter is fantastic!! You may now delete the gizmo~ object you just created.

We will use the pitch shifter supplied by the wonderful people at Cyling74.

Next, we will change the pitch of the grain streams by using the pfft~ object. You can send them to whatever channels you like of course. I have sent the original stream to the left output channel and the delayed stream to the right output channel for testing. In this patch, there is a simple delay line utilizing tapin~ tapout~. It all depends on how many grain streams we want!!įigure 3: Basic granulator with delay line. If we wanted to create more than one stream of grains in this manner, we could simply duplicate what we have already done, i.e., copy and paste, or we could implement a delay line or several delay lines using tapin~ tapout~. In this patch, we are adding the intergrain time, i.e., the amount of silence we want between grains, to the duration of the grain in order to control when the metro triggers the generation of each grain. In the next patch, we will add a metro and do some simple maths to control the intergrain time.įigure 2: Basic grain generator with metro controlling intergrain time. The patch is silent until you press the button and generate a new grain. Right now, pressing the button controls the intergrain time, i.e., Rupa Dhillon The grain duration is set using the “setdomain” message. In this patch, a triangular envelope has been drawn into the function object and a grain is generated each time the button is pressed. The following patch creates a single stream of grains:įigure 1: Basic grain generator. To generate the envelopes, we will use the function object, and for the audio, we will use cycle~, though you can use ezadc~ or any MSP synthesizer you wish. The first step is to create the grains, meaning we need sound going into the patch with envelopes being applied to it in real-time. In this tutorial, you will learn the basics of granulating live and pre-recorded audio in real-time.

Granular synthesis can be implemented in real-time or non-real-time. Each grain has its own characteristics, such as envelope shape, length, pitch, and amplitude, and multiple layers of grains can be created to produce very complex sounds. The silence between grains is known as intergrain time and can be of any length also. Grains that are shorter in length are usually perceived as clicks, but can be sonically useful so do experiment. Each of these grains is usually 20 milliseconds or longer. Introductory Granular Synthesis in Max/MSP Granular synthesis is a technique in which you take small chunks of sound, called grains, and sequence them in time to create soundscapes and music.
