Jump to content

Articulation control scripts?


fernandraynaud

Recommended Posts

What I like about artzid is the sheer simplicity of it.  Its a very simple and elegant solution that works as advertised with very minimal fussing around.  Simple and elegant solutions often have a couple short comings, usually unimportant ones.  Such as, for example, there is no graphical display of the articulation Id's on a timeline, like there is for the automation lane approach, which is provided in ski's earlier tool, skiswitcher, but I prefer so much the approach overall of artzid, for me its no loss whatsoever.   Clearly there can be pros and cons both ways and some people may prefer to work one way or the other, with automation lanes or with art id's tagged into the note events (which is what I prefer).

 

Ultimately, I think artzid is basically a system that almost any Logic user could have figured out how to do themselves after many hours of futzing around with the environment and scripter to get it done, which is basically what ski did...he worked out all the kinks and gotcha's and figured it all out, a workflow that works very well in logic using tools entirely inside of Logic.  This is simple, elegant and transferrable, everything associated with a logic project, including his addons, are SAVED WITH THE PROJECT.   

 

He has worked out all the details and documented it carefully and completely, including various situations that come up with different libaries so you can just follow his instructions, use his logicpro customizations...and it works great.   He has addressed most of the popular orchestration libraries that are out there and worked out the details for those too.  There is no need to have "hundreds of presets" because the system just has a couple of working modes that basically covers the operations of all the known sample libraries.  There is no needs for keeping hundreds of specialized saved templates or presets or anything like that.  The most you need to do is decide the keymap will you use for playing your keyswitches or controls on the fly  (which end up getting encoded as articulation id's), and name them if you want.  That's it.  So easy.  And it works.

Link to comment
Share on other sites

@David Nahmani The discussion did get a bit hot, but I personally didn't find it at all useless or any more negative than the average day on the news. There were some interesting technical issues raised, some claims and counter-claims. IMHO it's rare enough these days for people to construct and express a set of arguments, as opposed to just howling, and, while it's obviously your prerogative, I for one was sorry to see it censored, when they were just getting warmed up ;-) 
Link to comment
Share on other sites

@David Nahmani The discussion did get a bit hot, but I personally didn't find it at all useless or any more negative than the average day on the news. There were some interesting technical issues raised, some claims and counter-claims. IMHO it's rare enough these days for people to construct and express a set of arguments, as opposed to just howling, and, while it's obviously your prerogative, I for one was sorry to see it censored, when they were just getting warmed up ;-) 

I agree but unfortunately the informative technical issues were lost in a see of disrespectful comments and I received complaints from multiple forum members who asked me to step in, so after careful reviewing I decided to delete the contentious posts. 

Link to comment
Share on other sites

OK, well I hope I can still get some answers. 

 

I'm going back to some projects that used key-switching and want to clean them up. 

 

My question is exactly how I would use the different offerings to adapt these tracks to a new way, get rid of the embedded nuisance key switch notes and then mark up the score. 

 

Most have several tracks, each dedicated to a Konkakt  instrument where the bottom octave notes of an 88 key keyboard were used for a common type key-switching, to select articulation, mainly with C1-B1, but sometimes a few others higher up.

 

Some other tracks use a multi-timbral Kontat Multi, with one instrument for long notes (on one MIDI channel) and another (on another MIDI channel) for the short notes, usually again using C1-B1 to select the particular sub-articulation. East West Quantum Leap Symphony Orchestra using Kontakt would be such a case as I recall. 

 

In both  cases above I'd like to end up with tracks that don't contain key-switches and that  ideally would also be portable (as MIDI files) to a different DAW, say on a PC, or Sibelius. I wouldn't necessarily expect articulation info to be conveyed, it would be lovely if it was, but at least the MIDI to not be deformed. 

 

I can manage with 15 articulations per instrument. And to then edit articulations on the piano roll, what would I do? Edit an automation track? Edit numeric values in the Event list? It's important for me to be able to try out and change articulations while listening from the piano roll or a whole score. 

 

Thank you!

Link to comment
Share on other sites

In both  cases above I'd like to end up with tracks that don't contain key-switches and that  ideally would also be portable (as MIDI files) to a different DAW, say on a PC, or Sibelius. I wouldn't necessarily expect articulation info to be conveyed, it would be lovely if it was, but at least the MIDI to not be deformed.

AG articulation system offers a Program Change Articulation Maps triggering method. I.e the Program Change automation can be saved as a SMF and used in other DAWs or notation software. AG system offers a way which can transform the Program Change automation into Text Control Points automation (inside Logic).

There is no problem to convert the old project Key Switches into Program Change (later into Text control points if you want) using "Project MIDI Transform - one go" method offered by AG.

Link to comment
Share on other sites

@Audiogrocery, that's explicit, namely converting keyswitches in the track(s) in one shot with MIDI transforms. Thank you. 

 

So during recording, then playback, where in the signal path are keyswitches converted to program change messages? on the fly? No clicks/glitches? 

 

Are articulation changes then stored in the MIDI tracks as Prog Changes or do we retain keyswitches? If we record using CC#32 messages, what actually gets written to the MIDI track, i.e. again where is what conversion happening? Thanks to what code? Is that code editable/visible? 

 

Is there a MIDI data flow block diagram to help me get a clear view of where which transformations take place ? 

 

Thank you.

Link to comment
Share on other sites

  • 3 months later...

Ressurrecting this thread now that LPX 10.4 has some new articulation id handling built in. Want to understand better how it will work in harmony with skiswitcher's product. I think it looks like some parts of artzid are being provided directly by LPX now, but perhaps not all?

 

Here is what I understand so far:

 

  1. You can create what is called an articulation id "set". These are accessible from the Track inspector. An art id set has some stuff about keyswitch information which can be configured, the exact details of which are not yet fully understand by me in terms of what they can and can't do, or how exactly, and when exactly, key switches are sent out. The articulation id's can be named here also which makes them more readable in various places.
  2. Event list now displays and allows editing of articulation id's per note.
  3. Piano roll can have notes colorized by articulation id. Yay!
  4. Right clicking on a note in the piano roll pulls up context menu where an articulation from the current "set" can be chosen.
  5. Smart Control panel will have a keyswitch pane available when an articulation id set is active for the track.
  6. notational elements can be assigned to each articulation in the set, and then the Score editor will actually display those articulations in the score! They are colored blue to indicate that they are automatic from the artid.
  7. There is a midi remote feature so that incoming keyswitches can be translated on the fly to articulation id's, I think?

 

For my purposes, this seems to replace a lot of what artzid does for my uses, but I need to actually try it out to see how well it performs in terms of sending out and receiving keyswitches. I'm curious if ski has any further information about how artzid will offer more beyond what is now built into LPX?

Link to comment
Share on other sites

Digging a little deeper, I am also happy to report that the new so called "Articulation Sets" are stored globally, across all projects, not embedded into the actual project file, like drum maps are currently, for example. Kudos to apple for doing that, Apple if you're listening please do that with drum maps too!

 

In any case, they are stored in plist files, which means you can theoretically edit them outside of LPX.. they are found here:

 

~/Music/Audio Music Apps/Articulation Settings

 

Played around with it all a little bit... docs on the new feature can be found here: http://help.apple.com/logicpro/mac/10.4/#/lgcp33a49091

 

I works as expected and I'm impressed. Honestly I can't see a reason to use artzid anymore. Its so much similar I almost wonder if ski was involved in the development. In my view this is a major enhancement to LPX for anyone working with sample libraries with key switches.

 

An additional cool thing, you can setup, similar as artzid, a seperate set of incoming keyswitches vs outgoing. So basically if you work with multiple libaries, you can always use the same common input keyswitches to select the articulation as you play the parts during recording. Then during playback the keyswitch that is specific for each library will be sent out according to the articulation sets you're using.

Link to comment
Share on other sites

I'm very happy to learn this, and can't wait to try 10.4. On the other hand I don't quite believe that making Sierra a requirement was absolutely necessary, except as a purge of yet another wave of older machines. The poor babies must just be "chemically aging". I guess I'm going to have to make a point of running Sierra on my 3,1 cMP, which is a beloved workhorse around here for less critical work. BTW, I was playing with Logic 9 on it, and only then realized Logic 9 only supports 4 cores!? That would make the SL/LP9 holdout boys an even MORE heroic bunch. [correction ... my 3,1 lost a fan or heatsink screw, one of the two xeons overheated and was taken off-line -> 4 cores]

 

I doubt Apple's Articulation ID implementation as of now would cover ALL the cases that Peter' stuff handles, because there are so many exceptions and off the wall variations in how 3rd party libraries handle articulation. But if Articulation ID is now available as a bona fide parameter in transforms and edits that will tremendously widen the options. The core weakness of ArtzID has been the "poor cousin" status of Apple's proprietary Articulation ID, including invisibility in all the MIDI functions, which is what Ivan referred to in saying it was barely supported, or however he said it. On the other hand, it's always been the most plausible encoding, being bound to each note unlike Ivan's program changes. Let's see what Peter says about the place or ArtzID in the 10.4 world.

Edited by fernandraynaud
Link to comment
Share on other sites

I doubt Apple's Articulation ID implementation as of now would cover ALL the cases that Peter' stuff handles, because there are so many exceptions and off the wall variations in how 3rd party libraries handle articulation.

Note sure either, want to hear from Peter. The LPX Articulation Set mapping is sufficient I think to cover just about everything though.

 

But if Articulation ID is now available as a bona fide parameter in transforms and edits that will tremendously widen the option

 

Not sure what you mean exactly... I don't think articulation id is accessible from the environment transformer, but I could be wrong. I can't think of a use case for needing that, but never know. Generally its probably easier to write a Logic Script for any additional tweaking beyond what the built in keyswitching features provide.

 

The core weakness of ArtzID has been the "poor cousin" status of Apple's proprietary Articulation ID, including invisibility in all the MIDI functions, which is what Ivan referred to in saying it was barely supported, or however he said it. On the other hand, it's always been the most plausible encoding, being bound to each note unlike Ivan's program changes. Let's see what Peter says about the place or ArtzID in the 10.4 world.

 

Having keyswitches tied directly to the notes through an articulation id is the best approach, which is why Apple did it that way IMHO. ArtzID did the best possible without having access under the covers of LPX. Apple added the colorizing of notes by articulation id and the score editor improvements in order to visually see articulations that are in effect. I believe you could already previously assign articulation id's to notes in the event editor before. I can't remember if you could right click on notes in the piano roll to assign arbitrary articulation id's. I vaguely recall yes. The main difference now is the addition of articulation sets where articulations can be defined by name and associated with incoming and outgoing keyswitches. Also the smart control pane that shows the keyswitches. This was all provided in artzID in clever ways using the environment and a collection of Scripts, except articulation's were only visible by name in the smart control pane, not in the event list. But now users don't have to edit any scripts to create names and keyswitch mappings, and the mapping of articulation id's to keyswitches is also a bit more flexible. And you can still write a Scripter script if you need to do something extra tricky beyond what the built in functionality can do. Honestly its everything it would have been if peter had access under the covers. It would not surprise me if he was involved with Apple in making this change in some way, if so I I hope he was compensated because they basically used his paradigm all the way and just went the extra mile for the stuff available under the covers like colorization, etc.

Link to comment
Share on other sites

Hey Guys,

 

For me, the release of 10.4 came as a complete surprise (more like a shock). I'm scrambling to learn the new capabilities of the system, respond to customers who've written to me asking about it, all while NAMM is going on, where I have various meeting scheduled. Here's what I know so far...

 

1) My preliminary tests have shown that both SkiSwitcher & ARTzID run fine under 10.4.

 

2) It should be possible to use the same 2nd keyboard device to drive either of my systems, and, any new tracks you want to drive using an Articulation Set.

 

3) ARTzID in particular offers far greater capability than what Articulation Sets offer, if for no other reason than Articulation Sets appear to only support a maximum of 16 articulations. Features of my Combinatrix Script (for chaining mixed patch types, up to 126 articulations) and Cinematic Studio Strings Scripts, to name two, are just not possible with Articulation Sets.

 

As I learn more (and/or get my head around this) I'll post back with more info.

Link to comment
Share on other sites

The part I haven't spent time to fully grok yet is the "mode" field on the incoming keyswitches that has 9 modes... Permanent, Momentary and Toggle, with Trigger, Retrigger and unamed as 3 variations of each. But if I'm understanding this, this is mainly related to the incoming keyswitch (similar to the stuff you have in your environment macro).

 

I would think at the very least some of your advanced features such as combinatrix and cinematic strings can be handled with simpler scripts now. Maybe you will be able to come up with some more advanced scenarios! Most definitely the current built in functionality assumes that any given articulation sends one and only one keyswitch out, and the keyswitch can basically be a single midi event...with a static value..for example, a particular note, a particular CC value ,etc.. it cannot, for example, take a note and send it to different midi channel depending on the articulation, that I can see so far anyway. But a Scripter script could be used to translate that sort of stuff.

 

I can see great advantage to using the built in functionality for naming articulations, even if your advanced features can translate keyswitches into various things.

 

Someone pointed out on another thread, that the new 10.4 feature is able to send different articulations to different notes of a chord. And..if you use layered regions, you can have two of the same note hit at the same time with different articulation id's each and apparently that works too.

 

But advanced scenarios of having one midi track send out to multiple instruments with different keyswitches on each output...I think extra scripts are needed for that sort of thing.

 

Here's more than 16 in a set:

 

manyarts.thumb.jpg.83fa9bdf74191bbb1be122bf7dab6847.jpg

Link to comment
Share on other sites

A quick reply for now... Glad to get your thoughts on the matter. And thanks for posting that screenshot. Not sure why I couldn't get more than 16, but as I said, I'm still learning the system.

 

Both of my systems have always been able to switch articulations on a per-note basis. That is, each note in a octaves or chords could sound with their own independent articulation regardless of the patch type (keyswitching, UACC, anything). I named this "polyphonic articulation switching". It's actually not a specifically designed feature; it's just something that happens "naturally" as keyswitching/UACC patches/plugins can switch articulations faster than anyone expects they can.

 

Anyway, more later. As if I don't have my hands full with all this I have a dentist app't in 40 minutes. GAH!

 

:mrgreen:

Edited by ski
Link to comment
Share on other sites

Back from the dentist. Nothing too exciting to report (not that you'd want to know if there was, right?) :mrgreen:

 

So... indeed you can create setups of more than 16 articulations. I chalk up my initial impression to me and this new system not being properly introduced. :wink:

 

Testing, testing, testing, and... what I see as an essential missing element is CC Cloning, a really important aspect of my systems when driving multi-timbral patches on a single track. So if anyone here has SkiSwitcher or ARTz•ID and wants to try out an Articulation Set with a multi-timbral setup, use my CC Cloner to provide common CC's to the various articulations in the plugin on different channels simultaneously. (If using Kontakt, be sure to use the Kontakt version of the Cloner).

 

That's all for now...

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...