Hi,
I'm still very unsure on how to deal with selecting patches on a sequencer. I'm trying to have a generalized, interchangeable, single-command way of doing it.
VSL has generalized the preset/matrix structure. VI PRO presets are organized in the same way for all the instrument of the library (as far as I could see):
a) Different categories of articulations are in different matrices of a preset. Each matrix can be selected either with a PC message or a keyswitch.
b) Articulations in a matrix are set in row and columns. Columns contain the main categories (staccato, sustain, legato, dynamics…), rows contain variations to the basic articulation (staccato, portato short and long in a column; sustain with vibrato, without vibrato, espressivo in another column…). Columns are chosen via keyswitch notes, rows via CC01 modulation.
c) Other variations, or combination of articulations, are in the slots inside a cell, that can be chosen via keyswitch notes or a CC.
That's nice for live performance. Keyswitches allows one to quickly select between staccato, sustain, or legato. The mod-wheel allows for selecting nuances.
However, this would not be really comfortable when programming on a sequencer. You have two lines of controls to program (keyswitches and CCs). A single set of commands would be better in this situation.
The guys at Spitfire have conceived the UACC system – different values of the CC32 control corresponding to different articulations. It is not possible to use this system with VSL, since when assigning CC32 to select cells in a row, one will end with only 12 values/patches: you have to divide the full range (0-127) of CC32 values by 12 (the maximum number of cells in a row), with only 12 usable values. Selecting rows will still required an additional control for different rows/nuances.
I've been using, in the months since I've started using VSL, Logic and a script sending either keyswitches or control changes to select articulations to my instruments. Up until now, I've done what follows:
a) Create a general map of articulations, that will be used as a template for all libraries. This will allow for easily copying the same selection commands between different libraries (for example, to double a VSL flute with an Xsample flute or clarinet).
b) Build maps from the general template, with appropriate selection commands for the different libraries. For example, high-pitched VSL strings will receive two keyswitches (X-Axis, Y-Axis), while the Xsample violin will receive a single CC32 command for the same articulation.
c) Make the smaller number of templates as possibile, to make programming and interchange easy. For example, after having collected violin, viola and cello under a single "Solo Strings (Vn-Vc)" map, I'm trying to be even more general (single high-pitched and low-pitched maps, common to both strings and woodwinds).
But I would also avoid using keyswitches, that will force a different map for high-pitched and low-pitched instrument, to avoid overlapping. I would like to use CC32 also for VSL.
What would you do? Use the double system for selecting the X-Axis (CC32) and the Y-Axis (CC01)? Or continue using keyswitches, with some more maps? I'm tempted to continue with keyswitches and a single command per articulation.
It would be great if VIPRO could match each cell with a separate CC value. This would allow for UACC-like remote selection, allowing for a more extended generalization.
Paolo