Jump to content

Articulation ID is now a reality: ARTz•ID by SkiSwitcher


ski

Recommended Posts

  • 2 weeks later...

I've just released a Script for Cinematic Studio Strings for ARTzID. A single Script handles all CSS patch types, including the large and lite ensemble patches. The Script also provides a new articulation map that lets you address each possible type of articulation or combination (such as marcato + overlay) on its own ID -- twenty three in all. But the big news is that this Script actually expands the native capabilities of the CSS patches.

 

One Finger & Polyphonic Trills. You can now play trills with one finger instead of two fingers as is normally required by the CSS patch programming. There are separate ID's for half and whole step trills. Additionally, with this Script you can now play trills polyphonically, as well as have mixed trills play simultaneously. For example, a divisi part playing a major third trill needs the lower note to sound a whole step trill and the upper note a half step. One part, one track, two simultaneous notes, two different trills. Or play 4 or 5 note trills for those impressionistic or Disney moments. :D And it will all show up in notation as you'd expect.

 

Sustain NL Velocity Response: for the sustained, non-legato articulation, this feature lets you skip the middle-velocity samples (values 64 - 99) and their strange-sounding attack and access the "soft" samples instead. When active, velocities through 99 give you the soft samples, 100 and higher give you the "loud" samples (this is CSS's normal threshold for the loud samples). Now, on paper it may seem like this feature will cause you to miss out on something, but I find the opposite to be true -- which is why I built the feature into the Script :mrgreen:. And of course its action of this feature entirely non-destructive. Software, baby!

 

Additionally...

 

Con Sord: the CC of your choice can be used to sordino on/off via MIDI. You can also write sordino on/off to automation directly from the Smart Controls.

 

Portamento Volume: provides direct control of the volume of the portamento samples directly from the Script or the Smart Controls. And you can automate the amount from either place.

 

This is a free Script for all ARTzID customers. Please write to me via the http://www.skiswitcher.com website (contact tab) to request a copy.

 

1143014671_artzidcssv1.0.thumb.png.4ca35c741231e86782fec5661e1ce728.png

 

1 Sustain NL (non-legato)

2 Sustain Legato

3 Sustain Legato Advanced

4 Trem Leg

5 Trem NL

6 Measured. Trem

7 Staccato

8 Staccatissimo

9 Spiccato

10 sFz

11 Pizz

12 Marcato NL

13 Marc+Acc ("overlay")

14 Marc Leg

15 Marc Leg+Acc

16 HT Trill

17 WT Trill

18 Original CSS Trill (2 notes) NL

19 Original CSS Trill (2 notes) Leg

20 Harmonics NL (G3)

21 Harmonics Leg (G3)

22 Bartok Pizz

23 Col Legno

Link to comment
Share on other sites

  • 3 weeks later...

Hi Ski - I'm super late to this party... I bought Art Conductor a while back, but never really wrapped my head around it.  (Honestly, I didn't give it a fair shake).  But yours seems a bit more elegant -- I always like the simplest solution.  So please excuse the newby, probably obvious question...

 

Every library has somewhat different articulations, but assuming I set up say, 32 on a small MIDI keyboard, can C2 ALWAYS be Legato for every library, C#2 ALWAYS be Col Legno for every library (that has it),  etc. so I'm always using the same keys for specific articulations, regardless of whether I'm on Spitfire, LASS, VSL, EWQL, etc ?  Does it come preset like that, or will I be assigning articulations for a long time to get things uniform?

Link to comment
Share on other sites

Hi markalex,

 

Your question reflects one of the biggest (and definitely not newbie) issues with sample libraries in general. There is no consistency from one library to the next, save for the fact that usually the first articulation in many patches is a sustained articulation. After that it's the wild west. There's one exception:  Spitfire's UACC system. This is both an orderly list of articulation types as well as a method for selecting them. The list specifies a large variety of articulation styles/types and a number or value associated with each one. The method for selecting an articulation is to precede a note with a CC#32 message of the corresponding value. But even that list allocates a value of 1 as "generic". 

 

Anyway... So here's the story with ARTzID... The system will drive keyswitching, UACC, Vienna, and even multi-timbral MIDI patch configurations. You can even create custom combinations of (say) UACC and individual articulation patches in any order (up to 8 total). More on that in a minute.

 

Selecting articulations live can be done from a variety of different sources, including keyboard notes (what you'd normally think of as keyswitch keys, and these can come from a dedicated keyboard, your main controller, a TouchOSC virtual keyboard, etc.), CC#32 messages, or even program change messages. Whatever method you use to select articulations has only one purpose:  to set the ID for the notes you play and record. Now I'm going to put all this together to answer your question...

 

If you use a keyboard device to select articulations, playing consecutive keys will select the articulations in the order they appear in the patch. The system doesn't have provision to let you remap ID's to articulations in keyswitching or Vienna patches. [Edit: since posting this I've developed a Remapper Script]. OTOH, the system does have this capability for with UACC patches. And for MIDI multi-timbral patches, the order of articulations is the same as the order in which you assigned them to MIDI channels in your plugin.

 

But now let's look at using a different method for selecting articulations -- an iPad running TouchOSC where you can program buttons to output notes, CC#32 messages, or program changes. In almost every respect, it's waaaaaaaay easier to create button layouts (with labels) where the buttons output whatever values you need to get articulations to appear in the order you want [edit: in some ways this is still preferable to using a remapper script]. Truly, the way to get consistency between libraries it not to place the burden on Logic (Scripts consume CPU resources just like any plugin) but to have your iPad button layout output the desired values. It's also the easiest place to make changes in the event you amend a patch configuration, AND, it's the easiest way to let you simply skip or ignore articulations in patches that you rarely use.

 

Sorry for the long reply, but it's a vast subject! In short, getting consistency in articulation order with ARTzID will come down to a matter of the kinds of patches you're using as well as (and most significantly) the method you choose to select them. 

Edited by ski
Link to comment
Share on other sites

BTW, here's a screenshot of the UACC remapper, showing the first 22 of 126 ID's. This Script not only lets you assign any UACC code (articulation) to any ID, but you can also load Kontakt with multiple, individual articulation patches from the same or different libraries and assign them to any ID you want.

1170107859_UACCRemapper.thumb.png.c7039add03d2ce45c468097ca42a0c0e.png

Link to comment
Share on other sites

Hey Peter! 

Congrats on this, it sounds fantastic and a godsend for the likes of me!

I look forward to playing with this, just wish I heard about it sooner! (I've been in the "woods" for awhile)

Is there a script or template for LASS? Or is that something I need to build?

Awesome brain you have :-)

Link to comment
Share on other sites

Thanks RE! Re my brain, well, it... um... hurts a bit now LOL!

 

I don't have any LASS-specific Scripts because, it would seem, everyone configures that library somewhat differently. But all of the Scripts that do come with the system will accommodate pretty much any configuration of LASS patches you can think of. There's never any need to build anything, per se, save for when you want to combine multiple patches into a given instance of a plugin -- all of which can be played from a single track. Or, if you're using VEPro, creating combinations of patches and/or plugins from the same or different libraries.

 

The only time you'll ever have to dive into the Scripter itself is to name your articulations. All settings needed to get a Script to work with a patch can be configured from the Scripter's front panel or from the Smart Controls (which simply mirror the Scripter's controls).

 

Lemme know if you'd like me to send you documentation so you can get a better feel for how things work. 

 

Cheers!

Link to comment
Share on other sites

  • 4 weeks later...

Hey Everyone,

 

The ARTz•ID Cinematic Strings 2 Script is now available, free for all ARTz•ID customers. This Script gives a unique ID to every articulation or articulation combination (see the chart below). No more struggling with wonky velocity-sensitive keyswitches! And polyphonic articulation selection is always active. Additional features include a snap pizz limiter and staccato overlay velocity scaling. 

 

Please visit http://www.skiswitcher.com and go to the Contact Tab to request your copy. Existing ARTzID customers only.

 

cs2cplist.png.689e5afffe56daca1147902a8b7e84b8.png

Link to comment
Share on other sites

  • 2 weeks later...

Hi Ski,

1. Does the Articulation ID information show in the LPX Score?

 

2. Does the Articulation ID information transfer and/or show when the LPX Score is exported via XML?

 

3. Understanding that you can now use the same keyboard for both Articulation and MIDI input, is there a restriction on the MIDI channel used by the keyboard?

 

Thank you, CS.

Link to comment
Share on other sites

  • 4 weeks later...
But, can you export this to midi accurately? A midi export of a standard apple drummer track  when place back in Logic or another DAW changes all Articulation IDs to full open which destroys the track. It also changes the note on a superior drummer track and other drummer software I presume. I read through all of the info, I didn't see anything about exporting the AIDs effectively. Thanks, sure hope that I missed it, cause I'll try this out for sure. But for now I'm stuck and cannot export a midi file with that information. So far, anyway. 
Link to comment
Share on other sites

Hi Steve,

 

The concept of exporting articulation ID to MIDI doesn't apply. That's because the Articulation ID is a Logic-specific add-on to note events; it's not part of the MIDI spec for note messages or any other kind of MIDI message. To put it another way... because these ID values only exist in Logic, even if you had a MIDI region sending to an External MIDI device, the ID values wouldn't be present in the MIDI stream.

Link to comment
Share on other sites

...so when it comes to exporting MIDI files, since ID's aren't part of the MIDI spec, there's no way to export them.

 

About the only way of getting ID values to be reflected in a real world MIDI stream (or MIDI file export) would be as follows:

 

1) Have a Scripter generate a MIDI event such as a CC (let's use CC#3, typically unused) where the value of each event would reflect a note's ID value. Each CC would output from the Scripter just before each note event (easily done).

 

2) Using the External Instrument plugin, and an IAC bus (and the relevant additional voodoo) you'd play the track down out of the IAC bus and record the resulting MIDI stream back into Logic onto another track. Now you'd have something you could export as a MIDI file.

 

Problems:

 

a) Timing via the IAC bus is far from rock solid. So there goes the concept of accuracy. :(

b) The device or plugin receiving the output of the MIDI file would have to be able to respond to those CC#3 messages in some meaningful way.

 

Of course, instead of CC#3 the Script could be made to output relevant keyswitch notes, or CC#32 messages, or program change messages -- whatever the target plugin responds to for the purpose of changing articulations. But then you've got the timing issues to deal with...

 

So generally speaking, by jumping through hoops you can indeed generate a MIDI file which reflects the ID's in some way or another. But whether it's worth it, or even feasible, is questionable.

Edited by ski
Link to comment
Share on other sites

Oh dear! Thank you Ski, for taking time to explain in such very clear and helpful detail. have to try your 126 articulations and wait for the world to catch up I guess. Wow. Lol. Your work is gonna already a big hit with the dreamers. Will this ever  be a portable thing since midi is out? I've only got a few years left  I can wait. 

 

Can ID values be 'reflected' in another way like converted or routed through the controller that could then transfer? Probably apples and oranges. 

Link to comment
Share on other sites

You're welcome! 

 

FWIW, while the system can indeed get any note to pick from a pool of up to 126 articulations per plugin, it's kind of like having a car with a speedometer that goes up to 140 MPH. The reality is that you probably won't routinely drive that fast, but still, the car has the speed available to let you occasionally evade the police or outrun a looming tidal wave. :mrgreen:  Where I'm seeing the system being pressed into service using upward of 1/2 the available ID numbers is with composers using Spitfire instruments, combining multiple "palettes" and "brushes" into a single plugin for the purpose of being able to access all of those articulations from one track. 

 

I've got one customer who's combining lots of keyswitching patches into single instances of a plugin and addressing all those articulations on one track using different ID's -- as facilitated by the system's Combinatrix Script. 

 

So yeah, for the most part 126 is overkill. Still, I'm seeing many composers using it to their advantage. As an aside, I did think about designing the system to have a 64 articulation limit, but it was all the same to provide 126. And it just didn't feel right to place an artificial or arbitrary cap on the number of ID's. So, 126 it is. :)

 

Can ID values be 'reflected' in another way like converted or routed through the controller that could then transfer? Probably apples and oranges.

The only way to get ID values represented as actual MIDI would be to do something like what I described above. 

Edited by ski
Link to comment
Share on other sites

You explanation is so helpful! Thanks to David's timely post here and your replies. No one yet seems able to answer the questions that you've already answered in your replies for me. Speedometer analogy is awesome. So I hope, if others here were freaked out like I was when I heard the exported midi track with AID information not in it correctly, they'll be now at least aware. I am grateful and very curious what I can do with your tools. :-) There's the workaround of exporting the hi hat as an audio file which will at least register the AID effects on other software. Just not editable. We must be content to use AIDs with Logic only at this point. Like you said. Are AIDs something that eventually the music industry will adopt and regulate to a standard like midi or will it remain proprietary to Apple and or you. Seems too good to be true that I am using it right now in my own drum tracks. I sure wondered how the same note would have different sounds like it does and sound so good. Truly a dream for me. Now I have to see if exporting the AID tracks as audio will suffice for my producer and his Slate drums/pro tools software. Or find a studio using Logic options and can use my own Logic files. And again, so many sincere Thx to you!
Link to comment
Share on other sites

You're welcome! As it stands, AID is proprietary to Logic. I just found a way of tapping into it. Cubase's "expression maps" might use a similar scheme. I don't really know for sure because I know zero about Cubase, but I mention this because many people have told me ARTzID has the same or (egads!) better facility for doing this articulation-switching thing than Cubase. 

 

But it's highly, highly doubtful that the MIDI system we're all using now will be changed to allow notes to contain a 4th piece of information:  AID. As it is, a note message contains 3 pieces of information:  MIDI channel, pitch, velocity. You could even say that just by the way a note message is represented digitally, it contains a 4th piece of information -- that it's a note message (as opposed to a CC or pitchbend or other kind of message). But really it's just 3.

 

To the extent that information already contained in a note message could be used as an articulation ID, well, that's exactly how SkiSwitcher2 works. Because the MIDI channel is essentially an underutilized (if not entirely unused) piece of information already contained in note messages, SS2 lets you assign different MIDI channels to notes on-the-fly as they enter Logic, and each channel then becomes associated with a different articulation in whatever patch you're playing. So a note on MIDI channel 2 might be staccato, while a note on MIDI channel 3 might be a trill or whatever. Or in another patch, ch1 might be a kick and ch 2 might be a snare.

 

Assigning MIDI channels to notes live, on input to Logic, is done by playing a range of up to 16 keys that you'd normally think of as keyswitches, but they're actually just switches for selecting what MIDI channel notes will be encoded with on their way into Logic. Scripts then take care of looking at the MIDi channels and ensuring that patches play the right articulation corresponding to the MIDI channel number.

 

Anyway, I'm totally digressing here... :)

Link to comment
Share on other sites

  • 4 weeks later...
Hi, just wondering if this plugin/script will help me with what I'm aiming to achieve. I've got a set of e-drums and the hi-hat pedal whilst it does the full range of sounds, uses non-GM MIDI notes to represent the different sets of "openness". For example, D0 is an open hi-hat but hit on the rim. Would this enable me to map input from D0 to A#1 with a different articulation ID? I know I can achieve this with something like Superior Drummer, but I really want to use Drumkit Designer as I've got a lot of presets I've invested loads of time into setting up for use with Drummer. Cheers
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...