Revised reabank in txt format for Orchestral Tools Phoenix Orchestra. Added harmonics articulation to Gaohu.
And I've taken the liberty here of copying the additional advise received from
@tack which expands on the instructions given on the reaticulate website.
@tack said:
I do my best to describe the source/destination channel configuration in Reaticulate
https://reaticulate.com/usage.html#track-setup , but it can be tricky to wrap your head around it.
The starting place is in VI player, like Kontakt. As you pointed out, the example with Spitfire's patches allows one to put multiple patches on the same channel using Spitfire's UACC feature, and provided there are no conflicting program numbers between the banks loaded in on the track, this will work fine. In this case, if we're just dealing with one single MIDI channel, you can set the patch in Kontakt to either channel 1 (or any other specific channel you like) or omni, it doesn't matter. And then on the Reaticulate side in its track configuration, you can set the destination channel to the specific channel the Kontakt patch is loaded in on, omni/source in Reaticulate if the Kontakt patch is set to omni. (The documentation link above explains more about what I mean by omni/source in Reaticulate.)
All that is to say, when you have more than one multi-articulation patch loaded into Kontakt, they can be omni or all on the same MIDI channel in Kontakt as long as each articulation can be switched inside Kontakt using its own dedicated MIDI event (e.g. CC32 value 42) such that the other patches
without that articulation will switch to a "none" articulation so they're silent until you activate an articulation they happen to provide. This is how Spitfire and some other library makers work.
Now let's stay with the Spitfire example, and suppose we're
not using UACC, and instead we're just using the patches directly as they come out-of-the-box, which uses the more conventional note-based keyswitches. This is how most other libraries out there behave. Usually these patches start their keyswitches at the same note, something like C0, and then you go up through the semitones to activate different articulations.
If you have two of these patches loaded in on the same MIDI channel and you pressed C0 on that MIDI channel, you have a conflict: both patches have articulations assigned to C0, so both would activate at the same time. If you play a note, now you hear both articulations. (Sometimes this is what you want for layering purposes, but for this example here let's say we don't want that.)
The way to deal with this conflict is to put the two patches on different MIDI channels in Kontakt, say channels 1 and 2. Then when you assign the banks for those patches to the track over in Reaticulate, you need to tell Reaticulate how to address those patches which listen on different channels, so you'd configure the destination channel in Reaticulate to channels 1 and 2 respectively for the two banks. Now Reaticulate knows when you activate an articulation for one or the other patch, it needs to send it to channel 1 or 2 (depending on the bank).
Here's the trick: as long as there are no conflicting
program numbers in those two banks, Reaticulate is happy to let them coexist on the same source MIDI channel. Here "source MIDI channel" refers to the channel the events (and program changes) are assigned in the MIDI editor in Reaper. If there are conflicting program numbers between banks that use the same source MIDI channel, Reaticulate will warn you about that, because just like with the conflicting C0 keyswitch case I described above in Kontakt, if two banks have the same program number on the same source channel, Reaticulate doesn't know which one you actually mean.
And in that case, just like in Kontakt where the solution to the conflicting keyswitch problem was to put the patches on different channels, in Reaticulate, the solution to conflicting program numbers is to use multiple source MIDI channels in the MIDI item for the different banks, and in Reaticulate's track configuration, instead of omni, you'd set them to channels 1 and 2. (This doesn't actually have to be the same channels as those patches are assigned in Kontakt. The destination MIDI channel in Reaticulate has to match those, but the source channel can be anything. Reaticulate takes care of routing to the right MIDI channel.)
Using multiple source channels like this in Reaper is a bit clunkier, because now you're juggling different channels in your MIDI item. It's better to ensure there are no program number conflicts between banks on the same track.
Everything I said above was concerning the case where you have more than one multi-articulation patch loaded in Kontakt (or whatever VI player). Now if you're just talking about an instrument consisting of many single-articulation patches loaded in on different channels, this is a conventional "multi" configuration and you can describe that layout in a single bank. The documentation gives a short example:
https://reaticulate.com/reabank.html#simple-channel-routing
Hopefully that was more helpful than it was confusing. You'll probably need to read it several times while playing with Kontakt and Reaticulate before it clicks.
[one more piece of guidance]
If you set the source channel to channel 1, then all activations on that bank would map to channel 1. One of the use cases for this behavior is divisi writing. Say you have a Spitfire Chamber Strings V1 patch loaded in Kontakt on channel 1, and you add that bank in Reaticulate with a channel mapping of omni/source.
If you only ever work from channel 1 in the MIDI editor, Reaticulate routes to Kontakt on channel 1. Say you're writing a line on channel 1 using the legato articulation, but now you need to break out into two part divisi. You can load
another copy of the V1 patch in Kontakt on channel 2, and, using just the one bank in Reaticulate set to omni/source, in the MIDI item in Reaper, activate the legato articulation on channel 2, and you can layer the two divisi parts on channels 1 and 2 in the MIDI item. Reaticulate will route the parts to Kontakt on channels 1 and 2 so they can be performed at once.
END OF QUOTES
This layman's explanation of how reaticulate operates in practice has certainly helped me a lot and I've made adjustments to the design of my own reabanks as a result. It's not nearly as complicated as it looks.