Tag Archives: electronic music

Frame Tutorial Part 2: Position and Length Controls

Hi Reaktorists! I hope our American friends have had a great Memorial Day weekend and are back in the office or classroom, ready to slack off at their desks and learn more about Reaktor. šŸ˜‰

Today we’re going to look at the mechanisms by which Frame 3 sets sample playback position and length. Don’t have Frame 3 yet? It’s a free download here, where you can also get part 1 of the tutorial. So let’s drill down into the structure.


First off, notice that the grain cloud sampler module (here labeled Frame Cloud – you can usually rename these things in the properties) has a “Len” output port. This sends out the length of the sample in milliseconds when a different sample is selected or played back. I’ve highlighted the “Len” port and relevant wire here, and turned on wire debugging so we can hover the mouse to see the
values the connection is sending.

  

 The Len value goes to a multiplier where it is scaled by the Length control. If you multiplied the value from Len by a value between zero and one, you would get a potential length from zero to the maximum possible length of that particular sample. We can do something more useful, though, by setting different min and max values for that control:

Here, the Min value is 0.05, because we don’t want to scale the sample playback length all the way down to zero. Having done some trial and error experimentation, 0.05 is about right for samples composed of short musical phrases, 5 to 10 seconds long. Feel free to experiment with this though, as slight changes to very small grain lengths in a granular sampler can yield vastly different tones.

The Max value is set to 0.5 – however, notice that the value from the Length knob multiplies the sample length twice, giving us a nonlinear curve. This makes it easier to get smaller length values by tweaking the knob. (more on basic math in Reaktor here) The maximum length with a value of 0.5 is a quarter of the sample length. If you want a longer sample playback window, changing this value to 0.6 to get a max length a little more than one third the length of the sample works well too.

The Len output also gets scaled by the Position knob to set the playback position. Here are the properties for the Position control:

This is a straight zero to one, and it’s only multiplied by Len once, because we want the full range of travel of the length of the sample and we want the travel to be linear. However, notice that the mouse resolution is turned up to 1022 and there’s a very small step size.

Popping up one level in the structure, here’s a mouse area module, which appears (or more strictly speaking, doesn’t appear!) on the front panel of the instrument as a transparent overlay over the waveform display. The mouse area will appear greyed-out and visible when the panel is unlocked, allowing you to move and scale it, but becomes transparent and invisible when the panel is locked, unless you’ve altered its properties in the view tab.

The point of the mouse area is to allow you to click and drag on the waveform to set the position and length of the sample playback area. Instead of connecting directly to the sampler module, the mouse area uses two IC Send modules to connect to the position (X) and length (Y)  controls on the front panel. That way, clicking and dragging to move the playback window also moves the knobs and keeps everything in synch.

The two other important things to note about the position and length controls is that they can be modulated by the LFO macros, and that the current position and length are shown by translucent  blue-green indicators on multi and poly display modules. We’ll look at the how and why of that in upcoming installments of the Frame 3 tutorial series.

That’s all for today, so in the meantime experiment and explore, and enjoy.

ADDENDUM: Reaktor Tips reader BD noticed that some of the parameters in Frame weren’t mappable in Ableton Live. Here’s how to fix that. Number one, click on the Frame 3 title bar so the instrument is focused:

Number two, on the instrument properties “connect” tab, in the IDs menu at the bottom, do an “instrument down” and then a “sort and compress IDs”.

Sadly, this will likely undo any mappings you’ve already done in your DAW, but there aren’t many in this instrument and after this procedure you will be able to map them all. Make sure to save the instrument so you don’t have to do this again next time. I’ve updated the downloadable file but have included these instructions because a) it’s handy to know, and b) you’ve probably already saved your own modified versions of Frame 3 by now with your own snaps and sample maps.

Frame 3 – Free Creative Sampler for Reaktor + Tutorial Series

Frame is a simple Reaktor sampler I built to implement a type of freeform looping and creative sampling I felt was missing from most other software samplers on the market. Frame allows you to define a window of sound and sweep it across the sample as it plays without glitching or popping. Depending on the size of the sample, the smoothness, the spacing, and whether or not you’ve turned up the position / length LFO, you can get results that are reminiscent of some of the great creative sampling musicians – well alright, this also requires skill and taste; all I’m doing here is removing one of the technical hurdles. šŸ˜‰


Today we begin a series of tutorials that are going to start with picking apart and explaining Frame’s structure then move on to sound design and even modifying the structure – adding more modulations and even sequencing, perhaps. I’m open to suggestions!


First off, let’s have a look at the heart of the instrument, a grain cloud sampler. This module sometimes get a bad rap for eating CPU but it’s one of the most versatile and useful sampler modules in Reaktor and the CPU use can be tamed. Here in the grain cloud sampler module’s properties, I’ve set “overlap” to 1 rather than the default 32. Right away that eliminates a ton of CPU usage.

The trick here is, each note will correspond to a single grain of sampled sound, which allows us to juggle individual grains using Reaktor’s voice logic. In fact, each grain can now be thought of as a slice or loop. We’ll look at how to leverage this in upcoming Frame tutorials.

I’ve clicked on the grain cloud sampler module below which shows all the incoming and outgoing connections highlighted in blue. Notice that I’m not using any of the built in jitter controls, which in my humble opinion can create a stereotypical Reaktor-ish sound which I’d like to avoid; there are other ways to modulate the same parameters that afford better control over the character of the sound.

Starting at the top, there are gate and pitch controls. The gate restarts playback of grains at the G input on the grain cloud sampler, and also triggers an envelope that is connected to multiplier modules to control the sound’s attack, decay, sustain and release.

A tuning macro provides coarse and fine tuning. Here’s what’s inside it:

You may well wonder, why is 60 being subtracted from the incoming MIDI signals? It’s to simplify the process of sample mapping. Frame doesn’t work like a Kontakt style sampler, where typically an instrument like a piano or bassoon is sampled in different key ranges which are mapped across the sample map. Instead, it’s designed to place one sample in each slot (or key) on the map, up to 127 samples, and a sample is selected and played back within a narrow range – you will probably want to stay within an octave of middle C upwards or downwards unless you’re going for particular special effects. And instead of playing one-shots like an emulated instrument, you will want to use samples of short musical phrases, beats, field recordings and such.

TL;DR version: think of pitch zero as neutral, and negative and positive pitch values as repitching the sample upwards and downwards.

An important feature here: the sample select knob, with values that run from 0 to 127, is added to the pitch – so when sample 7 is selected, 7 semitones are added to the playback pitch of the note. Why is this? It’s done in order to simplify the addition of notes to the Frame sample map, which looks like this:

Each note in the sample map has a root which starts at 0 for the first sample and counts up from there. So sample 7 has a root pitch with the MIDI value of 7. In order to play it back unpitched, it has to play back at a MIDI pitch of 7. When adding samples to Frame, it’s important to have “move root with low note” ticked in this menu:

Fortunately, unless you’re hacking Frame or designing your own sampler from scratch, you don’t have to think much about this – just add samples consecutively to the sample map and start playing.

And this is what I want you to do now – start playing Frame. All the controls are tool tipped so it should be self documenting. Try different sorts of sampled material – 5 to 10 seconds at a time works best – and especially try different smoothness, LFO and envelope settings. You will be surprised at how much sculpting you can do on a single sample with just those controls.

Frame is free and can be downloaded here. As with the other instruments I’ve created for Reaktor, it requires a full installation of Reaktor 5.8. Importing samples is easy and follows the same procedure as its big brother Loupe, a process documented here.

Building a Simple Sampler in Reaktor


Building a Simple Sampler in Reaktor from Peter Dines on Vimeo.

In this video I walk you through creating a simple multipurpose sampler in Reaktor. I introduce you to basic Reaktor concepts like control and audio signal flow, polyphony, sample import and mapping, signal modulation with an envelope and adding factory effects. This is an introductory level video but it covers a lot of important territory you need to know to build more advanced structures.

Look forward to more videos from me – the next one will be on creating a sequenced beat production center from scratch.