# Articulation maps vs. template balancing



## WindcryMusic (Sep 8, 2018)

In my new template (almost done!) I am heavily leveraging Logic Pro X 10.4’s new articulation maps feature, along with ARTzID v2, in order to have a (slightly) more concise template where parts aren’t spread across as many tracks, and also to make a far larger set of instruments and articulations available to me without needing to spend time looking for and loading up new tracks.

Overall I’m feeling very positive about the effect I think this will have on my workflow. But it seems to me there’s also a downside, which is the greater difficulty (and sometimes the apparent impossibility) of balancing the volume of individual articulations within each section, when they are all on a single track and using multi-articulation patches. For a few libraries, e.g. NI Symphony Series, there are volume adjusters for each articulation, which is great, and I only wish all libraries did the same thing. In other libraries, e.g. Spitfire, it is at least possible to use a setting where the mic mixes are remembered individually for each articulation, which helps somewhat (although I’m worried it will be easy to accidentally throw things back out of balance anytime I decide to tweak the mic settings). But for many libraries, e.g. Orchestral Tools, there seems to be no way to adjust the relative volumes of articulations.

For some smaller libraries I suppose one could get around this by only using single articulation patches and switching articulations via MIDI channels only, and then use Kontakt patch volumes to balance them. But my impression is that this is inefficient and wasteful of other resources like memory … not to mention that this limits a track (at least one running with Kontakt, which is uniformly the case for me) to 16 articulations, a number that is well short of what some of these libraries have available.

So, how do others attack this problem, whether in Logic, or in other DAW’s with similar articulation mapping abilities like Cubase? Perhaps there are Kontakt features that I don’t know about that allow adjusting individual articulation volumes of multi-articulation patches? Or perhaps, where the articulations can be specified on a per-slot basis (as in OT’s Capsule), one could at least partially mitigate the problem by putting all of the “loud” articulations on a specific patch, and then adjusting the Kontakt volume for that patch? Maybe there are other approaches to this that I haven’t even thought of?

Please share your tips and tricks for this issue, if you have any! Me and my template thank you in advance ...


----------



## tack (Sep 8, 2018)

Different DAW but the idea applies: some users of Reaticulate have been including CC7 or CC11 messages in the articulation output events in order to adjust the levels. So if e.g. you have a Spitfire patch set to UACC and you find spiccato a bit loud, triggering the articulation can send CC32 value 42 + CC11 value 90 (or whatever).

Maybe this is possible with Logic's articulation maps?

Of course it's only useful for simple static volume adjustment.


----------



## WindcryMusic (Sep 8, 2018)

tack said:


> Different DAW but the idea applies: some users of Reaticulate have been including CC7 or CC11 messages in the articulation output events in order to adjust the levels. So if e.g. you have a Spitfire patch set to UACC and you find spiccato a bit loud, triggering the articulation can send CC32 value 42 + CC11 value 90 (or whatever).
> 
> Maybe this is possible with Logic's articulation maps?
> 
> Of course it's only useful for simple static volume adjustment.



An interesting notion. Alas, I don’t think Logic’s articulation maps can do that, and I know ARTzID doesn’t support it. Also, I personally don’t like using CC 7 because of worries about how it might interact with Logic’s channel volumes when mixing time arrives, and I use CC 11 for dynamic expression within tracks (often in combination with CC 1) so that one is not available to me for balancing.

One other problem: if two articulations are sounding at the same time, this would seem likely to produce undesirable results.

If only I could just right-click on individual articulations in SF or OT libraries and get a volume knob ... (dreams of template nirvana ensue)


----------



## pmcrockett (Sep 8, 2018)

I'm in the process of building templates in Reaper using a homebrew articulation management system and when I eventually encounter this problem, I'll probably approach it similarly to what tack mentioned by making the articulation selection also set a CC7 level on the track along with the keyswitch. Setting CC7 level seems like the best compromise to me as long you have a system that can do it and don't anticipate doing a lot of layering of unbalanced articulations within a single Kontakt instrument.

Regardless of Logic's or ARTzID's capabilities, CC7 leveling could be set up with a Kontakt multiscript if you know/are able to learn/know someone who knows a bit about Kontakt scripting. You'd set the script up so that it listens for the same keyswitches that the instrument expects, and when those keyswitches occur, the script injects the correct CC7 value into the MIDI data. It wouldn't even have any potential to affect the DAW mixer because it would all be internal to Kontakt.

Alternately, if you want to explore using multiple instrument instances with different input channels to isolate articulations, you could use Orange Tree Samples' Mind Control Kontakt multiscript to define your own keyswitch system that would let you address multiple channels within Kontakt by sending keyswitches from a single track/channel in Logic.


----------



## tack (Sep 8, 2018)

pmcrockett said:


> You'd set the script up so that it listens for the same keyswitches that the instrument expects, and when those keyswitches occur, the script injects the correct CC7 value into the MIDI data.


You could actually use FlexRouter for that. In this case the "keyswitch" is whatever triggers the articulation, and you'd configure two redirections: one cloning the original keyswitch, and another for CC7.

But as Windcry mentioned, this method does have the issue that two articulations playing at the same time (which is quite common even in the non-layering case, e.g. when the release tail of one articulation is playing while switching to the next articulation) and I agree this is a deal breaker for all but the most trivial of lines.


----------



## A.G (Sep 8, 2018)

There is no problem for controlling CC7, CC11, CC2 (VSL X Fade) etc with the AG Logic Articulation Maps EDITOR and the Universal Logic ART 6 PRO Scripter. The Maps EDITOR supports all sorts of Multi Output Assignments (Two KS+Velocity+Latch; Program; Two CCs). There are a few "Dynamic" Factory Sets (CC1; CC11 and CC2 VSL) which offer very similar Dynamic control like the Cubase Maps.

AG Kontakt 64 system (which comes with ART Pro 6) is a special design for those of you who prefer to use Single Patches loaded into Kontakt Ports A,B,C,D (64 Channels switching) where you can balance the Volume, Pan, Dynamics etc. It is a single track switching system which is powered by special ART Editor template where you must only set the articulation names (custom ordering, groups and colors are possible as well).


----------



## Nick Batzdorf (Sep 8, 2018)

One thing I appreciate about Peter Schwartz (Mr. ARTzID) is that he takes the high road. He doesn't have sharp elbows, he just goes about his business.


----------



## WindcryMusic (Sep 8, 2018)

Nick Batzdorf said:


> One thing I appreciate about Peter Schwartz (Mr. ARTzID) is that he takes the high road. He doesn't have sharp elbows, he just goes about his business.



He goes above and beyond, actually. If I had to total up the number of hours Peter has spent corresponding with me and helping me out since I purchased his product, and pay him minimum wage for that time, I’d probably need to sell my house to cover the debt. I’ve never encountered a better.


----------



## Sami (Sep 8, 2018)

You can adjust spitfire volumes and mic balance by articulation


----------



## tack (Sep 8, 2018)

Indeed, as was mentioned in the OP.

This would be much better implemented if you could still have a default mic mix and then choose to override per select articulation. As it is, if you want to adjust one individually, they all maintain independent mixes.


----------



## WindcryMusic (Sep 8, 2018)

tack said:


> Indeed, as was mentioned in the OP.
> 
> This would be much better implemented if you could still have a default mic mix and then choose to override per select articulation. As it is, if you want to adjust one individually, they all maintain independent mixes.



That would be a nice feature.

What I would like would be to have an overall attenuator per each individual articulation (what I referred to above as a "volume knob") that governs the overall output of the articulation, post mic mix sliders ... so that if I push the Tree slider all the way to 100% on the pizzicatos, I could still have the articulation in balance with the sustains with the same Tree slider also at 100%. (It seems to me to be a lot harder to adjust mic mixes for a particular cue if you have to constantly remain aware that a certain articulation must have those values scaled downward for the sake of balance.)


----------



## garyhiebner (Sep 9, 2018)

WindcryMusic said:


> He goes above and beyond, actually. If I had to total up the number of hours Peter has spent corresponding with me and helping me out since I purchased his product, and pay him minimum wage for that time, I’d probably need to sell my house to cover the debt. I’ve never encountered a better.


+1 for Peter's service and support, and his amazing product. I dropped him a mail about a user issue I have having (entirely my own fault not the product) and within a matter of minutes he replied and and gave great service. I cannot say I have had service like this from anywhere before. Totally awesome!


----------



## Dewdman42 (Sep 9, 2018)

You can probably handle this with a script that sits in front of or behind peter’s script, that can balance out the articulation levels, and if you’re smart about it then you could still make these adjustments relative to an overall cc7 or cc11 you might be riding that applies to all of the articulations of a track in a more global way.

Just have a simple script that looks at Artid and then adds or subtracts an offset value to the current cc7 or cc11. That means you have to keep track of the currently running cc7 and cc11 values. The offset might not be linear.


----------



## Dewdman42 (Sep 9, 2018)

For example, here is a simple example that might work, I didn't really test it, just giving you a rough idea:


```
var runningCC = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
var offset = [0,12,-5,0,0,6];
var cc = new ControlChange;
cc.number = 7;

function HandleMIDI(event) {

    if(event instanceof ControlChange &&
          event.number == 7) {
  
        runningCC[event.channel] = event.value;
        event.send();
        return;
    }
 
    cc.channel = event.channel;
    cc.value = runningCC[event.channel] + offset[event.articulationID];
    cc.send();

    event.send();
    event.trace();
}
```

In the above example, articulation ID's 1-5 are used, where articulation 1 has a CC7 bump of +12, art 2, has a drop of -5, etc..

There are different ways you could approach this in terms of scripting, but anyway just a rough idea to give you some ideas about how to solve your problem.


----------



## WindcryMusic (Sep 9, 2018)

Dewdman42 said:


> You can probably handle this with a script that sits in front of or behind peter’s script, that can balance out the articulation levels, and if you’re smart about it then you could still make these adjustments relative to an overall cc7 or cc11 you might be riding that applies to all of the articulations of a track in a more global way.



It is probably true that a secondary script could accomplish what you are describing, although it would need to have complete knowledge of the articulations on each track, so it would be far from a trivial undertaking. But in any event, I don’t think automatically updating the overall volume level as each new articulation comes along is a solution that I will ever decide to pursue, because of the already-expressed concerns about the effect upon overlapping articulations (whether simultaneous or release tails, as @tack said), of which I expect to have a lot.

The best solution I know of thus far seems to be to avoid using multi-articulation patches, opting for individual patches instead that one can separate by MIDI channel in order to have the necessary granularity of volume control. But that’s not always possible, and often isn’t practical, IMO (even if it were possible to address 40+ individual MIDI channels on a track to handle that many individual articulations, I would think employing 4 multi-articulation patches is generally going to be more efficient on memory, at least).

The biggest offender here seems to be OT, who does claim to have their articulations already balanced I believe, so I might just have to hope that they’ve done so sufficiently well for my needs.


----------



## Dewdman42 (Sep 9, 2018)

Its an interesting challenge for sure. One of the reasons I bought VSL Cube is because its already balanced. I would not use a library that is not, at this point.

if the library is in kontakt, you might want to look into KSP or the above script that was mentioned. I don't know KSP so I can't offer any further thoughts than that, but it might be possible within the KSP script to balance out the levels somehow in a dynamic fashion. 

If the library has different articulations on separate midi channels, then you can still use the Articulation ID features of LPX, to have the source track be on one track...routed by channel to the articulations. I guess you could still use a library that is supposed to work on the same channel by just having duplicate instances of the whole instrument, each one only handling one of the articulations, routed by midi channel. Lots of duplicate samples loaded in memory that way, but if its kontakt based, you can purge all the ram and load the samples on demand.


----------



## Alex Fraser (Sep 9, 2018)

Difficult isn’t it? At some point you have to work out whether the time spent balancing the template is more then you would otherwise spend just adjusting levels on the fly. 

There such a temptation to go deep on these things. I’m in a similar position and desperately trying to keep things as simple as possible.


----------



## Alex Fraser (Sep 9, 2018)

WindcryMusic said:


> It is probably true that a secondary script could accomplish what you are describing, although it would need to have complete knowledge of the articulations on each track, so it would be far from a trivial undertaking. But in any event, I don’t think automatically updating the overall volume level as each new articulation comes along is a solution that I will ever decide to pursue, because of the already-expressed concerns about the effect upon overlapping articulations (whether simultaneous or release tails, as @tack said), of which I expect to have a lot.
> 
> The best solution I know of thus far seems to be to avoid using multi-articulation patches, opting for individual patches instead that one can separate by MIDI channel in order to have the necessary granularity of volume control. But that’s not always possible, and often isn’t practical, IMO (even if it were possible to address 40+ individual MIDI channels on a track to handle that many individual articulations, I would think employing 4 multi-articulation patches is generally going to be more efficient on memory, at least).
> 
> The biggest offender here seems to be OT, who does claim to have their articulations already balanced I believe, so I might just have to hope that they’ve done so sufficiently well for my needs.


Perhaps a halfway house then?
For example, pop the shorts or worst offenders on a different midi channel and slot in Kontakt. As you know, you can use the logic artic maps to route via midi channel.


----------



## tack (Sep 9, 2018)

WindcryMusic said:


> opting for individual patches instead that one can separate by MIDI channel in order to have the necessary granularity of volume control


At least in the case of Spitfire, you could set the patches to UACC and drop them all on the same MIDI channel.



WindcryMusic said:


> even if it were possible to address 40+ individual MIDI channels on a track to handle that many individual articulations


It's actually possible with some interesting tricks as long of course as you don't need to address them all simultaneously. See this post for example.



WindcryMusic said:


> I would think employing 4 multi-articulation patches is generally going to be more efficient on memory


Indeed. All 4 combination palettes of SCS V1, purged, works out to about 1.3G. With those same articulations all loaded in as separate patches, again purged, it's 2.0G.

Not quite your use-case, but as another data point, if you wanted to separate your longs and shorts out into separate combination patches (e.g. because you wanted to mix them differently), with the unneeded articulations disabled and also purged, this works out to 1.45GB


----------



## WindcryMusic (Sep 9, 2018)

Alex Fraser said:


> Perhaps a halfway house then?
> For example, pop the shorts or worst offenders on a different midi channel and slot in Kontakt. As you know, you can use the logic artic maps to route via midi channel.



I agree that is a good compromise ... the biggest problem with it being that ARTzID doesn’t provide any script that would allow one to use several multi-articulation patches (selected by key switch and MIDI channel) and several individual patches (selected by MIDI channel only) on a single track. I suppose one could send a “dummy keyswitch” value that is out of range of the individual articulations, although my sense of propriety rebels at the concept of sending wasted MIDI data.



tack said:


> At least in the case of Spitfire, you could set the patches to UACC and drop them all on the same MIDI channel.



Yes indeed. That much I know well, as I’ve been doing exactly that in my new template for the last several months (I mean with their multi-articulation patches, though). Works great for the newer Spitfire libraries, although the older ones keep playing the previously selected articulation if they receive a UACC value they don’t recognize, which requires a little trick to get around. (The newer libraries go silent upon receiving an unsupported UACC value, which I regard as the correct behavior.)



> It's actually possible with some interesting tricks as long of course as you don't need to address them all simultaneously. See this post for example.



Interesting. I didn’t pay much attention to the FlexRouter discussions until now, but now I think I ought to take a closer look. Still, I think I might need to address them simultaneously, so that might not work for me.


----------



## Peter Schwartz (Sep 9, 2018)

Hey There WindcryMusic!



WindcryMusic said:


> ... the biggest problem with it being that ARTzID doesn’t provide any script that would allow one to use several multi-articulation patches (selected by key switch and MIDI channel) and several individual patches (selected by MIDI channel only) on a single track.



The Combinatrix does that. And the script we worked on together as well. (Or maybe I'm missing something? Lemme know).

Now for some general commentary about libraries being balanced... Any one patch's articulations may sound balanced when used on its own. But once you start combining them with other parts, all bets are off. It couldn't possibly be any other way.

It's just like when a conductor asks a player or section to perform a passage louder or softer than marked, e.g., "oboes, please play measures 34-56 piano instead of mezzo piano." Peaky acoustics of a hall may play a role in that direction, or perhaps that's the conductor's interpretation of the piece. It's for those reasons and more that, in the big scheme of things, there could never be such a thing as a 100% successfully factory-balanced set of samples. The balance you hear between samples out-of-the-box is just one person or group's interpretation of what "balanced" means.

It's the same situation with release time settings. Many people are under the impression that the release times set for a patch are factory programmed to provide the greatest sense of realism when a note ends. But that couldn't ever possibly be true, because release time in actual instrumental performance is always tempo-dependent (as well as phrase-dependent). Thus, a static release time setting couldn't ever sound entirely realistic, except by sheer chance.

The same holds true for articulation names. When a developer names a sample "staccato", it's really kind of meaningless. Sure, it might well be useful for staccato passages at a medium tempo, but at faster tempos it'll sound like mush because the note lengths are too long. To avoid that you'll probably need to pick shorter, "staccatissimo" samples. But in that context they're not staccatissimo. They're staccato.

So I guess all this is to say that balance, like everything else, is relative and context-dependent.

BTW, thanks to all of your who shared your kind thoughts about the service I offer. Cheers!


----------



## thesteelydane (Sep 9, 2018)

+1 for Peter's products and service. As he has mentioned above, there is a super simple solution if you use the combinatrix script. Load all the articulations as individual Kontakt instruments in a Kontakt Multi (Spitfire include these, don't know about other developers), and balance with the volume slider in each instrument. This way you can keep the mic mix the same for all, but have different volume, and with the combinatrix script have everything behave like one giant instrument. You are of course limited to 8 articulations, but hey, it's better than nothing and super simple.


----------



## Alex Fraser (Sep 9, 2018)

WindcryMusic said:


> I agree that is a good compromise ... the biggest problem with it being that ARTzID doesn’t provide any script that would allow one to use several multi-articulation patches (selected by key switch and MIDI channel) and several individual patches (selected by MIDI channel only) on a single track. I suppose one could send a “dummy keyswitch” value that is out of range of the individual articulations, although my sense of propriety rebels at the concept of sending wasted MIDI data.


I’m pretty sure you could accomplish this with the standard Logic maps. I have a test patch where I can trigger individual articulations across (multiple articulation) Spitfire patches in different Kontakt slots. Across multiple midi channels. 

Unless I misunderstand you of course.


----------



## Peter Schwartz (Sep 9, 2018)

Steely, the latest version supports a total of 16 patches (keyswitch, individual, or any combination). Lemme know if you need an update.

@alex, indeed, you can address multiple patches on the same track using a combination of keyswitch (or UACC) and individual articulations using an Articulation Set. Setting up that kind of thing is painstaking, but yes, technically it can certainly be done. However, that's just the first step...

Then there's the matter of sending CC's to each patch on their individual MIDI channels. This can also be achieved without any 3rd party Scripts, but the method and approach needed to make that work isn't exactly elegant.

And finally, there's the perennial problem of Articulation Sets and CC's, where each CC event causes articulation-switching messages to be generated. And that could become a real nightmare for a complex setup of multiple patches.


----------



## danbo (Sep 9, 2018)

Individual articulations with MIDI does solve the problem, but yes you are limited to 16, however I could be easily wrong but I don't see why it's wasteful of memory. If the "multi articulation patch = sum(articulations)" then necessarily the ram requirement would be the same, plus a little overhead.

I'm messing with the same problem, and opted for individual patches switched via MIDI CC. It's not hard in vanilla Logic, you don't need any extra software. Support for more than 16 would be nice theoretically but I have to admit that 16 is probably more than enough, I'm having enough trouble getting this set up with the articulations I have and understanding all the nuances. Anyhow, my conclusion is that if you want the simplicity of articulation switches you will have to accept a few small restrictions.


----------



## tack (Sep 9, 2018)

danbo said:


> however I could be easily wrong but I don't see why it's wasteful of memory. If the "multi articulation patch = sum(articulations)" then necessarily the ram requirement would be the same, plus a little overhead.


As I mentioned in my previous post, the memory difference is nontrivial at least for the Spitfire patches. The obvious conclusion is that there is a lot of fixed overhead per patch and this cost can be amortized over multiple articulations in the combination palette case.


----------



## Alex Fraser (Sep 9, 2018)

Thanks @Peter Schwartz - some great advice.
A test setup I put together.

Here's the Kontakt screen. All instances are set up using Spitfire UACC KS. (Where velocity is used as a keyswtich trigger on a single note.)






Here's the map:





Using this example, CC data automatically gets routed to the correct Kontakt instance based on the active articulation. Nice! The caveats are many though. As Peter mentioned, in order to get the routing to work correctly, Logic places an "articulation payload" on every bit of CC data. Could get messy, especially if you record using one articulation and then decide to use another. Your CC data would be sent to the wrong place.

I probably won't use this going forward but it's a good way of playing with the Logic ID system. I should also point out that I've never used Peter's product (no offence!) and so couldn't possibly comment on whether a better method is possible. I'm sure it is and will of course bend the knee to those with superior knowledge!
A


----------



## WindcryMusic (Sep 9, 2018)

Peter Schwartz said:


> Hey There WindcryMusic!
> 
> The Combinatrix does that. And the script we worked on together as well. (Or maybe I'm missing something? Lemme know).



Hey Peter!

I just went back to look at the Combinatrix again, as well as our script, and it’s sort of a “yes and no” answer, I think.

Yes, the Combinatrix does do it ... I’d forgotten about the “single” option on the keyswitch notes list. The only problem with that one for my needs (which is why I’d not used and eventually forgotten about it) is that my template often requires me to be able to reorder the individual articulations, whereas the Combinatrix requires that (for example) a certain multitimbral patch receives articulations 8 through 18 as a contiguous, ordered group.

I needed more flexibility than that (once I post videos of this template in action, I think you’ll see why), which is where and why our monster mapping patch entered the picture. That works great for combining several multitimbral patches and distributing the keyswitches however I need ... but one thing we didn’t do with it was to build in a “no keyswitch” option to also support individual patches that don’t actually have a keyswitch. Like I said above, I realize that I could just choose to send any out of range key as a “fake keyswitch” and thereby use that script for such “MIDI channel only” selections as well ... it just bothers me to be sending numerous “dead notes” to a single articulation patch.

Anyway, I don’t really want to go the route of using lots of individual articulation patches whenever I can help it, because of the increased computer load that splitting out lots of patches entails. I mean, even without doing stuff like that, my current template is already weighing in at 67 GB of memory when loaded, and that is with all samples completely purged! It is kind of over the top, I know that, but I wanted to see just how far I could take this concept. Maybe after using it for a while I’ll decide to rein it in a bit, who knows.


----------



## Peter Schwartz (Sep 9, 2018)

@ Alex, no offense taken at all! I have no problem discussing approaches to doing all this crazy stuff in ways that don't involve my system.

@ Windcry, indeed, while the Combinatrix lets you combine multiple k/switch & individual articulation patches, it doesn't offer articulation remapping of articulations within those k/switch patches.

I don't imagine it wouldn't be hard to add that kind of capability, but it would require a lot of GUI sliders -- one per ID. And just looking at such a display of sliders might cause you to go the equivalent of "snow blind" while programming it.

 "Holy crap, look at all those... (gulp) sliders!" 

But it should be possible.

As for the Script we worked on together, I think the "no keyswitch option" is in there in some form or another. Let me double-check that and get back to you.


----------



## Dewdman42 (Sep 9, 2018)

@WindcryMusic Logicpro does not actually free the memory when you purge it. If you purge it all and save the project and then quit logic and restart it and load the saved project as a purged state, it might be a lot less then 67gb. Beyond that I reccomend strongly you consider vepro which DOES free memory the instant you purge it in kontakt.


----------



## Peter Schwartz (Sep 9, 2018)

@WindcryMusic, ah, I see. You want this:





I just added that to our Script. I just have to re-jig a few default values to accommodate for it and then I'll send it your way. Gimme until later tonight or tomorrow, as I'm in the middle of something else right now.


----------



## WindcryMusic (Sep 9, 2018)

Dewdman42 said:


> @WindcryMusic Logicpro does not actually free the memory when you purge it. If you purge it all and save the project and then quit logic and restart it and load the saved project as a purged state, it might be a lot less then 67gb. Beyond that I reccomend strongly you consider vepro which DOES free memory the instant you purge it in kontakt.



First off, I’m fully aware of how Logic memory management works. That 67GB is the size of the template after purging, saving, quitting Logic Pro X, restarting it and loading the template afresh.

Second, I won’t go near VEPro because of their copy protection scheme, which I loathe. If only they would provide a challenge and response alternative, I’d very likely be using VEPro already.


----------



## WindcryMusic (Sep 9, 2018)

Peter Schwartz said:


> @WindcryMusic, ah, I see. You want this:
> 
> 
> 
> ...



Yep, that’s exactly what I was saying. And man, talk about proving once again why the many supportive comments were sent your way earlier in this thread. I mean, I didn’t even ask for this ... although if you want to add it, I most certainly will make use of it!


----------



## Dewdman42 (Sep 9, 2018)

WindcryMusic said:


> First off, I’m fully aware of how Logic memory management works. That 67GB is the size of the template after purging, saving, quitting Logic Pro X, restarting it and loading the template afresh.
> 
> Second, I won’t go near VEPro because of their copy protection scheme, which I loathe. If only they would provide a challenge and response alternative, I’d very likely be using VEPro already.



What is using up 67gb then? Something is amiss.


----------



## Sami (Sep 9, 2018)

Slightly off topic but @Peter Schwartz so you think you could make the ArtzID v2 webinar available please? The link on your site doesn’t work.


----------



## WindcryMusic (Sep 9, 2018)

Dewdman42 said:


> What is using up 67gb then? Something is amiss.



I’m not convinced that anything is amiss. About 190 channels, each with anywhere between 12 and 50 articulations, spread across anywhere from 1 to 8 patches per Kontakt instance ... that’s a whole bunch of stuff. I’ve even dialed back the voice counts on most of the instruments to conserve memory, which I estimate is saving me between 5 and 10 GB.

My old template was running at about 12 GB purged, and it had around 210 tracks but just one articulation per channel, and was leveraging multi-output Kontakt instances as well ... so there were perhaps only 30 to 40 Kontakt instances running, whereas now I’m using one Kontakt instance per channel to allow Logic to work better (permitting things like track freezing to work properly again, not to mention the interface with my MCU Pro which multi-output really messed with). So I figure that I’ve probably got somewhere around 20x as many sonic options in this template as in my old one, and 5x the number of Kontakt instances, and as a result the RAM footprint isn’t surprising me too much when compared to my old template.

But if other persons are running comparable templates in Logic in much less space, I’d certainly like to know what they are doing differently, although I may not choose to follow their lead if sacrifices in functionality would be required. (Yes, I know it would be possible to run more efficiently in Cubase where Kontakt instances are able to be left fully unloaded until needed, but my past experiences with Cubase and Steinberg (many years back) haven’t endeared them to me, and also there’s that same, irritating CP/dongle issue in the way, too.)


----------



## Dewdman42 (Sep 9, 2018)

That all sounds fun but if it’s purged then it should not be taking up that much ram. Anyway sounds like you have it all figured out. Good luck


----------



## Alex Fraser (Sep 9, 2018)

You could always save your instruments as patches and simply load them is as required. That appears to be the alternative “Logic Way” of doing things. 
Should take no time at all to load in a purged Kontakt instance.


----------



## WindcryMusic (Sep 10, 2018)

Alex Fraser said:


> You could always save your instruments as patches and simply load them is as required. That appears to be the alternative “Logic Way” of doing things.
> Should take no time at all to load in a purged Kontakt instance.



I've tried that before, but didn't find that to work well at all, especially in terms of auxiliary sends not being shared, but also in terms of some aspects of the patches not loading consistently. Anyway, my new template is rather heavily intertwined, where even if I trusted patches to work and if they did right by aux sends, I'd still have to do some leg work after each added track ... things like drag the track into the right track folder so it is grouped into the right stem, and assigning the track to the correct group so that the track visibility feature I have in the Lemur portion of my template will work properly.

Truly, the 67GB footprint isn't a problem thus far. I bought an iMac Pro with 128GB to be able to run this beast of a template, and it loads in around three minutes (which, from what I understand, is not all that outlandish of a time for a template load). Perhaps over time I'll decide to whittle down the template size a bit as I settle on specific libraries for specific purposes, but for now I'm giving myself all of the toys so that I can experiment.


----------



## Peter Schwartz (Sep 10, 2018)

Hey @WindcryMusic, check your email. 

As for RAM footprint, and totally FWIW... I just did a quick test on my system found that 20 completely blank instances of Kontakt 5 take up about .5 GB of RAM.

@Sami, thanks for your interest in the webinar. I'm going to schedule another one at some point instead of editing down the first one I did.

@WindcryMusic one more time... I remembered why I didn't originally add a "no keyswitch" option. For a ks patch that didn't need articulation switching, the idea was to set the patch on its own MIDI channel and select the articulation manually in the patch's GUI. From that point on there was little chance of your selection ever changing on its own. And you'll have the same situation now, but at least you'll have some visual indication in the GUI showing that the patch isn't meant to receive any ks notes, and a convenient means of programming the articulation of one or more of these instances right from the scripter GUI.


----------



## thesteelydane (Sep 11, 2018)

Dewdman42 said:


> What is using up 67gb then? Something is amiss.



Kontakt eats memory even when fully purged, and each individual instrument in a Kontakt multi also eats memory, even when fully purged. How much depends on the complexity of the instrument, the scripting, how many effects etc...Usually putting instruments from the same developer together can lower this amount, but not by a lot. 

If you look at the "expert - engine" tab in Kontakt, you will see how much even a fully purged instrument needs. It's a non-trivial amount. Turns out loading samples into memory is only half the equation you have to consider.


----------



## WindcryMusic (Sep 15, 2018)

Peter Schwartz said:


> Hey @WindcryMusic, check your email.



For anyone who was following this thread, if you don't already know that Peter rocks, you can take my word for it. Thanks to him, I've now got the desired "magic sauce" that promises to be a big help when it comes to balancing any unruly articulations in my template.


----------



## Peter Schwartz (Sep 16, 2018)

That's very kind of you!


----------



## Shubus (Jul 3, 2019)

And now that Peter has discontinue ArtZ*ID, where does that leave us?


----------



## danbo (Jul 3, 2019)

Shubus said:


> And now that Peter has discontinue ArtZ*ID, where does that leave us?


 
I don't see the problem. With the new articulation control in Logic Peter's script is obsoleted I think, a common enough occurrence in software. I started with Logic not long ago, just when the new articulation sets came in, and got in a discussion with Peter on if his scripts offered anything in addition to that. Basically they don't, other than potentially being easier to set up (though I had no trouble setting up a complex articulation set up in stock Logic). 

The only deficiency of Logic's articulation is that you're limited to 16 articulations (via the MIDI channel trick) when using a plugin that doesn't natively support Logic. In practice I haven't found that an issue since I work with large orchestral templates. I give each instrument about four shorts, four longs, four legato's and leave the last four to be use on a per-project basis. Seems to work out and like I said easy to set up.


----------



## WindcryMusic (Jul 3, 2019)

danbo said:


> I don't see the problem. With the new articulation control in Logic Peter's script is obsoleted I think, a common enough occurrence in software. I started with Logic not long ago, just when the new articulation sets came in, and got in a discussion with Peter on if his scripts offered anything in addition to that. Basically they don't, other than potentially being easier to set up (though I had no trouble setting up a complex articulation set up in stock Logic).
> 
> The only deficiency of Logic's articulation is that you're limited to 16 articulations (via the MIDI channel trick) when using a plugin that doesn't natively support Logic.



That's not the only deficiency IMO. I am pretty certain LPX's articulation system can't process input articulations in such a way as to activate the various options of the Cinematic Studio Series, for example. There was also the issue of Logic assigning articulation IDs to events that didn't need them, but perhaps that has been addressed by one of the more recent patches? I don't know.

In fact I didn't know that @Peter Schwartz had discontinued his product until today. (When did it happen? I didn't see a forum announcement.) It makes me sad. Now I am wondering if it is just a matter of sales being cut into by the built-in system, or if the Scripter bugs introduced with 10.4.5 are giving him problems? I admit that I haven't tested ArtZID out much with 10.4.5 yet.


----------



## Peter Schwartz (Jul 3, 2019)

@ danbo, I don't remember the conversation you mentioned, but it's hard to imagine that so many people would have embraced the system if it didn't offer more functionality than what can be programmed in an articulation set. And the conveniences that the Scripts offer, such as very quick setup, really cannot be understated.


----------



## Alex Fraser (Jul 3, 2019)

WindcryMusic said:


> There was also the issue of Logic assigning articulation IDs to events that didn't need them, but perhaps that has been addressed by one of the more recent patches? I don't know.


Thankfully fixed now.


----------



## bigrichpea (Jul 3, 2019)

WindcryMusic said:


> That's not the only deficiency IMO. I am pretty certain LPX's articulation system can't process input articulations in such a way as to activate the various options of the Cinematic Studio Series, for example. There was also the issue of Logic assigning articulation IDs to events that didn't need them, but perhaps that has been addressed by one of the more recent patches? I don't know.
> 
> In fact I didn't know that @Peter Schwartz had discontinued his product until today. (When did it happen? I didn't see a forum announcement.) It makes me sad. Now I am wondering if it is just a matter of sales being cut into by the built-in system, or if the Scripter bugs introduced with 10.4.5 are giving him problems? I admit that I haven't tested ArtZID out much with 10.4.5 yet.



Logic can now send multiple commands for an articulation, meaning all CSS features can be activated. This only works if you're working in a single midi channel as there is a bug which stops it working if you have multiple channels - only the first part of a multi-command switch is sent to the correct channel, the other commands are sent to channel 1.


----------



## Kent (Jul 3, 2019)

bigrichpea said:


> Logic can now send multiple commands for an articulation, meaning all CSS features can be activated. This only works if you're working in a single midi channel as there is a bug which stops it working if you have multiple channels - only the first part of a multi-command switch is sent to the correct channel, the other commands are sent to channel 1.


It's also quite possible to create custom macros in the Environment to do the same thing, and I'm not sure that this is limited by any bugs.

::edit:: I should add: ...in conjunction with the articulation sets commands. It's a powerful combination!


----------



## babylonwaves (Jul 15, 2019)

bigrichpea said:


> This only works if you're working in a single midi channel as there is a bug which stops it working if you have multiple channels - only the first part of a multi-command switch is sent to the correct channel, the other commands are sent to channel 1.



this bug is fixed now


----------



## bigrichpea (Jul 16, 2019)

babylonwaves said:


> this bug is fixed now



Nice one


----------



## A.G (Jul 24, 2019)

kmaster said:


> It's also quite possible to create custom macros in the Environment to do the same thing, and I'm not sure that this is limited by any bugs.


There are some Environment bugs in Logic 10.4.5 & 10.4.6 I cannot define yet... I do not advice you to invest in the Environment at that time.


----------

