Jump to content

Articulation control scripts?


fernandraynaud

Recommended Posts

Wow, @dewdman42, just in time -- I had come to the conclusion that this whole articulation business is a huge waste of time, and was about to jump off that stool with an extension cord around my neck. Can you imagine any string player having to punch up articulation codes while playing? In reality, what we need is not more and more articulations but fewer smarter ones. KH has some good ideas, like CC for tremolo and vibrato, he needs to generalize those. These are both "after the note" decisions for a player, will I apply vibrato, or tremolo, just like "will I scrape that bow louder" and "will I keep sounding that note" ? A spiccato or pizzicato are "before the note" decisions.

 

Now, on a piano, we have just a few articulations, like "sit up straight" a la Van Cliburn vs. "crabwise on a broken chair" a la Glen Gould, or "slouch and nod out off the stool" a la Bill Evans.

Link to comment
Share on other sites

One problem is that they generally want to keep the total number of key switches within an octave or two. That limits the number of switches so they must use combinations to achieve it. That increases the playability if you are the kind of person that is able to master that playing technique to play all the keyswitches and notes real-time, which I am not. So for me I’d rather have more keyswitches that are precise and assignable from an artid.

 

I’m still stuck on how to handle the staccato toggle though. I have reached out to Kirk and I’m hoping maybe there will be a way. One workaround would be to use automation in the script to control that one but I’d rather not. Yes it could be possible to use articulation id’s to drive some automation!

 

Also in general the rule I’m coming up with is use artid’s to dictate which sample will be played, use normal automation for things that change as you hold a note, like cc expression, etc... artid determines which sound to start playing.

 

For kh tvec i came up with 89 articulations and that was kind of too much, a lot of them were just the same as the others but using pp, mf or ff accents. So that script uses mod wheel ( that is also controlling volume) to select which accent keyswitch to use and then combines all the rest of combinations similar to spotlight. It still ends up being largely artid=sound to use.

Link to comment
Share on other sites

Fernand, please try this attached version which I think solves the problem for staccato but requires two extra setup steps. You need to configure kontakt for CC automation of the staccato control. Choose any CC# you want, for example CC32. Then go to the bottom of the Scripter UI and specify which CC is being used for staccato. After that staccato should work too.

 

PM me for further updates on this

 

KH-Spotlight 2.zip

Link to comment
Share on other sites

Yeah, Staccato is the killer. Will try your script tomorrow, been busy working on a Baroque Minuet piece using a Virtuoso Ensembles multi. Cheaper than Vangelis' setup.

 

Can you tell me how exactly I need to prep Kontakt and the Library?

 

I've been bitching to Kirk about his anachronistic scattering of keyswitches. It's absurd to have to deal with a different set for different instruments/patches. Given that a little MIDI keyboard or a pad set, set up to start at C-2, to switch articulations, costs all of $25-$50, the right way is to pack all the keyswitches for every patch down into the C-2 octave(s). If someone is using straight keyswitches, that can be remembered and makes sense. If you're programming an articulation set it makes the job manageable. SO I've been moving all his default keyswitches down there. I refuse to deal with his defaults. Please tell me how you expect everything to be set up so I don't have to guess or plow through the script?

 

Thanks!

Link to comment
Share on other sites

Unfortunately for now you have to use the default keyswitches. The good news though is that you can set the input keyswitches in the articulation set to anything you want. That doesn’t map 1:1 to kh’s overlapping keyswitches though.

 

Then follow the instructions above for setting up a CC control for the staccato control of each kontakt inst used.

 

Yea I don’t know why he doesn’t just Transpose the keyboard up for lower register instruments so that the keyswitches are always in the same place at the bottom of the keyboard. It is what it is.

 

If I get some time I will have a look at virtuoso ensembles next but it’s more involved because there are different instruments that are all completely different

Edited by Dewdman42
Link to comment
Share on other sites

I don't think this can be handled well with a one dimensional array. It turns into a very big set, as you know, and IMHO articulation represented that way doesn't really represent too well how an instrument is played.

 

There's a difference between pre-strike and after-strike articulation, say Pizzicato as pre, because you have to prepare the note differently, and Vibrato or Tremolo as post, because any held note can develop vibrato or tremolo. That's why Kirk Hunter is adding modulators, i.e. additional dimensions. The Apple AID model is very limiting.

 

Staccato is "post". Unless you limit it to a special case of Marcato, which would actually make sense, it's just a shortened note that started like any other.

 

As far as the script goes, I don't think it's working predictably, but I can't tell more as I don't read obfuscated javascript too good.

Link to comment
Share on other sites

I have PM'd you a new simplified script with no GUI to try. It seems to be working ok for me now and you can edit the keyswitch assignments.

 

In answer to some of the points..

 

I don't think this can be handled well with a one dimensional array. It turns into a very big set, as you know, and IMHO articulation represented that way doesn't really represent too well how an instrument is played.

Not sure what you mean by one dimensional array? The set I have provided you provides all articulation combinations, there are only 33.

 

There's a difference between pre-strike and after-strike articulation, say Pizzicato as pre, because you have to prepare the note differently, and Vibrato or Tremolo as post, because any held note can develop vibrato or tremolo. That's why Kirk Hunter is adding modulators, i.e. additional dimensions. The Apple AID model is very limiting.

KH spotlight doesn't work that way. The articulation is chosen before the note strike, not after. That includes tremolo and trills, staccato, slurs, slides, portamento, jamboree embelishments. Vibrato, you're right, is controlled after the note strike...and that is not an "articulation". As I said in an earlier post....articulation set's should be used for "articulations", ie...things that can be chosen before the note strike and that influences which basic sound will be heard. There are 33 of those things in Spotlight, and then you can use automation to control a few additional things like vibrato, dynamics, bow spacing, etc..

 

Staccato is "post". Unless you limit it to a special case of Marcato, which would actually make sense, it's just a shortened note that started like any other.

not sure what you mean by post. In KH Spotlight you have to put it into staccato mode before striking the note and once the note is struck, you can't effect this. its an articulation just like the others. the only difference is that KH decided to make it a toggle keyswitch rather then a momentary one like for the other playing styles that are used in combination with the basic articulations.

Link to comment
Share on other sites

Hi, Dewd, what I mean by "pre" and "post" had no relation to Spolight Solo Strings (SSS). I was talking about an ideal system, or at least a better one, that recognizes that some timbres and playing moves are not well-served by being listed in a single dimensional array, i.e. AID [1... 127]. The idea of staccato as a shortened version of one of many standard articulations, hence KH's approach in SSS, makes sense. It doesn't make much sense, except as a purely utilitarian construct, to list a half dozen Staccato variants of basic articulations as distinct articulations. Same with Tremolo, which is just an extension of an ordinary note with rapid bow scratching. At that rate we end up with variants of variants, and a huge single dimensional array.

 

It makes more sense to list core articulations, the ones that I'm calling "pre" articulations, ones that are initiated differently by the player, like plain Arco, vs. Pizzicato or Spiccato. The player then applies modulations, techniques, after beginning the note, to modify it. That's what I'm referring to as "post" articulations. That maps better in a multidimensional array, say if Arco is Articulation 1, we'd have several variants of Arco as plain Long, shortened as Staccato, with vibrato (starting immediately later), with Tremolo, etc. Just thinking about how to better represent all the different articulations. as

 

But the initial problem that should be solved to make mappings more practical to remember and play, is to arrange the core articulations in a common order, so it can be remembered and used in real time. For many instruments we could use the same base palette. It's a bit of work to think it through and apply it, and that's what I was hoping for in Babylon Waves' Art Conductor set, but alas ...

Link to comment
Share on other sites

For the most part what you are suggesting is not possible due to the fact everyone is using sample players that need different samples to playback for each case. So you have to know and specify them “pre”. The only thing Kirk really did different in spotlight strings was to emulate vibrato so you can control that “post” but pretty much everything else has to be known “pre”. Vibrato is not really an articulation thing. Neither is trem or trill but as of now spotlight has those baked into yr samples so you have to specify them “pre”. The reason for his complicated combinations of keyswitches has more to do with the fact that he has a large set of possible attacks to use depending on the combinations. Rather then have 150 keyswitches per instrument he has around 15 that can be used in combination. So the “pre” keys you use will determine whether it will be a short or long note, which attack (dolce, legato, detache, Marcato, slur, trem, trill) (pizz and spiccato only apply to short) and whether to use connect Bowing, or lhand shift or portamento effect whether you slide into the attack. All of those can be specified with articulation id because they are pre. The things you control post are dynamics and vibrato and for the long notes how long to hold them.

 

The question becomes here how many of those pre combinations would you need to represent as discrete articulations? Last night I came up with 35, if you exclude connect bowing as a factor and mutes. If you include all possible pre articulations there would be 140 including connect bowing and mutes. That’s too many to have keyswitches for each one so he has 14 keyswitches you use in combinations that produces one of 140 results. I’m working on a new articulation set that will be the 35 i mentioned, without connect bowing or mutes, so the user will have to use automation to turn mutes on/off or connect bowing on/off. I might do the set as 70 articulations incliding mutes so that you can click notes in the piano roll and hear it muted, but the keyswitching gets kind of complicated that way too.

 

Kh strings just generally provide a lot of subtle nuance and he put a lot of thought into what happens to in between notes leading up to the attack. Kh stuff has a lot of latency too because of this, but great results are possible when you choose the right combination of keyswitches. The emulated vibrato also allows for performance “post” changes to the vibrato which also contributes.

Link to comment
Share on other sites

Yes, and he's aware of the latency problem, especially with the popular smart legato, which he offers an alternative to. I think he's one of the more thoughtful developers in orchestral sampling. He understands string instruments very well.

 

It's a very recent development to start putting "post" modulation on assignable CCs. Spitfire also started putting Vibrato on a CC. It's quite impressive with an ensemble if it's well done, you can fade from thin to the fattest chorusy sounding string section at the touch of a fader. Same with tremolo. I haven't seen one that gives you both, and a trill to boot, but that's probably where we're headed.

 

KH also did something very clever with Virtuoso Ensembles. Spitfire has all those mic positions, so you can pull say a woodwinds passage out of the background by fading up the close mic(s) and lowering the ambient ones. KH has a control he calls "mono" or "mic dist" that allows bringing a section forward, or back into the soup, by riding a CC on that one control, without requiring so many separate mic samples.

 

There's a place for every approach, and personally I favor using a lot of memory, being able to orchestrate in real time with articulation switching that can be remembered, multiple CC assignments and so on. Given that Apple is mainly catering to consumers, who aren't bothered by Apple's "vintage" RAM limits, smart memory-sparing libraries like KH's are especially useful.

 

It IS ironic that Spotlight Solo Strings can so easily bring the most powerful system to its knees on the CPU demand side. It's a killer, one of the poster children for running out-of-session, either in a parallel DAW (or in VEP) if you have the cores to spare, or outright on a slave machine. It's what led me to develop a rewire-to-Reaper technique, as an alternative to setting up network MIDI and yadda yadda to the slave PC each time. It works especially well on a 12 core (24 thread) machine.

Link to comment
Share on other sites

  • 4 months later...

Hello and thank you for this thread.

After reading all the six pages, I understand better how the Keyswitching works, but I'm still in trouble with some points...

 

I work on a Macbook Pro 2011 (Mac Os Sierra 10.12.6) with 16gb ram and 1To SSD (in which are all my VST).

I use Logic Pro X (10.4.1) and Kontakt 5.6.0 with the complete libraries of Berlin Orchestral Tools.

I produce orchestral mockup.

 

My problem is, using Keyswitching or Articulation ID's, Kontakt / Logic maintain the last articulation played. Therefore, it needs one note to be played to activate the chosen articulation (the correct articulation is always one note late). If not, the last articulation who has been used is still active for one note.

 

I don't think that is a latency problem but a triggering problem. Does ARTzID could be helpful? I downloaded Art Director Script from BabylonWaves and it works but I would like to avoid automation and use Articulation ID's.

 

Thank you,

Joseph

Link to comment
Share on other sites

I don't understand exactly the issue, normally the articulation ID is carrying in the event itself the information, likewise the velocity. The way I understand what you describe would be like the velocity imbedded in a note would be applied/played by the following note event...

Anyhow, if that is what is happening, an obvious workaround would be programming (recording) articulation ID to preceding events (which BTW don't have to be notes).

Link to comment
Share on other sites

Thanx to your video, the issue is clear.

It seems that the Kontakt library plugin is not responding at once, as due.

To troubleshoot the source of the problem, have you tried with another (Kontakt's) library and/or/vs Logic's Studio String plugin?

Another thing to try could be to turn off the MIDI Remote button in the Articulation Set editor (Switches pane).

Link to comment
Share on other sites

Atlas007,

 

Others Kontakt Libraries have the same issue. But Logic's Studio String plugin works perfectly.

Turning off the MIDI Remote button in the Articulation Set doesn't change anything.

 

Could it be the size of the library that occurs the problem?

 

Thank you

Link to comment
Share on other sites

That's your call...

However, be aware there is no warranty that will solve your issue, since that seems to be related to the way the sample library (using Kontakt) responds to Articulation Set from Logic.

The way I understand it, BabyloneWaves script is only a bunch of pre-programmed Articulation Sets, no more, no less... which could be handy if you work with many different libraries.

40€ seems rather pricy just for that, especially if that doesn't address your issue.

Again, your call...

BTW, the workaround I suggested is rather quick and easy to use. Trying it on just a few notes could at least in/validate that the source of your problem is due to the library/Kontakt used.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...