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
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
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.
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.
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.