fernandraynaud Posted March 13, 2018 Author Share Posted March 13, 2018 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. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 13, 2018 Share Posted March 13, 2018 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. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 14, 2018 Share Posted March 14, 2018 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 Quote Link to comment Share on other sites More sharing options...
fernandraynaud Posted March 14, 2018 Author Share Posted March 14, 2018 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! Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 14, 2018 Share Posted March 14, 2018 (edited) 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 March 14, 2018 by Dewdman42 Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 14, 2018 Share Posted March 14, 2018 Ps I am working on a more generic solution that would allow you to specify any keyswitches you want but won’t be ready for quite a long time out Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 14, 2018 Share Posted March 14, 2018 Ps I’m also still having some troubles with staccato but it’s better then before. I have some ideas but they are complicated to script so it may be a few days before I can try that. Quote Link to comment Share on other sites More sharing options...
fernandraynaud Posted March 16, 2018 Author Share Posted March 16, 2018 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. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 16, 2018 Share Posted March 16, 2018 please communicate via pm or email for further work on this. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 16, 2018 Share Posted March 16, 2018 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. Quote Link to comment Share on other sites More sharing options...
fernandraynaud Posted March 18, 2018 Author Share Posted March 18, 2018 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 ... Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted March 18, 2018 Share Posted March 18, 2018 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. Quote Link to comment Share on other sites More sharing options...
fernandraynaud Posted March 18, 2018 Author Share Posted March 18, 2018 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. Quote Link to comment Share on other sites More sharing options...
marlouis Posted July 27, 2018 Share Posted July 27, 2018 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 Quote Link to comment Share on other sites More sharing options...
Atlas007 Posted July 27, 2018 Share Posted July 27, 2018 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). Quote Link to comment Share on other sites More sharing options...
marlouis Posted July 28, 2018 Share Posted July 28, 2018 Thanks Atlas007 for your message, I took a video so you can understand better what is going on. I hope it's clear now. Thank, Joseph Quote Link to comment Share on other sites More sharing options...
Atlas007 Posted July 29, 2018 Share Posted July 29, 2018 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). Quote Link to comment Share on other sites More sharing options...
marlouis Posted July 29, 2018 Share Posted July 29, 2018 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 Quote Link to comment Share on other sites More sharing options...
Atlas007 Posted July 29, 2018 Share Posted July 29, 2018 Hard to tell. Normally, all the used library should be in RAM in order to work optimally. Have you tried my workaround suggestion? Quote Link to comment Share on other sites More sharing options...
marlouis Posted July 29, 2018 Share Posted July 29, 2018 Thank you Atlas007, your workaround suggestion means creating events before each change of articulation? In this case, I'd prefer to use automation provided by the BabylonWaves script. Quote Link to comment Share on other sites More sharing options...
Atlas007 Posted July 30, 2018 Share Posted July 30, 2018 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.