Vienna Symphonic Library Forum
Forum Statistics

191,957 users have contributed to 42,821 threads and 257,504 posts.

In the past 24 hours, we have 10 new thread(s), 59 new post(s) and 232 new user(s).

  • Keyswitch Solution for VI

    I have the VI now for a couple of month and after struggling with managing all those controls I finally came up with a solution I want to present. I would like to get some feedback how other users dealing with this issue or having suggestions how to improve my approach.


    VI Minor Issue: Preset vs Matrix
    First of all I consider it a design flaw that the Perform setup is only stored with the Preset and not with the Matrix. I use the performance controller extensively and saving a tweaked Matrix doesn't make sense because all the performance assignments are  gone when reloading that custom Matrix.
    That's why I'm only saving Presets even if there is only one Matrix in it.

    VI Major Issue: Keyswitche Placement (Matrix and Patches)
    One major downside with the factory presets is the location of the Keyswitches. If it is a Bass instrument, the Keyswitches are in the upper range, if you are dealing with a Treble instrument then the keyswitches are in the lower key range. Maybe the Matrisx Keys are on the upper range and the Patch switches are in the lower range, etc. If you don't memorize the position then you have to finger around on the keys or look up the assignment on the GUI after you load a Preset. And we all now how cumbersome the Key focus issue of the VI window is.
    After lots of frustration, I came up with the following solution:

    1) One Universal Keyswitch and Controller Assignment Setup
    I created a personal standardized Key assignment. That means after I load a new Preset or Matrix, I change the Key Switch assignment and apply my Controller Assignment and save it as a Custom Preset. The next time I open up that Custom Preset, all my custom assignments are in place. I know that is extra work but I think it pays of in the long run.

    2) Separate Controller Keyboard
    So step one is to use the same assignments for all the Presets I use. This is not a problem for the controller but more for the Keyswitches. To make sure that the keyswitches are not overlapping with musical keys of the actual instruments, I use the two lowest octaves in the MIDI specs C-2 to B-1. Most 88-key keyboards don't have those keys so I got a 2 octave M-Audio KeyRig Keyboard that can be easily placed on top of your master keyboard.

    3) Key Assignment
    C-2 to G#-2 is used for Matrix Switching in the Preset
    A-2 and B-2 is used for A/B switching
    C-1 to B-2 is used for H-Span switching of the Patches
    Whenever I load one of my customized Presets I'm ready to go. I don't have to remember where the keyswitches are. i.e. I can quickly step through the C-1 to B-2 to find the tremolo patch

    4) Controller Assignment
    I use the rotary knobs on the M-Audio keyboard for the Controller Assignment
    CC2 (Breath): Vel X-fade
    CC8 (Balance): Slot X-fade
    CC74 (Brightness): Filter
    CC73 (Attack): Master Attack
    CC72 (Release): Master Release
    CC11 (Expression): Expression
    CC14: Vel X-Fade on/off (This is assigned to a button)

    5) Color Coding for Keyswitches
    Having the Keyswitches always in the same keyrange has another big advantage when it comes to editing in the Matrix (Piano Roll) or Score Editor. You can setup your score layout to ignore all the notes below C0, so they don't "mess up" your score. And in the Matrix Editor, you will always know that those notes "down there" are keyswitches and not actual notes.
    I use Logic Pro and that provides another cool feature that helps with Editing. I use the Environment to route the MIDI messages from the M-Audio keyboard through a couple of transformer objects that do the following thing before they go into the Sequencer.
    "Set Vel=90 if note<A-2": all the Matrix switches notes become yellow
    "Set Vel=127 if not=A-2...B-2: All A/B switches notes become red
    "Set Vel=1 if note>B-2": all Patch switches notes become purple
    This becomes nice visual aid when staring at lot of notes in a Matrix editor, to distinguish musical notes from keyswitch notes. Those keyswitche notes you played on that little M-Audio keyboard will always displayed in the the same color, so you can not only spot them as keyswitches and not confuse them with musical notes but you also see right away based on the color if it is a Matrix, A/B or a Patch switch.


    So that's it. Do you guys have different or similar solutions and are there some issues I have overlooked with my setup?


  • The solution I chose is to use program change to do the keyswitching.
    it is much more user friendly as you can see in the event edit what articulation is used

    I have set an Environment where I have, just for the strings, 33 articulation loaded per instrument.

  •  I always thought PrgCh messages are better suited for traditional keyswitches because they change the Program in some kind of way, don't mess up musical notes in the Editor and don't cause problem in MIDI Chase Mode when you start in the middle of the cue and want to make sure that the most recent keyswitch message is sent.

    But how do you use Program Change to control the H-Span in a VI Matrix? I could use the Transformer Object to to change Specific Note message into PrCh messages. But as far as I know, the VI doesn't respond to PrCh messages.


  • I use the :
    - H-span with speed
    - V-Span with keyswitches
    - A/B select with keyswitches

    In Logic I use transformers to convert program changes into "key-switched notes" so my score is not mess-up

    I have proposed to VSL to make environments for Logic, that will help users, but Paul says that VSL is not interested !!!!

    Best
    Cyril

  • Too bad VSL gave you the cold shoulder. In my opinion, the user interface experience is still the weakest part of the overall VSL experience. At the end it doesn't matter how big or how good he sounds are, if it is too complicated or complex to work with them, then the whole package looses its appeal.

    I have can't figure out how your solution with the program change message in Logic work. I can use the transformer in the Environment to to modify the incoming MIDI messages from the external MIDI keyboard/controller before they hit the sequencer Track. So if you send PrCh and convert them to MIDI notes then the Editor still display MIDI notes and not PrCh messages. Can you explain in more details how your setup works or maybe post your Environment file.

    Thanks


  • nice work, and thanks for sharing your ideas......

  • the best is to chat and show you We can arrange an AIM / Ichat session : ICHAT/AIM : cyrillindablanc I am online most of the mornings, CET+ 2 Time (Paris)

  • Hello Edgar,

    I am struggling with a controller/keyswitch-setup that meets my need for flow, and what you wrote

    "I change the Key Switch assignment and apply my Controller Assignment and save it as a Custom Preset.  

    gave me important information and inspiration. Thank you.

    I am missing clarity in one point:

    Would you be willing to post how you setup Logic's score-window(s), that the keyswitch-notes don't show up?

    Sebastian


  • last edited
    last edited

    @Sebastian said:

    I am missing clarity in one point:

    Would you be willing to post how you setup Logic's score-window(s), that the keyswitch-notes don't show up?

     

    It is very simple.
    In the score editor, go to "Local Menu> Layout>Staff Styles". This will open a window where you can edit the appearance of all the individual staffs. Select the staff style in the left upper popup menu. Right underneath you can see the line "Higher Note" and "Lower Note" which will limit the displayed note range for that staff style. Just click drag on the note next to it to set the limit.
    In my case, I set the Lower Note limit to C#0 so all the Keyswitch notes that I'm using in the range of C-2 to C0 won't show up in the score editor.

    By the way this is another advantage of of my universal  keyswtich range that I forgot to mention. You have to make that setting for the staff styles only once because you always use the same keyswitch range in your Matrix. Right now with the original keyswitch range  being different on different VI Matrices, you have to constantly change the staff style settings to eliminate those "extreme" notes that mess up your score appearance.


    If I would have betatest the VI for VSL, this "keyswitch all over the place" issue would be the first complaint I would have sent back. I know that there are a lot of factors that force a developer to make compromises (multiple computer/DAW platforms etc), but at some point too many compromises add up to an unsatisfying user experience at the end. That is where I am right now with the VI plug-in.

    Here is a link to the LogicProHelp Forum where I discuss that issue and made some suggestions on how to solve it on the DAW level. The original Performance Tool for the VSL sound library was a nightmare (some of you might still remember) and the VI plug-in is a major improvement but there are still too many steps that forces the user to deal with the messy controls situation and less time on actually making music.

    http://logicprohelp.com/viewtopic.php?t=30890&sid=ca65f2ee50f4c1b1ef7cfd2a3a4411c8


  • last edited
    last edited

     

    @Edgar Rothermich said:

    2) Separate Controller Keyboard
    So step one is to use the same assignments for all the Presets I use. This is not a problem for the controller but more for the Keyswitches. To make sure that the keyswitches are not overlapping with musical keys of the actual instruments, I use the two lowest octaves in the MIDI specs C-2 to B-1. Most 88-key keyboards don't have those keys so I got a 2 octave M-Audio KeyRig Keyboard that can be easily placed on top of your master keyboard.

    Thanks for this, I'm very keen to hear about other people's working methods and this is one I'm graduating towards, though don't need the separate keyboard as most of my work is sequenced rather than played from a keyboard.

    I originally preferred cc data for switching patches horizontally within a matrix, but the problem is that as you add a new patch and the matrix expands, the range of cc for each cell changes which can mess up any switches you put in previously. I got round this by always having 12 horizontal cells, evn though some were empty. This works OK, but I now find it more elegant to use keyswitches, as each time you add a cell it does not affect the KS assignments you already have.

    However I hate (I really hate) key switches in Locic score even when you can hide them, and/orand CC events in the event list as you just see numbers that don't tell you what they do in Vienna. I now like to either use program change events, text events or Score symbols (trills etc) (All transformed to note keyswitches C-2 to C-1 in VI) . This is great because the program change events can be named to go with the articulation so it is very clear in the event list what the switches are. Text events are a little more complex as you need to change the 2nd data byte which affects the positioning, but nothing you can't realign. And it's very cool to have a trill symbol switching to a trill articulation.

    I'm happy to share the transformers I've developed to do this if anyone is interested (along with the custom Vienna performace environments I've already uploaded here)


  • These are times when a nice DVD tutorial would be nice for the rest of us. But i keep hoping.

  • Dear Pete I for one would be interested in the transformers Many Thanks Dave Hage

  • last edited
    last edited

    @dfhage said:

    Dear Pete I for one would be interested in the transformers Many Thanks Dave Hage
     

    I've started a new thread here.

    The macros are uploaded and (sort of ) betas, so please try them and let me know hoe they work for you