What's new

CSS: Elegantly Switching Legato to Non-Legato?

Land of Missing Parts

Grumpy Monkey
From all appearances Cinematic Studio Strings was designed to be used on a single track, rather than the separate articulation per track method that was the common workflow in the past (and is still used by many people today).

Say you load up a violin, you have access to all articulations in that one instance and, importantly, they are internally balanced and can transition relatively seamlessly into one another. So you can easily go: stacc, stacc, sus, marc, marc, sus all on one track without need of fussing with the volumes, transitions, etc.

CSS gives two methods to switch articulations: keyswitches and UACC via cc58, the latter being preferable to me because you do no need to use the modwheel to toggle between the shorts.

Using articulation mapping in Logic (and I believe Cubase has a similar option), I can embed the cc58 data in the midi note itself, meaning that if I have several midi notes on the piano roll, I can just highlight each and select the articulation I want. No need for extra notes at the bottom of the screen, i.e. keyswitches). To me, it's an elegant solution.
Screen Shot 2018-11-11 at 10.06.14 AM.png

Here's where the problem comes in. What if I want to go: stacc, stacc ---> legato sus --> marc, marc --> non-legato sus?

I can use Logic's articulation mapping to send cc58 messages: (21) stacc, stacc ---> (6) legato sus --> (66) marc, marc but there is no cc58 for non-legato sus.

I see two options to get the non-legato sustain, but both involve an additional step.

Option one: Create a midi note on keyswitch A#0, velocity value must be 0-64. This is currently how I do it, but it's a break from the otherwise clean method I described above.

Option two: Send cc58 message (81), which switches off legato. The problem is, how do you send that? I already have cc58 sending (6) in order to switch from marcato to sustain. I could create an additional midi note beforehand to send cc58 (81), but it will play a marcato note because it hasn't switched to the sustain articulation yet. Of course, I could have that note below the playable range, but that essentially is the same thing as a keyswitch.

My question is, has anyone found a more elegant way to switch from legato to non-legato all in one step?
 
Last edited:
In Cubase's expression maps, you can send the CC58 for sustains and the keyswitch for legato on/off in the same articulation. Can you not do the same with Logic's articulation manager?
 
In Cubase's expression maps, you can send the CC58 for sustains and the keyswitch for legato on/off in the same articulation. Can you not do the same with Logic's articulation manager?
Hmmm, I think you can send three messages in one articulation, though I wasn't able to get it to work last time for some reason, maybe because it doesn't work while using NoamL's Thanos script. I'll have to check it out further.

EDIT: I did some testing and was able to get Logic to send two messages in one articulation, but the result were glitchy and inconsistent. If anyone has this figured out, please share.
 
Last edited:
Hmmm, I think you can send three messages in one articulation, though I wasn't able to get it to work last time for some reason, maybe because it doesn't work while using NoamL's Thanos script. I'll have to check it out further.

EDIT: I did some testing and was able to get Logic to send two messages in one articulation, but the result were glitchy and inconsistent. If anyone has this figured out, please share.

Hey @Land of Missing Parts, did you ever figure out an elegant solution for this, and how would you implement something like this with NoamL's Thanos script?

Thanks!
 
I'm using logic and have been able to accomplish this using a Kontakt multi and an articulation set. I basically followed the instructions on the webpage below that was written for cubase. I can send you the Kontakt multi file and the articulation set if you would like to take a look.



That's brilliant, thanks.
 
EDIT: I did some testing and was able to get Logic to send two messages in one articulation, but the result were glitchy and inconsistent. If anyone has this figured out, please share.
it works just fine if you do it right. you can build a map which switches all articulations with sordino and legato options. and you don't need anything extra for that. same goes for expression maps.
 
I don't have CSS but wouldn't it be easier to just load all the articulations you need into one instance of Kontakt and just send the notes to the correct articulation by simply assigning the midi channel of the instance?
 
I don't have CSS but wouldn't it be easier to just load all the articulations you need into one instance of Kontakt and just send the notes to the correct articulation by simply assigning the midi channel of the instance?
It would work. I need to double check if this is true, but I believe it would be using significantly more ram because even after you disable and purge the duplicate articulations, you'd essentially be loading the sustains in twice (once for the legato). And I usually try to keep one midi channel per instrument, though I could make exceptions for CSS and CSB. Thanks @EgM. :)
 
  • Like
Reactions: EgM
I think if you load the complete CSS patch 16 times within the same instance it should reuse the same samples rather than loading them all over :)

* Edited
 
Apparently I was mistaken... I've tried adding 6 patches of Light and Sound Violin1 and everytime I added one it used more RAM :(

Maybe that was possible before, sorry to have lead you into the wrong idea...

Can I summon the great master @EvilDragon to enlighten us? :)
 
Ahh, yeah my mistake. It's Vienna Instruments Pro that lets you load as many VIs with the same samples that won't load them twice.

Although I seem to remember that Kontakt had a feature called Memory server or something that worked the same way.
 
I'm using logic and have been able to accomplish this using a Kontakt multi and an articulation set. I basically followed the instructions on the webpage below that was written for cubase. I can send you the Kontakt multi file and the articulation set if you would like to take a look.



I’ve been trying this out in Logic and can’t get it to work properly. The problem seems to be that using “Multiple outputs” for the articulations, and sending them to the different Midi channels, doesn’t function correctly.

It sends the first part of the key switch to the correct channel but the 2nd and/or 3rd part always go to midi channel 1. Hence, I can switch to Trem but not to Trem with con sord option.

It looks like a bug but there’s a possibility I haven’t ticked a box somewhere... has anyone else got this fully working in Logic?
 
It sends the first part of the key switch to the correct channel but the 2nd and/or 3rd part always go to midi channel 1. Hence, I can switch to Trem but not to Trem with con sord option.

It looks like a bug but there’s a possibility I haven’t ticked a box somewhere... has anyone else got this fully working in Logic?
yes, that's a bug.
 
I've not, so instead I've been using key-switches to turn the legato off and on.

Thanks, I'll have to go back and test some more. I guess I must have done something wrong.

I saw that @NoamL wrote this in another thread
-------------
var NoLeg = new ControlChange;
NoLeg.number = (whatever the CC number is);
NoLeg.value = 0; NoLeg.send();
NoLeg.value = 81; NoLeg.send();

the first send activates Standard Legato mode and then the second send turns off the Legato keyswitch so it becomes sustain.

The code executes instantly in practice. You just stick this code before the next send NoteOn
-------------

But I'm not sure how to actually implement it, because I'm not too familiar with scripting. Does this solve the issue, and if it does, how would you actually put this into the existing Thanos script?
 
I'm using logic and have been able to accomplish this using a Kontakt multi and an articulation set. I basically followed the instructions on the webpage below that was written for cubase. I can send you the Kontakt multi file and the articulation set if you would like to take a look.



Thanks for sending this article! I'd love to take a look at what you have
 
Does this solve the issue, and if it does, how would you actually put this into the existing Thanos script?

Through the Kontakt multi and articulation set I'm able to already choose legato or not, the only thing that's missing is the ability to turn con Sordino on or off or to choose the Spiccato overlay on or off for the Marcato articulation. Others may have figured it out but that's what I'm missing.

Thanks for sending this article! I'd love to take a look at what you have

just sent you a PM since we're not able to upload the files on this forum
 
Top Bottom