Monthly Archives: May 2013

Adding MIDI out to Reaktor Krypt (and other sequencers)

Someone on the Reaktor forums asked about adding MIDI out to Krypt, so I thought I’d post up a quick guide and a macro for adding quick and dirty MIDI send capabilities to it or most other Reaktor sequencers that otherwise send their signals through an event rate wire in the structure.

Here’s the finished product:

The numbered note pitch controls correspond to each drum sequencer to determine which MIDI notes the sequencer will send on. In this example I’ve set them to the note pitches for the first six drum synths in Drumspillage but a click and drag will set them to something else. You could also send the output to a melodic instrument and create 6-pitch phrases… might be nice for gamelan type sounds.


Here are the MIDI out macros connected inside Krypt’s SEQ instrument:

…and here I’ve drilled down into one of the MIDI out macros:

…and finally into the NoteOff macro inside that:

The point of the NoteOff macro is to send a MIDI note off before sending a new note. Some polyphonic instruments don’t react kindly to having too many notes activated at the same time, and will eat lots of CPU and make your computer sad and crackly. Don’t worry too much about the structure inside here for now. I’ll explain in a future post.

Finally, you will want to make sure that the SEQ instrument (or whatever instrument you’ve added MIDI out to) is actually directed at something. You can do that in the SEQ instrument properties on the connect tab:

If you’re using Reaktor in a host, use the “plugin” output. Note: Mac people, do this with the VSTi version of Reaktor. The AU version, as is the case with all AUs due to the plugin specification, has no MIDI out.

You can download the MIDI out macro here. Note that the Krypt sequencer sends velocities between 0 and 1, which is perfect for this macro. If you have some oddball sequencer that sends a different range of velocities you’ll need to scale it with a multiplier module.

Adding Samples to the Frame 3 Creative Sampler

This is a quick video tutorial on adding samples to Frame 3, my free creative sampler for Reaktor which you can download here, where you will also find Part 1 of the tutorial. Part 2 is here.
 

Update: just got a great idea from a KVR forum member: adding unison effects to Frame 3. It’s very easy – simply bump up the number of voices in the instrument’s function palette tab, and set the min / max to a factor of the voice count. Here for example, each note you play will have four voices. Play with the “spread” control too, which determines the amount of detune between unison voices.

Related posts:

 

Native Instruments REAKTOR’s Spiral – The 2-Minute Introduction

A brief video by Brent Kallmer of Bluewater VST showing the bare bones basics of Spiral for Reaktor.

Update: Brent has a longer video on Spiral and Akkord here:

related posts:

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.