Vienna Symphonic Library Forum
Forum Statistics

195,295 users have contributed to 42,976 threads and 258,204 posts.

In the past 24 hours, we have 1 new thread(s), 11 new post(s) and 62 new user(s).

  • Selecting articulations from a sequencer

    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


  • https://forum.vsl.co.at/topic/34057/Idea How VI Software Might Make The Powerful VSL Available Inside The Limited Dimensionandq/213082

  • Steffen, thank you very much for your answer. I had missed your old message, more or less containing my same kind of questions.

    To try to make a manageable universal map, I tried to do this:

    a) create a meta-table of articulations, to later fill with actual instances from each library;
    b) split it between basic articulations, and more advanced, free-floating ones.

    For example, I will post in the following message my universal map. This is the articulation map, that will then be extended with the actual commands selecting the corresponding patches. I will have a template for high-pitched VSL instruments, one for low-pitched VSL instruments, one for each of the Xsample Extended instruments, one for NI Symphony Essential Brass Horns, one for any other library or instrument I will use.

    Two templates are needed for high-pitched and low-pitched VSL instruments, because the default keyswitches may overlap the lowest notes of very low instruments, like contrabass tuba or clarinet, or the contrabass.

    I'm trying to make my map as short as possibile. As you notice in your other message, a complete map could be too long. A shorter one could work, if you leave some articulations "open", to be only used when you need it. This way, you get a fixed set of basic articulations, and some slots open for extended techniques.

    Paolo


  • My universal map:

    // Basic articulations

     

    staccato

    détaché/portato short

    détaché/portato medium

    spiccato, détaché/portato long non vib

     

    sustain vib

    sustain non vib

    [sustain espressivo]

    sustain progr vib

     

    legato

    legato fast/perf trill

    glissando, legato on the same string

    portamento

     

    marcato

    fp vib

    sfz vib

    sffz vib

     

    rep legato sl

    rep détaché/portato me

    rep spiccato/staccatissimo

    rep harsh

     

    rep slow

    rep slow-medium

    rep medium-fast

    rep fast

     

    tremolo/frull

    tremolo/frull marc

    trill min

    trill maj

     

     

    // Extended articulations

     

    stacc secco/slap tongue (pizzicato)

    stacc fx/tongue ram

    col legno/keyclicks

    snap pizz/jet whistle/blast

     

    harm sus

    harm stacc

    harm legato/rep

    harm frull

     

    pont sus/alt sound/bamboo sus

    pont stacc/alt sound/bamboo stacc

    pont rep/alt sound/bamboo legato/rep

    pont trem/alt sound/bamboo trem

     

    sord sus

    sord stacc

    sord legato/rep

    sord frull

     

     

    // Additional articulations and xfades

     

    art1

    art2

    art3

    art4

     

    xfade1

    xfade2

    xfade3

    xfade4

     

     

    // Additional articulation and xfade examples

     

    ricochet

    legato (speed)

    marcato (speed)

    staccato/spiccato (speed)

    legato-sul C/G/D/A/E

    legato-zigane

    legato-vib-progr

    gliss octave me

    gliss octave fa

     

    sustain <-> tremolo

    staccato <-> tremolo

    sustain <-> legato

    sustain ordinario <-> harmonics

     

    sustain ordinario <-> pont


  • If one repositions the A/B keyswitches and makes use of matrix switching using program changes it's quite possible to design a universal articulation mapping that can access the complete articulation set across all vsl instruments using only the lowest 12 + 8 MIDI notes + A/B switches with no overlap of low pitces on instruments with low ranges. I started designing mine from Beat Kaufmann's suggestion to create matrices based on shorts, sustains, etc. And ended up with six matrices: shorts, sustains, performances, dynamics, repetitions, and special effects.

  • Kenneth,

    Thank you very much for you hints! I see you are devoting a separate matrix for each category of articulation (short, long
). This indeed makes more free space for instrument's range, by only requiring the lowest octave (under the contrabass range) for keyswitching inside the matrix.

    I'm not sure I would like, for my own way of working, to rely on more matrices for the ordinary articulations. Multiple rows seem to me easier to manage. All considered, with my method (rougly based on the Basic VSL matrix) one only needs four or five notes for the Y-Axis keyswitches. Maybe I could move them to the highest notes of the keyboard.

    I use multiple matrices for prerecorded dynamics, ornaments and runs. In a sequencer, I devote a track to the basic articulations (the score as performed while composing). Then, a track is devoted to prerecorded dynamics, ornaments and runs, all in a separate matrix. I feel this makes things be separated enough to be clean for me.

    Paolo


  • last edited
    last edited

    Hi Paola Hi Keneth,

    Here is my VSLUnversal-map: (Attachment 1) concentrated on 15 Articulationtypes which one would find in notated music.  This expressionmap only choses a certain matrix of a certain VI instrument patch of a cerrtain Instrumenttyp.

    As you can see in the 2. Attachment in the Preset each Articulationtyp has its own matrix

    I control the two dimensions of the matrix alway in the same two different meanings via Midi-CC:

    MidiCC 4 (Ensemblesize)

    let me chose a certain VSL-librarytyp of that instrument ranging from solo instruments (CC4 Value 0 up to for instance the largest available ensemble  like Appasssionata strings. between you will find beneath Chmaberstrings and Orchestral strings also different Dimensionstrings ensembles with more or less players

    MidiCC3 (Articulationvariant)

    with CC3 I control which version of a certain articulation type of a certain ensemble size should be triggerd

    CC20 SlotXFade (Muted variants)

    As you further can see wherever I found any muted kind of articulation I put it in the Slot-Xfade of the corresppending unmuted articulation. what will allow me to generelly decide for a certain passage to be played muted, without the necessity to pragram the each Articulation in a completly new different way. That means Muted legatos staccatos, sustains and so on are programmed in the the same way like unmuted, with the addition of CC20 = 127

    This System works for nealry 90 % of all available tuned VSL orchestral instruments. It integrates all kind of libraries availabe and is flexible enough to handle the very different amount of available Articulationvariants in all those different libraries.

    However I am currently not very far with any concept to generalize the Articulation selection independent fom different Producers of Samplelibraries. Currently I still have always one VSL-Track and one for all Kontakt libries with Kointaktmultis where I stack more or less all (resaonable/useable) Kontakt-Libraries of a certain Instrumenttyp let me switch with the midichannel whch note should trigger which library trying to keep the articulationselection be as much as possible don with CC32 for Spitfire for instance. On a 64GB-Ram PC I am able to load nearly the complete spitfire Orchestra (with 3 mic-positions) and a few other things from embertone or XSample.

    But I fear things must be organized completly new when the Synchronstage-orchestra is there, whcih definitly would need much more complexity and resources available to controle its power. Thats why I plan to upgrade my hardware (wellcome back Networking with VE 😉)


  • Hi Paolo. Yes, we're here touching on one of the core issues in the use of a library as extensive as the ones VSL provides. To achieve a quality of realism that might transcend that of a "mockup" and be capable of standing on its own merits as performed music a herculean amount of effort must be expended in sculpting that performance by applying as much musically coherent variation as possible. There is no "out of the box" solution to this problem that will sound anything but a cliche, with the exception, perhaps, of the first time it's applied. My own approach to solving this problem is to leverage the power of an intelligent machine that has musical knowledge encoded in it, and can accept instructions from me as to how it will apply that knowledge in the form of a playing style. I want to be able to seamlessly, and at a whim, access the whole range of possibilities a VSL library offers in order to explore as many ways of rendering a performance of a particular composition as possible--zeroing in on the best solution to the creative challenge at hand. Music, to paraphrase Leonard Bernstein, is an infinite design space. We need tools, even better, assistants as design space explorers to be able to map out the veins of rich potential, to quickly separate cliche from meaningful novelty in our work. You might recall who painted the ceiling of the Sistine chapel... it wasn't Michelangelo. Regards, Kenneth.

  • Thanks for sharing your approach fahl5. It's an interesting approach. I like the fact that you're working with a concept of ensemble size.

  • Steffen,

    Your method is very comprehensive, and a comfortable way of having all articulations always available. At this point, I should ask myself:

    - how many articulations I would really need in a piece?
    - do I need all the articulation, or can pick only the ones I relly need for that piece?

    I'm tempted by the second option, but I understand that with VSL you always want more articulations, rather than less.

    Kenneth: Wasn't Michelangelo the painter of the Sistine Chapel's ceiling? Am I next to discover something?

    Paolo


  • Hi Paolo,

    The generalisation makes things easier to handle. Provided you do have a reasonable amount of RAM and yor VSL-Libraries on SSD's it is currently no problem to keep nearly the complete (silentstage) Superpackage (beside the Spitfire Orchestra and some other Libraries loaded simultaneously.

    My VSL presets are simply full beecause I can use them in absolutly the same way for everything I ever want to, let it be chambermusic, baroque, oder 20th Century music when a piece needs a Violin track I just load "the Violin" Presets (and "the Violin" Kontakt-multi) leaving all musical decision open and changeable for the detail of programming.

    This keeps me of from creating for each project completly new presets, Expresseion-Maps, etc. which is very tedious and time consuming the more powerful your available libraries are and the more detailed you intend to use them.

    To keep those things easy helps me too concentrate on the musical decisions to be made when realising a certain composition.

    With the upcomming synchronstage libraries things presumably will need some hardware upgrade and I also fear it will be not so easy to integrate them in my current presets, so may be I'll be forced to work with another seperate Synchronstage-Library-Track beside the VSL-Silenstage and the Kontakt-Libraries-Tracks.

    However all we ever can do to keep things easy and universal reusable is definitly needed more and more the more the available Libraries makes things more complex and powerful. I still hope onetime the VSL-developper will understand how much their incredible good sample content will make profit from smarter more generalized and musical organisation for the users. Until then it seem to be still our job to make the best of it.


  • Hi Paolo, Michelangelo had a collaborator and assistants... http://www.ilariamarsilirometours.com/blog/michelangelos-assistants-in-the-sistine-ceiling

  • I'll answer to myself about the need for separate low-pitched and high-pitched instrument maps, to avoid overlapping the the instrument's playable range:

    [QUOTE]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.[/QUOTE]

    I could see how Spitfire Audio places their keyswitches in the two lowest MIDI octaves. Yes, you can't see them in the VI keyboard diagram, nor could you select them on the keyboard. But since we are dealing with sequence automation, this would not be important. In case you need to test the available sounds, single articulations will still be easy to select with the mouse in the VI window.

    When a matrix is first added to the VI, X-Axis keyswitches are automatically placed starting from the lowest C on an 88-key keyboard. Repositioning them is very easy, by dragging the first note name in the X-Axis diagram. The same will happen with the Y-Axis keyswitches. An operation lasting less than ten seconds for each instruments. 

    Paolo


  • That is simply why I tried to avoid keyswitches as far as ever possible  to keep the same articulation for all instruments triggered in the same way. And the Cubase Expression maps are reeally great for that.

    If you keep that consequently you can easily copy passages from one track to another with all articulation and CC-programming which should than just act with different instrumenttypes in a correspondent way.

    This is something which seems to me musically very reasonable, especially for orchestral scores where there often groups of instruments with parallel phrasing which can make a lot tedious work if the same phrasing must be done again  and again always with more or less diifferent combinations  of keyswitches.

    This is one pretty good of many good reasons, why the selection of articulation need to be very much streamlined towards an universal handling for (nearly) all (tuned) instruments.


  • One of the weakest points of Logic (the DAW I use) is the lack of "expression maps" for anything other than its included sampler. Therefore, one has to rely on third-party scripts to avoid the hassle of using keyswitches embedded in the score.

    As of now, I suspect the best way of using VSL is via keyswitches, combined into single commands from the script. Different scripts could do something different, maybe mixing notes, program changes and control changes, but at the moment I'm not aware of something like that.

    A universal system of articulation selection would really be a bless. At the moment, we have to create our own personal systems, and probably stick with them nearly forever.

    Paolo


  • have you checked out skiswitcher 3?


    Dorico, Notion, Sibelius, StudioOne, Cubase, Staffpad VE Pro, Synchon, VI, Kontakt Win11 x64, 64GB RAM, Focusrite Scarlett 18i20, August Forster 190
  • Hi Bill, I've considered it, but in the end I purchased Art Conductor, that I customized to my own needs.

    Paolo


  • Yes Cubase Expressionmaps are very helpful meanwhile there is still enough to improve for instance to really allow kind of "universal" articlationmapping (independet from very different libraries and their producers).

    However since they always tend to come more or less in conflict with the possible midievents I tend to avoid keyswitches in the keyeditor as much as possible (another benefit of the cubase expressionmaps, is that they keep the keyeditor free from additional midievents).

    In VI at least you can nearly all you are used to do with keyswitches also with CC data. That is at least how I trigger in my presets the decision between ensemble sizes (Y-axis = i put on CC4) and Articulationtype-variant (X-axis I put on CC 3).

    The Spitfire System is likewise controlable without any keyswicht via CC 32.

    Meanwhile I dont know Logic at all I expect this would be also possible in Logic.

    And yes it would be really great if anyone (for instance Steinberg) conceives a real universal standard for articulation selection via midi working with all kind of libraries from all kind of sampleproducers. The scripts available for Logic seem to be at least interesting. I wonder if anything like this would make sense in Cubase.