Kore, Komplete, Reaktor @ cdm

Minisite with tutorials, tips, features on making the most of Native Instruments music production tools

Sequencers are, by definition, all about controlling sets of events. Having unlocked the mysteries of time — the clock and timing data you need to keep your sequencer in sync — Peter Dines now tackles how a table can organize a sequence of events or steps. Take it away, Chef! -PK

Here’s the next puzzle piece in our series dissecting the guts of the Roux step sequencer macro – the event table. As you might guess from the name, the event table receives and sends event rather than audio data.

By default, the event table holds values between zero and one, and I know I bang on about this lot, but that’s a super convenient range because it’s so easy to scale. Ed.: It’s what’s called a “normalized” range for this reason – and easy to scale, indeed. Want 0 to 127, for instance? Just multiply by 127.) -PK We dealt with scaling the output in the last post on the Roux sequencer.

Notice that the X size of the table is 64, which I reasoned was a large enough length to hold drum machine and modulation sequences. The Y size is set to 1. That means the table only holds one sequence at a time. Given a larger Y size, each Y value is like a separate row holding an X range or data sequence, and that’s how a lot of instruments have been built in the past. However, we’re using snap value modules to store different sequences per snapshot, so we won’t be using the extra rows. Some builders are still keen on using the Y range of the table to store different sequences in order to shift rapidly between them; that’s a design choice you might want to explore too, especially if you’d like to change data sequences without having to change snapshots.

Now let’s look at the input ports on the event table. The first one is the RX port, which determines which of the 64 values in the table will be read. We’re using a clock macro to repeatedly tick up through the sequence of values, and the clock connects here.

We’re not using the RY port to select a row in the table, since it only has one row. So on to the R port. An event received here reads the current value in the sequence and sends it out of the event table. So if the cursor is at the third position in the sequence, an event here reads out the third value.

The WX and WY ports are the complement of the RX and RY ports – they select where a value will be written rather than read. And where does this value come from? You send it to the In port right below. This value can come from anywhere – from mouse movement, from MIDI data, from the OSC (OpenSoundControl) modules and so on. If you’re ambitious, you could use an Arduino electronics platform to read data from sensors and populate the table with those values.

The last connected port on the event table in this macro is the XR or X range input. This selects how much of the sequence will be visible. If you’re only using 16 out of the 64 possible values in the sequence, a value of 16 here will “zoom in” so only those 16 are visible. In this sequencer macro, the same control that sets the sequence length also sends the zoom value to this port.

If you ever get confused working with the event table, remember to hover your mouse over the input ports for a hint.

Next time we’ll look at the snap value array module and how the data gets from your mouse into it and then into the table.

8 Responses

  1. marky mark

    Thanks again peter! An interesting off-shoot of your video tutorials is that i now read your tutorials with your accent. perhaps, as mentioned before, if the colours of your gui reflect upon the creative process, we should perhaps, for a week, construct ensembles using internal german accents or Japanese, etc etc. Hmmm
    ps.i’m englishman from the north yorkshire dales ay up!

  2. Тигра


  3. 4lefts

    thanks for this – great stuff. this kind of break down it really helping to make reaktor more accessible.

  4. [...] 1 – introduction Part 2 – the X+ module Part 3 – the event table Part 4 – the snap array Part 5 – the mouse [...]

  5. gherat

    I have extented the macro of the roux step/event sequencer with a snapshot macro.

    The snapshot macro will switch between sequences on beats or triggers (like how ableton live switches between parts…), so it’s even better than using multiple Y tablerows (I used to use multiple Y rows as well but this is much better I think.. thanx..

    (0 _ 0)

  6. Peter Dines

    gherat, how’s that working out for you? I find with triggered snap changes, there’s sometimes a small CPU spike.

  7. [...] Gherat writes: I have extented the macro of the roux step/event sequencer with a snapshot [...]

  8. gherat

    @Peter Dines:
    gherat, how’s that working out for you? I find with triggered snap changes, there’s sometimes a small CPU spike.

    It workes like a charm Peter :) No CPU peaks, sound skips, hickups or weird stuff happening..

    You can download the synced snapshot chances macro over here

    You can place this macro in your instrument to sync chances in snapshots to beat, bar, 1 bar and 2 bars!

    written in Reaktor 5 tested on MacBook Pro 2.16 Ghz Intel Core Duo OS X version 10.4.11

    (0 _ 0)

Leave a Reply