What's new

Reaticulate - articulation management for REAPER - 0.5.13 now available

@tack You see I spoke to soon.... :) I'm redoing my template so that my strings/woods/brass patches are split into long & short outputs by creating a multi (both on same Midi Ch A1) containing two instances of a multi articulation patch (set to outputs 1&2 for longs 3&4 for shorts), loading only the longs in the first instance (to route to 1&2), only the shorts in the second (to route to 3&4) and using Reaticulate to switch across all the artics via UACC. Thus allowing me to write long & short Midi on one track but have separate mixing options. All working wonderfully until.....

CSS. I want to split a CSS section (say 1st Violins) into longs and shorts but CSS has other ideas. The keyswitches seem to be sticky so that even if the second instance of shorts (all longs unloaded) is triggered, the first instance still plays it's last triggered patch in the longs (unlike UACC of course which switches away).

I've spent a few hours today trying to get my head round this (is it something to do with using note rather than CC58 for CSS?) but I'm not au fait enough yet with the multi-switching of Reaticulate to do manage this. Any ideas would be very much appreciated.. Thanks!
 
CSS. I want to split a CSS section (say 1st Violins) into longs and shorts but CSS has other ideas. The keyswitches seem to be sticky so that even if the second instance of shorts (all longs unloaded) is triggered, the first instance still plays it's last triggered patch in the longs (unlike UACC of course which switches away).

**SOLVED**

Would you believe it, the next thing I tried cured it... I added another bank of Reaticulate so put some long artics in Bank 1 listening to Midi Ch1 and short artics into Bank 2 listening to Ch2 with both input sources set to omni. Now, as with UACC, only one articulation at a time triggers. Not sure if it's the most efficient way to accomplish the split but it's working!
 
Would you believe it, the next thing I tried cured it... I added another bank of Reaticulate so put some long artics in Bank 1 listening to Midi Ch1 and short artics into Bank 2 listening to Ch2 with both input sources set to omni. Now, as with UACC, only one articulation at a time triggers. Not sure if it's the most efficient way to accomplish the split but it's working!
That'll certainly do it. As Levitanus said, you can also specify the destination channel per articulation. This means you're overriding the target channel as specified in the track config.

So instead of:

Code:
//! c=short i=spiccato o=note:29,1
42 spiccato

You have:

Code:
//! c=short i=spiccato o=note@2:29,1
42 spiccato

Then you can combine longs and shorts (explicitly specifying note@1 for longs and note@2 for shorts) into one bank representing your custom multi.
 
Hey @tack, really amazing piece of software. I switched from Studio One to Repear because of the notation and your plugin. I then discovered it was way better in so many ways. So thanks for the hard work.

I've been using reaticulate with all my libraries but I'm trying to make it work with Kontakt instances where I want to be able to switch between different channels for the articulations.

So I created this just for testing:

Code:
//! g="Audibro/LASS" n="1st Vls"

Bank 6 6 LASS - 1st Vls

//! c=long-light i=note-whole o=@1
1 long notes

//! c=long-light i=staccato o=@2
2 spiccato


The orchestral template I created has a main track with the Kontakt instance (one for brass, other for strings, etc) and several other midi channels routed to that main one in a specific channel. I later realized that didn't work for channel switching.

So I'm trying to route midi to Kontakt in a way that allows me to use Reaticulate channel switching feature properly. Any recommendations? What I did so far is to route the track to Midi All -> All. But that is behaving weirdly.

Thanks a lot,

Ivan
 
The orchestral template I created has a main track with the Kontakt instance (one for brass, other for strings, etc) and several other midi channels routed to that main one in a specific channel. I later realized that didn't work for channel switching.
The example code you gave would be for a conventional multi, where within Kontakt you had a longs patch on channel 1 and a spiccato patch on channel 2.

It sounds like your actual Kontakt setup is different. Can you expand a bit more on what patches you have on which channels, and how you'd like it to behave overall? Armed with that, I should be able to give you better advice.
 
Can you expand a bit more on what patches you have on which channels, and how you'd like it to behave overall? Armed with that, I should be able to give you better advice.

Thanks for the answer.

What I'm testing right now is the following:

1. One main track for the LASS strings kontakt instance.
2. One track for 1st Violins which sends midi All -> All (All -> channel 1 didn't work) to the main track with the Kontakt instance.
3. That 1st violins track loads the reaticulate user bank I posted above.
4. In the Kontakt instance I load a full legato patch in channel 1 and a spiccato patch in channel 2. Separately. I'm not sure if that's considered a multi but I did exactly what you did in your video. Where you show how to layer to different libraries.

Problems I'm getting:

As I click in the different articulations, all seems to be routed to channel 2 instead of channel one. While being in channel 01 in the articulation filter inside reaticulate.

If I switch to channel 02 in reaticulate. Then I get to be able to switch between both articulation correctly. (this is new, just realized this). So it seems like it sorts of work this way. But I don't understand why do I have to pick channel 2 in Reaticulate for it to work.


img3.PNG

img2.png
 
1. One main track for the LASS strings kontakt instance.
2. One track for 1st Violins which sends midi All -> All (All -> channel 1 didn't work) to the main track with the Kontakt instance.
The image you showed of your track layout was that your 1st violins track is a child of your LASS Strings track. So you actually don't need to setup any special sends here -- just let Reaper's normal child->parent routing take its course.

In other words, you can remove all specific sends, and make sure your child tracks have the "Parent send" checked in their routing window (it is enabled by default).


4. In the Kontakt instance I load a full legato patch in channel 1 and a spiccato patch in channel 2. Separately. I'm not sure if that's considered a multi but I did exactly what you did in your video. Where you show how to layer to different libraries.
Yep that qualifies as a multi. :)

As I click in the different articulations, all seems to be routed to channel 2 instead of channel one. While being in channel 01 in the articulation filter inside reaticulate.
The grid of 16 channels there is called the "default channel" which you can read about here.

If I switch to channel 02 in reaticulate. Then I get to be able to switch between both articulation correctly. (this is new, just realized this). So it seems like it sorts of work this way. But I don't understand why do I have to pick channel 2 in Reaticulate for it to work.
The only thing I can think of is that you're actually sending your MIDI from your keyboard on channel 2. Then when you set the default channel to 2 and click the articulations, it creates a mapping from source channel 2 (from your MIDI controller) to the Kontakt instance on either ch1 or ch2.

Let's take a step back and cover all this from the top. Using your approach with the folder track, here's what I'd do:
  • Kontakt on your parent track, as you have, loaded with different articulations on different channels as a conventional multi. In this example, to get us started, you have V1 longs on ch1 and V1 spiccato on ch2.
  • V1 child track. No special sends, just default parent routing. Track is configured for MIDI input on all channels as you normally do in Reaper.
  • V1 child track has Reaticulate FX. The bank you pasted earlier is added to the track, with Omni -> Source in the Reaticulate track configuration. (The target doesn't really matter here, because you're defining the target channel per articulation so it overrides whatever you use there.)
  • Send from your MIDI controller on ch1. Select ch1 as your default channel in Reaticulate's UI.
  • Now when you click articulations, it will route from ch1 to the target channel as defined by the bank. MIDI sent from your controller on channel 1 will route to the patch on the channel for the activated articulation

A quick and dirty video demonstration using your bank, except I used a couple patches from Spitfire Chamber Strings as I don't have LASS.

 
Last edited:
Wow, thanks a lot @tack! Seriously! The video was really helpful.

  • In the end the issue was mainly wrong midi routing and just sending to parent makes it way simpler (great tip there).
  • The issue with it sending to midi channel 2 was the midi controller as you suggested. I wouldn't have guessed that in a million years.
Thanks again! I'll go back to enjoying Reaper and this great plugin.

p.s. I've been creating Reaticulate banks for most of my libraries so if anyone could benefit from them just let me know where to post them.
 
is it possible to switch between different instruments (kontakt, play, uvi) from one articulation list? (to switch an output MIDI port additionally to MIDI channel)
 
Last edited:
is it possible to switch between different instruments (kontakt, play, uvi) from one articulation list?
Sure, this would be possible. At the end of the day, activating an articulation with Reaticulate can send pretty much whatever MIDI you need and route to any channel. So as long as the different instruments responded on different MIDI channels, you could do this with Reaper.

Two possible Reaper setups come to mind:
  1. Have separate tracks for Kontakt, Play, UVI, etc. and then have your combined all-instruments-in-one track send to the VI tracks depending on the channel.
  2. Use one track, put all the instruments on separate FX slots on that track, and for those FX instances, set the MIDI output mode to "Merges with MIDI bus" in Reaper. Configure each FX to do what they need to do on the desired MIDI channel (but this only works if they ignore MIDI events from unrelated channels as those are used by the other FX instances).
In either case, you'd create a bank with Reaticulate like a standard multitimbral instrument (discussed earlier) where articulations are routing to different MIDI channels. The appropriate VI would handle the various channels based on how you configured them with Reaper.
 
you could do this with Reaper
As I understand, these variants works for a half-empty instruments, coupled to one: ch1-3 from Kontakt, ch4-7 from Play etc.
will it work if all instruments are full, all 16 channels are used in each of 3 Play instances?
 
As I understand, these variants works for a half-empty instruments, coupled to one: ch1-3 from Kontakt, ch4-7 from Play etc.
will it work if all instruments are full, all 16 channels are used in each of 3 Play instances?
Your understanding was right. The problem if they're all full with 16 channels is we'd need some way to address the instances independently.

Technically Reaper has this facility in that you could place the different VI instances on different MIDI buses. But Reaticulate itself only addresses bus 1. It might be possible to add this support in future, but using multiple MIDI buses isn't terribly common and so there are probably some gotchas and other corner cases. (Also it'd be quite invasive to implement and has a high likelihood I'd break stuff, so already there's a good reason not to press my luck.)

The only other thing I can think of is if there was some custom MIDI message that could be used to activate/deactivate instances for processing MIDI, and then you just have Reaticulate send these custom messages for each articulation (to enable the instance we want to target, and disable the others). I know that this could be done with a custom Kontakt multiscript. So if you had 16 channels full with Kontakt, we could probably work something out. Play, UVI, etc. I don't know them well enough to know if this level of customization is possible.
 
Sure, this would be possible. At the end of the day, activating an articulation with Reaticulate can send pretty much whatever MIDI you need and route to any channel. So as long as the different instruments responded on different MIDI channels, you could do this with Reaper.

Used method "2" above to get all the Spitfire LABS articulations for Strings on one track by adding 3 instances of the LABS Vsti to one track (with an articulation loaded on each) and then adding a child track that has Reaticulate on using the following bank routing:

//----------------------------------------------------------------------------
//! g="Spitfire/Labs" n="Strings"
//! chase=1,11,16-21,64-69
Bank 04 3 LABS - Strings

//! c=long i=note-whole o=@1
1 long
//! c=long i=note-whole o=@2
2 ensemble
//! c=short i=staccato o=@3
40 short

This is a great way of condensing the LABS instruments which have no form of keyswitching or UACC available inside the VSTi.
 
and then adding a child track that has Reaticulate on using the following bank routing:
You shouldn't need the child track. It ought to work putting Reaticulate on the same track as the 3 VSTi instances as well.
 
You shouldn't need the child track. It ought to work putting Reaticulate on the same track as the 3 VSTi instances as well.

That does work too, with the exception that my Nanokontrol ( controlling cc 1&11) only responds to the vsti on Ch1 and not those on Ch2 or 3... unless I'm being super dim (very possible!)
 
Top Bottom