RTGS3 Icon

Tutorial 5: Timestretching Techniques

Timestretching is the Holy Grail of granular synthesis technique. One of the pioneers of this technique was Barry Truax, who wrote an insightful article on the subject. This tutorial is divided into 2 sections:

Basic Setup

If you've been working on another tutorial, it might be a good idea to re-launch RTGS3 so that you start this tutorial from the default setup.

Step 1

There's a soundfile in the RTGS3 Help folder called "o_tempo.aif" which is included especially for this tutorial. Load this file into both Buffers.

Step 2

Make the following settings in the main window:

Grain Density = 45 milliseconds

Grain Length = 200 milliseconds

Panning Mode: Alternate L/R | Panning Random Range to Full (-90 to 90 degrees)

Grain Envelope: Hann

Turn Buffer Loop On and set the loop points to 0-6000 ms:

BufferLoopOn0-6000ms
Step 3

Click the Play button on the Buffer Automation controls. Turn the Power On and activate the Grains toggle.

You'll hear the sample start playing at its normal speed. Although it sounds as though the source sound is not being processed, keep in mind that whenever you generate sound with RTGS3 what you're hearing are short fragments of sound. Try setting the Panning Mode back to "normal" or the Transposition Amount Random Range to Maximum and you'll hear what I mean. (Change the Panning mode back to "Alternate L/R" and the Transposition Amount back to 0. semitones before continuing with this tutorial.)

Step 4

Set the Speed: menu to "1:8":
Speed1to8

You'll hear the sample is being timestretched, and now it becomes very clear that RTGS3 is playing fragments of sound. This is probably not the result you were hoping to hear, but don't worry! In the next section we'll explore all the different possibilities for timestretching and make some very beautiful soundscapes.

Back to top


Detailed settings and fine tuning

Getting good timestretching results from RTGS3 can create a heavy load on your computer's cpu. Keep in mind while doing this tutorial that you may create settings which will cause your computer to become unresponsive. If that happens, force-quit RTGS3, restart your computer, and try again. (Tip: give RTGS3 as much of your computer's resources as possible by quitting any other unnecessary programs running in the background.)

Step 1

Starting from the setup from the end of the previous section, drag the Grain Density slider to the left until you reach 3 milliseconds. You'll notice that the sound texture changes dramatically as you move towards a higher density.

You'll probably also have noticed two more things: first, that the sound gets a kind of "tinny" quality to it, and that there are periodic clicks and glitches in the output. The following steps will address both these issues.

Step 2

Before we go further, we need to set up RTGS3 so that it can maximize its use of the resources available to it. Locate the System section of the main window, and activate both "Mon." toggles:

SystemMon32Voices

You'll notice that even though the Voices indicator has reached its maximum, the CPU meter is only at around 10%. (Keep in mind that your CPU usage may be higher or lower than this, depending on your computer. This screenshot is from a 2.93 GHz iMac with 4 GB of memory, running OS X 10.6.5.)

The clicks and glitches you hear in the output are caused when RTGS3 attempts to generate a grain while there are no voices available for it to do so. Change the Max. voices value to 72. You'll notice that the Voices indicator drops slightly and the CPU indicator rises. RTGS3 is now using a little more CPU power from your computer, but the clicks and glitches are gone.

Step 3

Let's take a moment to look at how the Grain Envelope affects the output sound. Drag the 2D Grain Envelope slider down so that it is at the middle-bottom:
GrainEnvelopeHannNarrow

You'll notice that the output sound is less dense when the Grain Envelope is narrower. Experiment with the different types of envelope shapes to get a feeling for the subtle differences they can create.

Step 4

Now let's see if we can do something about the tinny quality of the output sound. What you're hearing is actually called "comb filtering," which is the result of adding slightly delayed copies of a sound to itself. And indeed, if you think about it this is exactly what RTGS3 is doing: 200 millisecond long fragments of sound are added to each other delayed by 3 milliseconds. What we need to do is make sure that those fragments of sound are no longer similar to each other by transposing each of them by a slightly random amount. CTRL-click the Transposition Amount slider and drag it just a hair, so that the Random Range is very slight:
TranspositionSlightlyRandom

Remember that to make fine adjustments to any slider, hold down the shift key while dragging.

With these settings you can do some extreme timestretching in order to explore what Barry Truax calls the "inner complexity" of sound. Try setting the Speed menu to its highest setting (1:16), or stop the Buffer Automation altogether and drag the Buffer Position slider with the mouse while holding down the shift key.

In this tutorial we created the classic granular timestretch effect as popularized by artists such as Barry Truax, Laurie Anderson and Broadway Project. In the next tutorial we'll look at some of the sound sweeteners offered by the RTGS3 effects section.

Back to top