Articles

Getting Around in Radial, Part 2

In our last installment, I tried to present some really simple and (I hope) explanatory samples of some of the easiest ways to generate and organize variety on the fly using radiaL. One of the things that those examples did that I didn't talk very explicitly about involved loading a single loop on multiple channels and then using radiaL's ability to playback sections of that loop in a nonlinear fashion to create evolving structures. In the interests of "ear training," I suggested that you mute some of the loop channels as you went along in order for some parameter to be easier to hear, but it's my hope you just turned all the channels on and listened to them run when you were done following my instructions. Just in case you didn't, I've included another loop constructed so that you can generate varying patterns by loading it on multiple channels and then playing varying sections of the loop with different pitch/time grid and transposition settings. It's called "moogphrase.aif" Perhaps a little play with this is a good warm-up to what we're going to look at next. Download the materials here.

More Slicing/Making It Snappy

Fun's over. Now, back to work!

The above example, creates patterns by selecting only a portion of a loop for playback, which we talked about and looked and listened to in our last installment. You'll notice that all of the subsections of the loop are increments of 1/8. If you look carefully, you'll notice that the radiaL display displays a number of "tick" marks that show the loop as having eight sections. That's just a default value, though. You can choose how many subunits you want to work with by setting the "snap" parameter for each loop channel. The snap parameter is located in the upper right-hand corner of the Inspector. Like the slice value we looked at last time out, You can halve or double the snap value by clicking on the up or down arrows. When you do, you'll notice that the loop channel display for the channel you're currently working with will change to reflect the new snap value.

But you're not limited to powers of 2. You can type any arbitrary integer value into the number box to the right of the up and down arrows (You can also do the same to set the slice value in the Inspector to different values). This adds a lot of possibilities for pattern generation in live performance in may ways, from juxtaposing arbitrary loop subunit values which cycle in and out of phase with each other (e.g.,3/16ths of one channel playing against 5/8ths of another channel) to investigating the interplay between combining slice and snap values in interesting ways.

By the way-in normal playback situations (when the large red dot is in the center of the pitch/time grid,) you won't hear any change in loop playback until you either transpose the loop (using the pitch/time grid) or change the time value. You can set everything up and then fire off your variations by changing a single parameter-a very useful feature in live performance.

In Extremis

So far, most of the examples of working with loop playback have involved very narrow parameter ranges for slice and snap values. However, there are interesting things to be Found out on the frontier.

The most obvious example of this is that old standby, the pitch/time grid. Lest I wind up giving you impression that the pitch/time grid is only a playing field for the well-tuned intellect,, I should also point out that it functions as a perfectly serviceable faux KAOSS pad using your mouse or touchpad. A nice one, actually-you're not constrained by the "size" of the p/t grid, which means you have access to the more extreme ranges for loop tuning, and it'll drop right back nicely into sync at whatever grid junction you want to stop on [very useful when combined with the host-synchronized dlaye plug-in].

Enable playback for loop channel 2 by clicking on the (red) number box in the loop channel display for channel 2. Take a moment to savor the grit-encrusted goodness of this really slow loop (for maximum enjoyment, mute channel 1's output). To see how we've achieved this buzzing bundle of joy, Open the Inspector and click on the up arrow on Channel two to inspect the parameter settings for channel 2.

The first and most obvious thing to notice about channel 2 is that the slice value is set to a very high number (512). You'll also notice that the xmode value is set to repeat (the "stacked arrow").

Take a moment to change these variable and listen to the result. Loop channel playback is occurring in exactly the same manner as we've seen earlier, but the number of slices is very large. You'll also notice that the T value on the pitch/time grid for channel 2 is set to such a small number (.125) that it's not even visible on the grid. Try some different values on the T axis of the pitch/time grid and see how that changes playback. Once again, the basic idea here is the same as in our last installment-learning radiaL as an instrument involves developing a "feel" for how its parameters interact.

Some of the "roughness" you hear results from discontinuities when playing back the loop when sliced into tiny increments. Although this is a feature [think of I as a very rough kind of granulation], you can lessen the roughness by changing the xfade value in the inspector.

And, as we saw last time out, the playback of even tiny sections of a loop will alter in interesting ways when the loop is transposed (either by using the pitch/time grid or the kpitch parameter in the Inspector, adding an unusual kind of animation to the sound of your audio material.

Loop channel 3 shows another interesting use of the snap value (Again, you probably want to mute the other tracks and enable this one to really hear what's going on). As you can tell from the loop channel display, loop channel 3 has a large snap value set in the Inspector. So clicking in the center ring of the loop channel display chooses only a sliver of your audio file.

This lets you to scrub through your loop in performance by clicking in the outside ring of the loop channel display and dragging your selection around.

But there's another interesting way to achieve a similar effect using the Inspector. The radiaL parameter nudge is normally used to "correct" the start point on a loop so that the attack lines up with other loops a bit more nicely. You can either type in a nudge value in the number box, or use the slider located beneath the waveform display in the Inspector to change the nudge amount.

But while you're working with a subsection of a loop (particularly a very small one), the nudge command is a great way to control what part of the loop is being played back, and an easier way to change loop playback and still "see" the part of the loop you're selecting. As you click and drag on the nudge slider, you'll see your audio file move from left to right, with the dark portion of the waveform display showing you what portion of the loop is being played.

Throwing Out Sparks

Loop channel 4 contains the ingredients for one more quick little trick that's quite useful for live work. When you enable playback on loop channel 4, you'll notice that it is a mild-mannered loop playing back in the normal way. But the Inspector will quickly show us that something is ready to happen-note that we've set the slice value to some number other than the default 16 (64, in this case).

Click on the three dice in the lower right-hand corner of the Inspector and listen as things get a bit more interesting.

The dice algorithm will randomly rearrange the playback of your loop. The amount of the loop which is played back between "jumps" can be altered by changing the slice value and the T (time) unit in the pitch/time grid. You can load the same loop on two different channels with random playback enabled and two different slice values for some interesting rhythms and sequences. It's also worth that randomized playback occurs "inside" of a loop subunit is you're not playing the entire loop back.

Although these are pretty simple interactions, there's plenty to investigate-loop channel output when you perform with radiaL is the end result of a number of complex interactions. I've tried to demonstrate these in very simple ways, learning radiaL is about developing an understanding of how they interact.

In the next installment, we'll look at using radiaL with external controllers (the "physical" part of the radiaL instrument) in ways that let you get optimal performance mileage out of the parameter combinations you've seen and heard.

by Gregory Taylor on February 19, 2007

Creative Commons License