A technical support community for Apple Logic Pro users.



 
justthere
Topic Author
Posts: 3
Joined: Fri Oct 18, 2019 9:06 am

Emulating UACC

Fri Oct 18, 2019 10:57 pm

Hello folks -

After attempting (and failing) to get this to work using Kontakt scripting, I’m looking at trying to get it done in Logic:

I use Berlin Strings as part of a composing template. Because they make use of Capsule, an elaborate Kontakt script, adding scripts on top of that has been problematic. Even on the multi level, it just seems to be asking too much of the instrument. The library seems designed to work as a one-track-per-articulation scenario. As a contrast, the Spitfire libraries are designed to have all articulations available because each articulation has a specific cc value it responds to in the UACC protocol. So if you load, say, the core techniques patch, decorative techniques patch, sul G patch and Legato patch, and assign them to the same MIDI channel, an articulation will only play notes when it sees its controller value active. The benefit of this approach is that all patches receive and respond to all CC data - so if I’m doing dynamics via CC11 or CC2, the patches are all at the right dynamic even if they are not playing a note. You get the benefit of single-track-per-section, unified CC response, and the ability to adjust all mic positions for all instruments in a section at once.

So back to Berlin. For each section I want to load around 60 articulations, each in their own instance of Kontakt, in VEPro7. I’d like to emulate the Spitfire scenario by having their articulations consistent across all sections. I would like for each instance to see incoming MIDI controllers, but to ignore note ons unless the instance sees CC33 at a specific value.

So will the Logic articulation thing work for this? If I set them to their own channels and used VEPro in AU3 mode, I could address everything, but what about dynamics? Would that be smooth or would I have to bump it just after each change so the new articulation would adjust itself? Or - since I don’t really care about tge other benefits of the Logic articulation thing much as I use Composer Tools Pro to control everything - could this be accomplished with a script In Logic that allowed notes when CC33 at a certain value was present that I could put on each instrument track, with a track per articulation - and all of those tracks in a folder track?

Any of this making sense? It’s a long way to go to emulate UACC but the way that works is great - I just prefer the sound of the Berlin Strings for what I’m doing now.
 
User avatar
Dewdman42
Posts: 1841
Joined: Tue Sep 09, 2014 3:01 pm
Location: Park City, UT

Re: Emulating UACC

Sat Oct 19, 2019 11:12 am

Why do you need seperate instances of kontakt for each articulation?

I think you can probably do it with a simple script. Have all kontakt instances listening in the same midi channel so that all cc events are received and processed by all of them even if no notes playing. Then use the script to mute note on events other then currently running cc33, which the script also has to track.

If you use vepro then you will only need one script instance in front of the vepro plugin, and In vepro have 60 channels all listening to the same midi channel.
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.14, Logic Pro 10, Mainstage3, Cubase10, StudioOne, Reaper, DP9, VEP, VSL, too many plugins to list
 
User avatar
Dewdman42
Posts: 1841
Joined: Tue Sep 09, 2014 3:01 pm
Location: Park City, UT

Re: Emulating UACC

Sat Oct 19, 2019 12:11 pm

So another thing you might want to check out a script I already wrote that are shared here for free:

viewtopic.php?f=45&t=139186

Basically that will take care of propagating your CC1,7,11 events, etc...across midi channels...

Then use LogicPro's articulation Set feature to respond to articulationID and channelize your notes to the right channel.

Strictly speaking that is not bothering with UACC at all. You'd be using articulationID instead. I think it only makes sense to use UACC if the instrument itself knows how to respond to the CC33 events as keyswitches..
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.14, Logic Pro 10, Mainstage3, Cubase10, StudioOne, Reaper, DP9, VEP, VSL, too many plugins to list
 
justthere
Topic Author
Posts: 3
Joined: Fri Oct 18, 2019 9:06 am

Re: Emulating UACC

Sat Oct 19, 2019 1:12 pm

'Sup Dewd ... Capsule is so hungry (and cumbersome) that it's most efficient to run each one in its own. I've tried doing more and the controller response gets buggy. This is not true for other libraries with more efficient (or simply less) scripting - Spitfire SSO works fine and so does 8Dio stuff. But Capsule is a hog.

The script you have described is pretty much what I've attempted on the multi level in Kontakt (I have to use a multi script because Capsule uses up all the scripting slots within each instance). Again, easy on paper, but somehow different in practice. I'm going to have to shift my focus from Kontakt scripting over to JS to make this happen. (And since I'm writing shows with deadlines and have family, that's slow going.)

The reason I wish this could be done in Kontakt (and the very bright EvilDragon wrote a script for me to try, which I'll test today) is that it would make the library and its articulation switching platform-agnostic. I sequence primarily in Pro Tools and in Cubase, and I'd like whatever I did to work on anything. I have this feeling my kid will prefer Ableon Live, and I'd like her to to be able to get at my stuff too eventually.

So I guess I'm going into the Logic scripting shed. The scripts you put up are very cool. And as far as UACC goes - it's really just a standardized way of assigning numbers to articulations and doing so using CC's, which chase, as opposed to key switches, which don't - but Logic's articulations do that also. And the articulations can respond to CC values too, so I could use my controlling software in the same way for all of my libraries. I'll see what I can come up with. I really wish that VEPro handled all of this. Maybe someday.

Thanks!
 
User avatar
Dewdman42
Posts: 1841
Joined: Tue Sep 09, 2014 3:01 pm
Location: Park City, UT

Re: Emulating UACC

Sat Oct 19, 2019 1:35 pm

yes you could use UACC32 as the input switch to assign articulation ID's as your recording your tracks. Once the articulationID is there, you don't really need CC33 flying around anywhere unless the library is going to respond to that for you. In this case you're channelizing them all and you can simply configure the articulation set to channelize notes based on articulation id... and use my script to propagate dynamic events across channels...

except...

logicPro articulation set does not appear yet to be multiport aware I don't think, I can't remember now. It might be limited to only 16 channels of channelizing.

So i Have another script you may want to check out which will do the channelizing across AU3 midi ports, so you could have up to 127 articulations per track...on 8 midi ports. and it makes sure to copy the CC1,7,11, etc. across to the channels where the notes are going...

viewtopic.php?f=45&t=143326

Regarding other hosts...I hear you. I am slowly working on C++ versions of some of this stuff which would then work on Cubase and other hosts, but since they don't use articulationID, they would need to use something like UACC or automation points to drive it..but I do plan to do that some day. Not soon.
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.14, Logic Pro 10, Mainstage3, Cubase10, StudioOne, Reaper, DP9, VEP, VSL, too many plugins to list
 
justthere
Topic Author
Posts: 3
Joined: Fri Oct 18, 2019 9:06 am

Re: Emulating UACC

Mon Nov 04, 2019 6:57 pm

So the EvilDragon script works for me. The only limitation is that I have to make sure my switching happens after the last note off. Plus side is that it’s platform-agnostic. Downside is that I have to do more programming if so want it to work with specific apps’ art switching. But at the moment I don’t care. 73 articulations for Berlin standardized across sections with dedicated buttons in Composer Tools Pro. Helps me get through a cue in a massive way.