Logic Articulation Sets and VEP - Sending CC data to the right instrument

sleepfacingwest

New Member
Hey all,
I hope this is the right place to post this. My issue isn't with Kontakt per se, but it's the only place that seemed to specialize in scripting. This is an issue getting automation data to go to the correct place using Logic Pro, VEP, articulation sets, and logic scripting.

Setup: Logic Pro X on mac master, Vienna Ensemble Pro 7 on PC Slave running all my instruments.

I've managed to simplify large templates in Logic pretty heavily by making use of articulation sets and Vienna Ensemble Pro. For example, I can set up all my violin I articulations in one frame in VEP, then use articulation sets to seamlessly switch between articulations from a single track in Logic. After doing some digging, I discovered that VEP uses CC99 to route signals to various ports. This means instead of being limited to 16 VEP articulations, I can conceivably have 2,032 per track (127*16). Before this, I had to have 4 frames in VEP setup to house my 64 articulations just for Violin I. Now I can stick them all in a single frame. Total game changer!

Logic has a weird tendency to send cc99=0 somewhat randomly, so the best way I could make sure articulations got to the right port/channel was to write a script to send a cc99 message before every single note was triggered. This made sure that no matter what weird stuff Logic was doing, the note data got sent to the right place. Works like a charm! The problem is when I try to use this same technique to send controller automation data. The same technique works in theory/on small scale, but in the context of a large template, sending something like modwheel automation bogs things down pretty heavily and I get clicky/glitchy playback. I'm guessing this is because it's sending so much CC99 data when a parameter is being changed continuously.

I just want to get the automation data to get routed to the same instrument that is currently playing. (I've heard this called articulation chasing). It's a tough thing to google since the logic+articulation set+VEP setup is so specific, but I'm hoping some people here have tried to tackle the same problem. Anyone have any links they can provide to educational resources?

For what it's worth, I've tried Ski Switcher, artzid, and the vienna ensemble pro environment window setup. None of them have the flexibility I'm looking for. This DIY approach is the closest I've gotten, but the automation issue is a pretty huge snag at the moment.
 

Dewdman42

Senior Member
The cc99 trick is an old vepro6 thing and it had problems. I advise against using it at this point. I’d reccomend you have a look at the AU3 Templates I made which i can provide a link when I get back to my computer. But your scripts also need to be port aware which is probably part of why they aren’t working with the CC99 macro. The templates provided from VSL also had some problems related to logicpro bugs, at this point I would advise against using the CC99 approach at all ever. You can make scripts work with the CC99 thing but it’s somewhat involved

Articulation sets also don’t know about ports either but it may not matter if you use the AU3 approach. Need more information about your articulation sets and scripts to say any more then that
 
OP
sleepfacingwest

sleepfacingwest

New Member
Thank you for the reply! I did some more digging last night and ended up trying out the AU3 approach. It's much more solid than my articulation set/script setup (no glitches whatsoever), but now my template is absolutely huge since each articulation for every instrument is on a separate track. I'll do some more searching and try to figure out if there's a way to condense this.
 
OP
sleepfacingwest

sleepfacingwest

New Member
If you need articulation per channel then check out my channelizer script
Thanks for the suggestion! I think I saw a setup where someone was using that at one point but if I'm thinking of the right one, the code is hidden. It's totally understandable, but I do a lot of tinkering with my rig and need to understand how things work so I can get under the hood and modify things as they suit various situations.
 

Dewdman42

Senior Member
This forum will have some insights about Scripter if you want to learn more and try to script some stuff yourself:

https://www.logicprohelp.com/forum/viewforum.php?f=45&sid=f08ba69da87b2c4284794579ddb3d641

Here are some AU3 templates which might help you:


Here is the channelizer script I mentioned. Sorry, no source at this time.


if you have any questions about the ArticulationSet mechanism or any of the above, feel free to ask.