RTGS3 Icon

Tutorial 2: Controllers Explained

Eventually you will want to automate the RTGS3 sliders, or control them using an external device. You need Controllers to do either of these. This tutorial is divided into 5 sections:

MIDI Controllers

Step 1

To set up any type of controller, you'll first need to expose the Controllers Setup pane. Clicking the text "Show Controllers" will expand the main interface window, where you'll see a list of all the controllers available in RTGS3:

clicking this: ShowControllers will show this:  TheControllersPane

Step 2

Let's assign a MIDI controller to the Buffer Position slider.

Before we go further, you might want to make sure that your MIDI device is connected and set up properly to work with your Mac. If it isn't, you'll have to quit RTGS3 and set up your device using Apple's AudioMIDI Setup application first.

Step 3

Activate the first MIDI controller by clicking its toggle, and then open its settings window by clicking its gear icon:
MIDI1Active MIDIControllerWindow

Step 4

In the "Input Device" menu there is a list of all the MIDI input devices available to RTGS3. Choose the device you wish to use from this menu. Click the "Listen..." button, and then wiggle a fader or knob on the device. This will assign that specific fader or knob to RTGS3's MIDI Controller 1.

The MIDI Channel and Controller Number settings will be set automatically. If you wiggle the fader or knob some more you should see the Value indicator change. If it doesn't, return to the AudioMIDI Setup application and double-check that your MIDI hardware is set up properly.

Step 5

Now return to the main interface window and locate the Buffer Position slider. Hold down the CMD key and click the slider. In the menu that pops up, select "MIDI 1": BufferPositionSetToMIDI1

The fader or knob which you assigned to MIDI Controller 1 will now control the Buffer Position slider.

Step 6

Take a look back to Tutorial 0 section 3, "Let's get thick." This was where you loaded in a soundfile and then scrubbed through it with the mouse. You'll notice that scrubbing with a MIDI device's fader or knob does not sound nearly as good as when you used the mouse. This is because typically the resolution of a MIDI controller is a 7-bit number (0-127), whereas the RTGS3 sliders work with 32-bit accuracy.

The easiest way to remedy this is to apply smoothing to the Buffer Position slider. Look back to Tutorial 1, section 3 "Semi-Secret Settings" to see how this is done.

Back to top


Open Sound Control (OSC) Controllers

OSC controllers are substantially more complicated to work with, however they provide a great deal more freedom, accuracy and flexibility than MIDI controllers.

Step 1

Activate the first OSC controller by clicking its toggle, and then open its settings window by clicking its gear icon:
OSC1Active OSCControllerWindow

Step 2

Make sure that your OSC controller is communicating with your Mac. Take note of the Port and Prefix settings you used when setting up the connection, and check to see whether the application is set up to send integer or floating point data.

I recommend using the TouchOSC application from Hexler running on an iPhone or iPod connected to your Mac using WiFi for this tutorial. Refer to the TouchOSC software's documentation to see how this is done.

Step 3

Set the Port and Prefix fields in the OSC Controller window to the same setting as used in the OSC application running on your external device. If the application is set up to send floating-point data, activate the "Float" toggle.

If you're using TouchOSC, the Port number can be found in the Network Setup pane and the Prefix setting can be found in the documentation.

Step 4

Return to the main interface window and locate the Buffer Position slider. Hold down the CMD key and click the slider. In the menu that pops up, select "OSC 1":
BufferPositionSetToOSC1

The OSC Controller will now control the Buffer Position slider. Because OSC is generally much higher resolution than MIDI, you may not have to set up any kind of smoothing for the Buffer Position slider.

Back to top


Generators

Generators are built-in controllers that can be used to automate movement of the RTGS3 sliders.

Step 1

Activate the first Generator by clicking its toggle, and then open its settings window by clicking the gear icon. There are three different types of generators, which you select using the menu:
Gen1Active GeneratorNoneWindow

Step 2

The first type of generator is "Ramps". It can generate line segments at different speeds, directions and lengths. Select this generator using the menu, and then set the Buffer Position slider to use this generator by CMD-clicking the slider and selecting "Generator 1" from the menu that pops up:
GeneratorRampsWindow BufferPositionSetToGen1

You'll see the Buffer Position slider start to move slowly to the right, and then jump back to the start after reaching the highest position. Try clicking the Direction button twice to set the movement to go back and forth.

Step 3

Let's take this moment to discover another feature of the RTGS3 sliders. Go back to the Buffer slider and click its gear icon twice so that "Limit SLIDER Controller Input" is shown:
BufferLimitSlider

Click and drag on the red part of the slider so that only the upper half is highlighted (as shown in the image above). Now switch back to the Buffer Position slider by clicking the gear icon three times and you'll see that the movement is only taking place in the top half of the slider's range. This is a handy way of limiting the range of values coming from a controller to a smaller portion of the slider you wish to control.

Go back to the Generator window, and move the Average Speed slider to the right and activate the Randomize toggle. You'll notice that the Direction button disappears, and the Buffer Position slider starts to move randomly back and forth across the range you set.

Step 4

The next type of generator is "Oscillator". Select it using the menu in the Generator window:
GeneratorOscilWindow

As the name implies, the data generated by the Oscillator is comparable to what you'd expect to see from an audio waveform generator. Take a look at your Buffer Position slider now (if you've done the previous steps in this tutorial) and you'll notice that it's moving back and forth in a sine wave pattern.

Step 5

The last type of generator is "Steps". Select it using the menu in the Generator window:
GeneratorStepsWindow

As opposed to the previous generators, Steps doesn't generate smooth slider movement but rather it creates jumps from one value to another. It can generate disjunct random values (Noise) or a random walk (where new random values are generated which are close to the previous random value).


Back to top


USB Devices

This section will focus on two subjects: a special way of controlling the RTGS3 sliders with the mouse, and how your computer's USB keyboard can be implemented for specific uses.

Step 1

Activate the MouseX controller by clicking its toggle, and then open its settings window by clicking its gear icon:
MouseXActive MouseXWindow

Step 2

There are two ways to activate the Mouse controller. The easiest way is to click the "Always On" toggle so that it is checked, and then setting (for example) the Buffer Position slider to use this generator by CMD-clicking the slider and selecting "Mouse X" from the menu that pops up:
BufferPositionSetToMouseX

You'll notice that the Buffer Position slider is following your mouse's horizontal movements, without you having to click the slider itself. The higher the resolution of your display, the more accurate your control over the slider will be. If the jumps caused by the mouse's limited resolution is undesirable, you can try setting the "Interpolate" slider to a higher value. This will smooth out the data being sent to the slider.

Step 3

Permanently linking mouse movement to one of the RTGS3 sliders can be a bit inconvenient, since any movement you make (such as selecting menu items) will be reflected in that slider's position. That's why the Mouse Controller can instead be activated by a keypress on your computer's keyboard:
MouseXWindowActivationKey

Switch the "Always On" toggle to the OFF position, and then click the "Listen..." button. Press the "1" key on your computer's keyboard (you'll notice that the "Listen..." button remains lit until you press a key). Now the horizontal movement of your mouse will only control the Buffer Position slider while the "1" key is being held down.

Step 4

Now let's look at a couple of interesting ways to use your computer's USB keyboard to perform some specific tasks. Release the Buffer Position slider from the Mouse controller by CMD-clicking the slider and selecting "none" from the menu that pops up. Now open the Alphanumeric Keyboard Controller window by clicking its gear icon:
KeyboardControllerWindow

Step 5

Activate the first two toggle boxes: " 'Type in' Buffer Position" and "Each keypress generates one grain". Load some audio into the RTGS3 buffers (such as the example file we loaded in a previous tutorial, although this might be a good opportunity to try out one of your own samples instead).

Type some letters on your Mac's keyboard. You'll notice that the Buffer Position slider jumps back and forth across its range, depending on which keys you're pushing. Also, each keypress causes RTGS3 to generate one grain of audio. This is one good way to improvise with fragments of sound - try loading in a sample of spoken text and set the Grain Length to 200 ms.

Step 6

Deactivate the first two toggles, and then activate the toggle for "MIDIkeys". Refer back to Tutorial 1 Part 1, where we loaded a sine wave into the RTGS3 buffers and set up the Transposition slider to do pitched transposition.

Turn Grains On and type the letter "a" on your Mac's keyboard. You probably will hear the tone switch from being randomly transposed to being transposed to perfect octaves. Depending on the steps you took to get to this point you might hear something different, but the significant thing you should notice is that typing keys on the keyboard affects the state of the Keyboard control in the Transposition section of the main interface window.


Back to top


The Timeline Controller

Let's have some fun while learning about the Timeline Controller.

Step 1

Locate the Timeline section of the Controllers pane and activate the loop toggle, and then click the "Tracks..." button to open up the Timeline Tracks window:
TimelineController

Step 2

Edit the tracks in this window so that it matches these settings. Make sure that tracks 1 and 2 are activated and then close the window.

Step 3

Now here's a little test - see if you can create the following setup on your own:

1. Fill the buffers with a sine wave at middle C (which is around 261 Hertz).

2. Set the Grain Density to 100 milliseconds and the Grain Envelope to Hann.

3. Drag the Grain Envelope's 2D slider down to the bottom so that the shape is at its narrowest. Set the Envelope Shape X parameter to use the "Timeline Track 1" controller (Tip: to make this setting you'll have to open the More Grains Controllers window by clicking the gear icon next to the "Grains On/Off" toggle).

4. Set the Grain Length slider to use the "Timeline Track 1" controller, and the Transposition Amount slider to use the "Timeline Track 2" controller.

5. Set the Panning Angle Random Range to use the "Timeline Track 2" controller. (Tip: hold down both the CTRL and CMD keys to set a slider's Random Range controller).

6. Set the Transposition Mode to "Pitched" and the pitch grid to "Pentatonic".

7. Start the Timeline by clicking its "play" button, and then switch the Power and Grains On.

It should be clear to you after doing this tutorial that Controllers are the key to unleashing the full potential of RTGS3, especially if you plan to use it for live performance. The next tutorial describes the different ways of getting sound into RTGS3.

Back to top