Reaktor – and any Reaktor Player instrument/effect – meets easier hands-on control. iPad, no brainer. Images courtesy Native Instruments, for createdigitalmusic.

With any instrument, getting your hands on the sounds is essential.

Reaktor is a platform for all kinds of strange and wonderful instruments and sound makers. It’s been that for Reaktor DIYers in particular, but it also powers a variety of creations used by Komplete owners and built in Reaktor Player. Today’s update to Reaktor 5.8 might easily fly under the radar. But make no mistake: improving control capabilities is potentially huge, because it makes it easier to make sound hands-on.

Adding a few cool new ensembles, for instance, is nice. Being able to control Reaktor creations more easily is like taking every ensemble and making it better.

Reaktor 5.8 does that, for Reaktor users but also for anyone using instruments and effects that run in Reaktor Player. Got an iPad or iPhone? It’s now dead-simple to assign parameters to effects, using the OSC protocol supported by apps like Lemur and TouchOSC. Grab a funky X/Y pad, for instance, and with a few moments configuration, you can drag and drop the output of that control to whichever sound parameter you want to manipulate. Want to use MIDI? MIDI assignment is easier, too, available via the same interface. And all of this works both in Reaktor standalone and in plug-in mode – including OSC. With OSC rather than MIDI, you get added benefits, like higher resolution, sensible data ranges, and plain-English labels for what the controls actually do.

Reaktor 5.8 also re-builds OSC sync support, for synchronizing multiple copies of Reaktor (across multiple laptops, for instance) without the clumsiness of MIDI clock.

It’s so good, in fact, that it’s worth looking at what NI has done even if you don’t use Reaktor – and hoping NI applies a similar approach to other apps in their stable. (Other developers, too, take notice.) It’s not that Reaktor is the first tool even to offer OSC (though I can’t think of another off-hand that provides easy bi-directional OSC in plug-in mode). It’s simply that it’s beautiful having this control with the depth and maturity of Reaktor, and that this specific implementation, while it still leaves some room for improvement, could be a model for other tools.

Here’s an in-depth look in how the support works.

Correcting OSC in Reaktor

The OSC experience changes right from the settings dialog. It’s now easy to preview incoming messages, test devices, use multiple ports, and connect to gadgets like the iPad or monome (or other software on your computer). And all of this works in plug-in mode, too.

Reaktor was one of the first tools to support OpenSoundControl (OSC), years ago. That’s the good news. The bad news was, well, there’s no nice way to say this: the implementation sucked. Just assigning a few controls required a painstaking series of arcane invocations and tedious work, to say nothing of odd bugs and – because Reaktor’s OSC implementation predated a lot of changes to the protocol – incomplete OSC support. It was a good proof of concept, but it languished, and it was never fun to use.

For that reason, let’s hope that Reaktor 5.8 is the first time you’ve ever used OSC in Reaktor. The new OSC facility is beautiful. I sat down with the development team at Native Instruments this week. In walked Gwydion ap Dafydd, the creator of the terrific Konkreet Performer, who recently joined NI and led the overhaul of OSC (and MIDI) control support.

It’s safe to say Gwydion feels your pain if you’ve ever tried to make an iPad easily control something like a Reaktor patch. He’s done it with his own app and his own music. And so, using Reaktor 5.8, you might believe he read your mind: the wish list a lot of us had is perfectly realized in this version. (I’m going to keep using glowing terms like this in the hopes that other music developers – cough, cough – do take notice. Call it bias. I’m neither fair, nor balanced. I like it when things work right.)

How OSC Works in 5.8

The controller mapper – for both MIDI and OSC – makes assigning control a drag-and-drop affair. Touch your controller, see messages appear in this column, then drag them to what you want to manipulate.

Let’s say you’ve got an OSC source – a monome or piece of software would work, but let’s use an iPad running TouchOSC as the example – and an instrument you want to control, like Prism. The workflow is now fairly simple.

First, you enable OSC communication in the Reaktor window. Then, via the OSC Settings dialog, you can see the IP address of the computer on which you’re running Reaktor, and either use the default port or (for different controllers or multiple controllers) set up a custom choice. The dialog interactively shows you incoming messages, a boon to testing.

Once you’ve assigned your iPad as an input, and entered your computer’s IP address and port into TouchOSC, you’ll see a status indicator light illuminate with each incoming message, right under MIDI – so it’s easy to see the connection is working.

Communication is bi-directional, too. You can set up an OSC target so that Reaktor can provide interactive feedback to your controller or other tool. Reaktor can even scan (in port range 10000 – 10015) for other devices on the network.

Sync settings let you either use Reaktor as a time source or sync it to another device’s clock. You can opt to receive transport, tempo, or none of the above.

OSC learn is now as easy as MIDI learn, too. And since learn and the mapper each work in Reaktor Play Mode, you don’t even need to own Reaktor to take advantage of the new features. Everything, again, works in plug-in mode, too, recording the results in your host. That means you could use an iPad for high-resolution automation recording, for instance.

With an OSC input selected, you can easily grab any parameters you want to control and assign them to your OSC source – the iPad, in this case. So, you can look in the OSC Mapping pane on the left-hand side of your screen, and check out incoming messages. You would then either right-click a parameter and choose OSC/MIDI Learn, or drag and drop the parameters you want to the controls.

The drag-and-drop scheme works especially well when a single controller – like an X/Y pad or the Lemur’s “Multiball” – sends more than one message at once. One complaint I’ve had repeatedly about Ableton Live is its MIDI mapping: it just can’t cope with sources that send more than one message at once. When you use something as simple as the X/Y controls of a KAOSS Pad, for eaxmples, you send two messages simultaneously – one for X, and one for Y. That can make mapping neelessly clumsy. Reaktor demonstrates how this can be done: a single control that sends x, y, and z will cause all three messages to appear in the mapping list; just drag each to the knobs you want to control in Prism and you’re off and running.

The plug-in support is apparent once you go into a host. Now that you’re playing your copy of Prism with your iPad, wWant to record high-resolution automation into Ableton Live? No problem: OSC messages (and MIDI, for that matter) are received by the Reaktor plug-in, and once you enable automation recording, all those messages are written into the track in Live’s Arrangement view.

For those of you who are Reaktor patchers, new send and receive array objects let you integrate OSC deeply into a patch. Most likely, you’ll just use one receive port, but if you have some really crazy idea, previous port restrictions are also removed.

Mapping and OSC learn and configuration all work without diving into a patch. So, if you’re a Komplete user who just wants to use Reaktor’s incredible factory content without editing, or you’re using a Reaktor Player-based instrument like The Finger, you can now use OSC without ever touching the patches (or even owning Reaktor).

If you do want to go deeper, though, Reaktor 5.8 also includes OSC support at the patch level. Using the new OSC Arrays for send and receive, you can wire those OSC messages to whatever destination you like. The array features are powerful: you can use up to 128 array elements, and even set your own port numbers inside the patch. (That’s probably more power than most people need, but it’s nice to have it there.)

Also in 5.8

OSC isn’t the only improvement in Reaktor 5.8. MIDI assignment is just as easy. (Again, cough, Ableton. Ahem.) Also, whereas assignments previously had to be saved with each ensemble, they’re now saved with the host – so you don’t have to start editing your patch just to keep your OSC and MIDI assignments. (That’s essential for Reaktor Player users, but also less annoying for everyone.)

Samples and Sample Maps can also be edited in Play Mode. That’s a big deal: now you can distribute sample-based instruments to people who don’t own Reaktor, and let them edit the way those samples are arranged across pitch. Sample map and keymap editing has been improved, too.

You can now use fine-tuning with mouse movements and knob controls, a feature familiar to Massive users. This makes it easy to “tune in” on a particular range on a control – nice stuff.

What’s Next?

Reaktor – and other OSC tools – could still do more to make using OSC easier. There’s no zeroconf (Apple Bonjour) support, so it’s not possible to automatically detect other devices and software; you’ll still need to enter some IP addresses. That’d be a logical next feature for Reaktor, though hopefully there will be a broader discussion of this in the OSC community. (See a great implementation in serialosc on monome.)

Mainly, what I’d like to see is sync and mapping features just like this in other NI tools. Imagine using OSC sync between Traktor and Maschine, for instance, or having easier control mappings in Maschine when it’s running as a plug-in.

For now, though, this is very cool stuff.

Reaktor users will find 5.8 as a free update – the tenth such free update for current users in a row – in Service Center.

  • vanceg

    C’mon in DAW and Plugin builders – Let’s see more of this OSC action!

    • Peter Kirn

      Amen, brother. OSC isn’t perfect, but this demonstrates that you *can* have a really good MIDI implementation and a really good OSC implementation, use the right one for the job, and for all of each of their flaws, be musically productive with each.

  • Epic Jefferson

    I’ve been using OSC->ableton->reaktor succesfully for about 2 years. yes, it was tedious work as i had to use max4live to redirect the osc messages within ableton. but i wouldn’t go so far as to say the implementation sucked. i still vastly prefer osc to midi, which is OK for pianorolly type stuff. but for anything outside of the chromatic scale, midi is ill equipped.

    that being said, i’m still very excited about the work Gwydion has done to improve osc communication in reactor. the drag and drop sounds like the right way to handle assignments, and osc support in plug-ins is a huge leap foward.

    LISTEN UP ABLETON! you need to support osc or you will be left behind. Bitwig will.

    • Peter Kirn

      Actually, I asked Bitwig about OSC, too. They had no immediate plans, at least in current builds.

      I think the question for a lot of developers is what OSC support should look like. This is at least part of that picture – the drag and drop, in particular. (Many visual apps also have similar OSC learn. And some tools even do auto-configuration with zeroconf/Bonjour.)

      Time to make a video.

    • Epic Jefferson

      yeah, but at least it’s in there scope. i’ve been asking ableton to implement osc for years now. Maybe this article will help generate some popularity, enough for people to ask for it and generate some pressure. i don’t think it should be such a daunting task that it had to be dismissed by DAWs for so long. pretty much any solution similar to reaktor’s would have sufficed for many.

    • Peter Kirn

      I would make the comparison only to developers actually shipping native OSC support, not those that may or may not be “thinking” about it. Right now, that includes a number of popular visual apps (Resolume, GrandVJ, Modul8) and now (more properly) Reaktor. Actually, there’s even a little bit of TouchOSC support in Logic.

      What’s meaningful about all these examples is that they demonstrate how to implement support and how useful it can be.

    • Epic Jefferson

      agreed. and yes, a video would be good.

    • wwinfrey

      Renoise & Numerology have both had varying degrees of OSC support for years now; user requests for more comprehensive implementations are likely to get a lot more attention from the developers making those respective sequencers, as well.

    • rrr00bb

      OSC is just a syntax, without a standard for semantics. Both OSC and MIDI should have a negotiation protocol as the most basic feature (the only thing that everything is guaranteed to recognize) so that you can implement as much or as little as you need (ie: a lot of “MIDI” synths and controllers understand nothing but 0x90 messages). A standard stream of tuples like {voice,freq,amplitude,timbre,group} would be enough for non-sequencer instruments.

  • Billy Kubina Jr

    well since you “coughed” Ableton, lets get that sub-topic discussed:
    Ableton 9 is beta testing; did you get in on that Peter? Are they getting this feedback from you? Can you ask them for more Macro controls (pages of them maybe), or this Native OSC control for *any* parameter?

    • Peter Kirn

      I can comment on this – Live 9 does not change OSC support at this time. OSC support is available only through Max for Live, not natively. But I would say the mapping pane and configuration windows here demonstrate why native support is needed. And yes, developers will hear about that from me with more than just coughing spells. 😉

      Honestly, I think it takes some good implementations like this to get past the chicken and egg problem. It ought to be safe to say it’s now a priority, though, because of the popularity of the iPad alone.

  • Todd Keebs

    My big question is: once these mappings are made, can they be saved? This is a huge issue for me in so many applications… would love to see somebody get it right.

    • Todd Keebs

      Well, unless I’m missing something, there’s no way to save mappings that you make in Reaktor Player. What this means is that everytime I load Razor (for example), in order to use a complex mapping I need to re-assign all controls. If this is the case, then all these new mapping features were for naught.

      It may be that you can save the mapped soft synth as an ensemble if you have the full version of Reaktor and then load the preset that you want to work from, but that doesn’t help those of us that only have individual synths from Reaktor and not the full deal.

  • Heinrich Zwahlen

    Great update, it’s time to hook up my ipad now..thanks Peter for the instruction and making it look simple.

  • Jordan Hochenbaum

    The new OSC implementation looks great (updating my Reaktor as we speak)– however… still no String support? Would be nice…

  • Josh

    For what its worth, Twisted Tools has OSC templates for a bunch of our stuff. for example. :)

  • Leon Trimble

    does OSC now work in the VST reaktor?