Reaktor Sequencers Pt. 1, and Download Free SQ4 Percussion Sequencer

Reader JL writes:

The current states of Reaktor sequencers is rather confusing: some output MIDI, some don’t, some output both note and CC data etc.  A “Reaktor sequencers demystified” article would be welcome, and might encourage more builders to do more development in this area.

An excellent idea. JL mentioned that he liked the factory SQ8 sequencer’s random playback modes, but wished that it sent MIDI instead of just gate signals. The SQ8 is a percussion sequencer with 8 rhythm channels and variable loop length as well as shuffle.

sq8

Instead of MIDI output, the SQ8 has eight individual gate out ports. The gate signals it sends are like the internal Reaktor events you’d normally send to trigger an ADSR envelope module. Here’s what it looks like at the ensemble level:

sq8-2

To hack MIDI into this, there are two ways you can go about it. You could attempt to modify the SQ8 instrument itself, or you could add MIDI capability in a secondary instrument that receives the 8 wired connections. I opted for the latter route, and I’ll explain why. If you look at the front panel of the SQ8 above, you’ll notice that it has a massive voice count of 512. This is a Lazyfish creation, and that’s how he rolls, with the number of voices acting as individual notes or slots in the sequencer. Re-multiplexing the gate outputs in an instrument with 512 voices gave me the vapors.

Here’s what I did -

midified

Instead of an audio producing drum instrument as a target, the gate connections go to an 8 voice Midifier instrument whose internal structure looks like this -

midified2

You can study the structure at your leisure when you download it but the important thing here is the MIDI Note out module on the right. After re-multiplexing the 8 gate signals into a single stream, this is where the internal signals are formatted as MIDI that can be transmitted to another Reaktor instrument, or sent out to another synth or sampler in a host.

The front panel of the new Midifier instrument has a root note control that sets the lowest note of the sequencer, and the other 7 tracks increment upwards from there in semitones -

midified3

Now you’d think that after all this you’re ready to load this into a host and start sequencing, and you’d almost be right. After all that work, I discovered a bug in the SQ8 sequencer that caused it to play an extra note before resetting to the beginning of the sequence, which caused it to go out of time. I’ll let you download it and try it yourself to see what I mean. Far be it from me to criticize Lazyfish’s programming – I think that in general people don’t pay a lot of attention to Reaktor’s native sequencers, seeing it as more of a synth and soundscape generation package, so this probably never go the same intensive end user shakedown as some of the factory synths.

After spending a couple of hours building and testing, I was reluctant to let it go at that, so I decided to put together a four channel version of the SQ8 using my Roux sequencer macros. They may not be as pretty as the poly-object based SQ8’s step sequencers but I know they get the job done. As an added bonus, my version has individual sequence lengths and swing controls per sequencer.

Here’s what I ended up with -

sq4

Download the SQ4 sequencer

This version implements swing, which was missing in earlier versions of the Roux macro. I hacked in a forwards, backwards, back and forth and random play mode macro from Rick Scott’s remix of Santoni Pascal’s remix of Martin Brinkmann’s original Mumosq. So what we have here is a sequencer with a tangled pedigree. As well, each sequence has its own MIDI pitch and a note name display. I’m thinking the pitch controls could be automated for extra weirdness, but this is just a first draft – I’d like to get some feedback from people before I go complicating it any more than it already is.

A quick look at its MIDI structure -

sq4-midistruct

I used To Voice modules to assign each sequencer’s output to a voice. If a step is active, it first triggers the pitch, which is held at a Value module, then sends out a gate signal.

sq4-midistruct2

Event merge modules combine the four voices from the four percussion sequencers and send them to a MIDI note out module. Remember that modules or macros with yellow active indicators are polyphonic (process multiple voices) and those with orange active indicators are monophonic (process one voice). Most of the Roux sequencer macro is monophonic, and only uses poly structure in this modification when the sequence hits the To Voice module.

Fire it up in a sequencer or standalone, direct its output to some percussion, and let me know if it performs stably for you. I’m particularly interested in whether or not it resets to the beginning of the sequence for you and keeps time properly. If this turns out to be a good solid base, I’m going to look at fancying it up graphically and functionally - so don’t be shy about submitting bug reports and feature requests!

A reminder: to send to another instrument in standalone Reaktor, or to another instrument or synth in a host, use the MIDI out dropdown menu in the instrument header.

midiout

Also, bear in mind when working with Reaktor sequencers in a host, you should activate Reaktor’s autosave feature - otherwise you could easily save the song in your host and exit, losing the Reaktor snapshot sequence.

Coming up next from me, a Kore optimized controller-centric mono-sequencer for melodies. Here’s a preview:

stepfinger

Comment Icon

18 Comments

Leave a Comment
Comment Icon

Joe Lindsey

Peter -

This is FANTASTIC! SQ4 is exactly what I’ve been looking for…it works great in Ableton LIVE too. Plus this gives me a great starting point for attempting “midification” of other ensembles.

Thanks so much!

October 15, 2008 @ 7:39 am
Comment Icon

Peter Dines

Great! I know people have complained about sequenced Reaktor instruments in Live in the past. If you do any interesting mods give us a heads-up.

October 15, 2008 @ 8:22 am
Comment Icon

michel

i’m one of the people who complained about reaktor sending midi in live. it just sounded like a drunk drummer, with very unstable timing. weird enough, this is almost solved when i insert reaktor in bidule and send the midi out of bidule.

October 17, 2008 @ 6:28 pm
Comment Icon

Peter Dines

Hi Michel, can you tell me what instruments or ensembles cause the problem for you? And also, are you on Mac or PC?

I did a little experimenting last night - some worked perfectly, and some were exactly as you say - like a drunk drummer. The beat drifted. I’d like to do a roundup on what works and what doesn’t to find out what the common factors are and nail down the problem.

Does my SQ4 work as well for you as for Joe above?

October 18, 2008 @ 6:06 am
Comment Icon

khoparzi

I found reaktor to be much more stable when used as a standalone (that gets timing data from live by midi sync). it works out of the box in OSX but will need some Midi Yoke love on windows. The drunken drummer problem is actually quite interesting and give some really weird results sometimes.

Another thing I was wondering about timing in reaktor was, why does reaktor reset the sequencers when i change connections with certain instruments open on the side? one of the things that has still kept me from using reaktor in a live performance setup

October 18, 2008 @ 6:58 am
Comment Icon

Peter Dines

Khoparzi, app to app MIDI routing is an interesting subject on its own - it lets you route, for example, generative data from contraptions built in Processing or Pure Data, as well as Live. And yes, I’m a big fan of unintentional results like the drunken drummer - if you can work around them when you really want to!

What I’m hoping, since some Reaktor ensembles work and some don’t, is that there’s a structure-level fix that users can wire around instead of waiting for NI and Ableton to come up with a solution.

When you talk about changing connections with other instruments - you mean rewiring inside Reaktor itself, or changing MIDI routing in Live? Drawing a new wiring connection in Reaktor on the instrument level will definitely cause a reset event in Reaktor. I don’t think there’s a way around that at the moment.

October 18, 2008 @ 7:54 am
Comment Icon

adam

Excellent. Live improv. Thanks Peter for another well handy tool.

October 18, 2008 @ 9:13 am
Comment Icon

Eugene

I am looking for some idea and stumble upon your posting :) decide to wish you Thanks. Eugene

October 20, 2008 @ 11:35 am
Comment Icon

poorsod

Why wouldn’t you have been able to incorporate the MIDIfier within the SQ8 instrument?
It looks to me like the individual gate outputs are monophonic, so you could theoretically just reroute the wires from the out ports (within the instruments) into a macro-ised version of your MIDIfier instrument.
Or is there something I’m missing about the voicing architecture in Reaktor with regards to events and nested instruments?

As an aside, sending MIDI from Reaktor VST to Ableton works fine with most ensembles, though some of the factory sequencers have a problem where they don’t reset to the correct position in the sequence when Live’s transport changes state (eg, it doesn’t reset correctly to the start of the song).
It turned out to be sloppy coding for the clock/sync parts of the sequencers in question. I spent about a day putting together a fixed macro that seemed to work with any instrument I dropped it into… then promptly lost it. Oh well.

October 23, 2008 @ 11:02 am
Comment Icon

Peter Dines

I recall there were some performance issues routing midi from instruments with lots of voices to instruments with lots of Core macros. My instinct was to keep it separate. But sure, go ahead and try it out as a macro, see what happens.

October 24, 2008 @ 4:41 pm
Comment Icon

Dri

Very nice work Peter… great article and great screenshots.

October 24, 2008 @ 7:33 pm
Comment Icon

adam

I can see lots of uses for midifier.

October 26, 2008 @ 9:25 am
Comment Icon

alex

hey this is fantastic!
any chance you run a tutorial on how to make a step sequencer that is controllable by midi? by which i mean its possible to turn on and off a trigger using a buttons like in x0x sequencing?

thanks for the tutorials!

October 27, 2008 @ 10:22 am
Comment Icon

Peter Dines

Dri - thanks!

adam - if you do something interesting with it, let us know. Cheers!

alex - the StepFinger instrument at the end of this article, which hopefully will be released with its own article soon, does almost exactly that, and is easy to modify to work with buttons instead of knobs.

October 27, 2008 @ 11:22 am
Comment Icon

steve m

nice to stumble upon someone, who can explain in clear language, how to get the most benefits out of such a great software tool!!(Just in case you know!!can you help me plug my bass guitar into one of Stefan V’s great synths)I still havnt clicked to audio to midi yet; but some of his designs are absolutely fantastic!!Thanks alot for the sequencing tips i’ll try them out next time in cubase. Cheers steve!!

October 29, 2008 @ 10:52 pm
Comment Icon

Peter Dines

Hi Steve M,

Thanks! As things stand I don’t think anyone’s done a reliable pitch to midi engine in Reaktor. However there are some nice audio to event trigger macros you could hack into a synth to use its filters and envelopes as an audio processor. That’d make an interesting topic. Hm, now you’ve got me thinking!

October 30, 2008 @ 8:01 am
Comment Icon

jazzapple

Hi, I love my kore and I love sequencers; I have been wishing that I could use the power of kore to sequence melodies that I can then send to an analogue synth via a midi to cv converter. The problem is that I cant find any decent midi sequencers that dont involve owning reaktor. Do you know of any?

November 25, 2008 @ 4:24 am
Comment Icon

Peter Dines

I’ve been looking for sequencers that run as VST plugins myself, Jazzapple. The step sequencer that’s built into Kore is quite nice but limited for more complex applications. There are a few reasonably priced options and I’ll be posting a brief roundup soon.

November 28, 2008 @ 9:54 am
Comment Icon

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .
If you want a cool icon, get a Gravatar

RSS feed for comments on this post. TrackBack URI