Vienna Symphonic Library Forum
Forum Statistics

204,012 users have contributed to 43,353 threads and 259,664 posts.

In the past 24 hours, we have 6 new thread(s), 7 new post(s) and 55 new user(s).

  • When would you use different midi channels with the VI?

    I was just wondering why one would use different mid channels with the Vienna Instruments. In other words, seeing as we need to open a new instance for each instrument, can anyone suggest a particular situation where you would want to use
    separate midi channels with one instrument, etc.?

    Thanks,

    Tom

  • Using a PC without a sequencer or VST host it's possible (or at least used to be possible, back in the days of Windows '9[H] to run multiple standalone instruments set to different MIDI channels. As the VI operates in MIDI 'omni mode' it's impossible to do this. Although it was never designed to be multi-timbral, it would add flexibility if the VI had a 'set MIDI channel' function. I've never come across a virtual instrument or sampler before which lacked this facility.

  • P.S. that [H] had nothing to do with me, I was trying to type "Windows 98"!

  • hello - hope you don't mind if I reiterate the same, or similar question..

    I've been wondering if it's possible to set up a kind of multi-preset mode to access different instruments via the controller.

    It would be cool to be able to toggle between harp and celeste, for example. A score that calls for one often also calls for the other... and since I'll be using the harp live, I just had to ask.

    I'm getting spoiled here, no doubt about it....

    BTW, the Level 2 Harp Preset is rocking my world. Unbelievable flexibility and intuitive control. I don't think I'll be able to let it go.

  • Hey Tom,

    the way our setup is done, we're using midi channels to switch between articulations. We have one instance for one instrument (say, flute 1), with the following articulations:

    Vibrato / Non Vibrato
    Sforzando
    Flutter (Tremolo for Strings)
    HS Trills
    WS Trills
    Staccato
    Slow Legato
    Fast Legato

    Each of them is "linked" to a channel in Logic. The cool thing is that your flute 1, whatever the articulation, will always be on the same one track. The second cool thing is that once you record a note, it is always set to a channel, so you don't have to remember to "record' your keyswitch before playing. And finally, it is very easy to change an articulation once something is recorded - you just change the note's channel.

    Jerome

  • Jerome, I've been saying this for years... okay, just two years. I have the exact same set-up, with dummy instruments assigned to each respective track, cabled to several audio instances with different articulations on their own Environment layer.

    Keyswitching is unparalleled for live playing, but I cannot abide 1. those gutter notes that show up in the score (and I know how to suppress them, but it's klunky), 2. the playbacks with the wrong arts while composing and tweaking, and 3. the inscrutability of which KS plays which art as you're tweaking in Matrix.

    I'm sure Logic 8, or even 7.3 if there is one, will eventually catch Logic up to the way multi-art patches function. Until then, I'll hold to the pure and efficient simplicity of just changing the channel and getting a different sound. Or looking at a score and seeing all instruments where they should be, one staff per instrument.

    And that's why I too hope for channel assignability in an upcoming VI version.

    Question for you. How do you replicate controller information across all channels? I built a duplicator that re-generates every channel assigned to the dummy so I don't have to constantly change MIDI controllers. I was worried about MIDI choke, but it's never happened.

  • Jerome:

    Thanks for your reply. Yes, your method makes a lot of sense. It seems much easier than
    inserting keyswtches in one channel.So, let's say your flute is switching from a legato
    articulation to staccato. Woulkd you just put the legato patch on Midi Channel 1, and the staccato on Channel 2? Would you then go back to midi channel 1 if you need to use the same legato articulation?

    Thanks,

    Tom

  • last edited
    last edited

    @Another User said:

    So, let's say your flute is switching from a legato articulation to staccato. Woulkd you just put the legato patch on Midi Channel 1, and the staccato on Channel 2? Would you then go back to midi channel 1 if you need to use the same legato articulation?


    That's correct. I have a "channel" selector in Logic which tells me which articulation is loaded on which channel for the instrument I am currently playing on . So, I just select the articulation and start recording.

    In your example, I would select "1: Legato" (if it wasn't already selected), record the melodic line, then select "2: Staccato", record the line, then select "1: Legato" and record the line again.

    But most probably, I would record everything in Legato, and then go back to the sequence, Apple-Select all the notes that I want to change to Staccato (either in Score page or in the Matrix editor), then I just change the channel to Channel #2 in the Events List.

    Jerome

  • Imagine that you have your Vib sustain on channel one and the tremolo on channel three. You enter some Vib sustained chords live with mod wheel for expression, and then you Apple select a section of notes that will be tremolo and change them to channel three.

    You want to keep your modwheel controller information for the tremolo passage. But all your CC1 info is channel one. How does your tremolo on channel three see it?

    When I decded on the arts per channel method, I realized that when I changed the note channels for other articulations, I'd have to hunt up all that controller info scattered about the track and change their channels too. Possible? Perhaps. Tedious? Absolutely, because there's usually a lot more controller events in a track than notes.

    And if I moused in Hyperdraw information, I'd have to keep changing the Hyperdraw channel and coordinate it with the notes. Again possible but tedious. Eventually I thought I'd just go back to keyswitching.

    So I set my default hyperdraw entry to channel one, and then I created an Environment transform macro that re-duplicates all controller information CC 1 to 64 to the seven other audio instrument channels feeding off the track.

    In other words, a mod crescendo on channel one is recreated seven more times. Now all my audio instruments will receive it. Ironically, only one at any given time will need it. So it sounds wasteful, but it works perfectly.

    I'm curious how other people solved this problem. For a while, I looked for a more elegant solution, but I couldn't find one. And MIDI choke has never been a problem.

    By the way, this method of arts per channel does have one drawback, if I'm reading my gauges right. I think you can only freeze the instrument assigned to the track. And if a dummy object is assigned, Logic goes through the freezing motions, but I don't think anything is recorded. I see no improvement in the CPU monitor even though the track says it's frozen.

    To successfully freeze, I have to find the actual audio instrument that's receiving the MIDI channel and assign that to the track directly. Only then do I see a reduction in CPU load. Have you noticed that too?

  • Plowman,

    in our case, one track = one instance of VI. Since the main controllers (Velocity XF, Cell XF, Attack, Release, Expression, Volume, etc) are all instance-based, if I have a midi message on channel 1, it's also going to affect all the other articulations of this specific track.

    I'm not sure our two setups are exactly the same in that regard?

    Jerome

  • Now I'm confused, but eager to understand.

    Early in the thread you said "we're using midi channels to switch between articulations."

    But you've also said one track = one instance of VI.

    And one VI instance cannot (currently) choose its articulations by channel.

    You've also said that all your articulations are showing up as one staff in the score. Again, that means only one track.

    So you're selecting articulations by MIDI channel in one VI instance that can't read channels. How?

    Did you build a transformer in Environment to create a keyswitch note based on the channel? Yes, that could be done. You could tell a transformer, "Every time you see anything with a channel two, generate a C#1." The VI instance would see the generated C#1 and keyswitch to the articulation. Of course, the transformer would keep spitting out C#1's, but that's okay.

    Is that how you do it?

  • Almost [:)] We don't generate keyswitches, but midi messages.

    Each channel is set to send a specific value on CC104 to the VI instance. Each value switches cells accordingly. We can have up to 16 articulation per instance.

    Jerome

  • Great stuff. Now, why VI would see a CC 104 + value byte as the reason to switch articulations, I cannot say. You can, but I won't pry. I'll badger, but I won't pry. Again, if you were converting 104's into a keyswitch via a Transform object, I'd get it. But you say you're not doing that.

    Indeed, my questions are moot points with your new-fangled set-up -- you kids, you, with your long hair and rock and roll. When I was a kid, we had to fit the whole orchestra into two meg. And we LIKED it.

    Well, it would seem VI users want not only MIDI channels for the dispersing of stand-alone instances, but multi-timbral VI's within every instance as well. There is no end to our power-seeking.

  • last edited
    last edited

    @Plowman said:

    ...Indeed, my questions are moot points with your new-fangled set-up -- you kids, you, with your long hair and rock and roll. When I was a kid, we had to fit the whole orchestra into two meg. And we LIKED it.


    [:D] [:D] [:D] [:D] [:D]

    That's a beaut', Plow!

    I use DP and can't quite transform objects the same way Jerome does in Logic, but I can set up a Controller Panel to do more or less the same thing. My only problem is that I get so involved (in my old age) with creativity that by the time I can get VI and Syncrosoft loaded all I want to do is score.

    Maybe over the holidays I'll rethink all of this and pick at Logic for a Jerome-esque setup.

  • Plowman, to answer your question... in VI, you select Controller 104 as a V-Span *AND* as an H-Span switch. Indeed, since there are only 12 colums, and we're using 16 channels, we have to use horizontal switching as well.

    So, you can load the 16 articulations on the following cells:
    1/ Row #1, Column #1
    2/ Row #1, Column #2
    3/ Row #1, Column #3
    4/ Row #1, Column #4
    5/ Row #1, Column #5
    6/ Row #1, Column #6
    7/ Row #1, Column #7
    8/ Row #1, Column #8
    9/ Row #1, Column #9
    10/ Row #1, Column #10
    11/ Row #1, Column #11
    12/ Row #2, Column #12
    13/ Row #3, Column #12
    14/ Row #4, Column #12
    15/ Row #5, Column #12
    16/ Row #6, Column #12

    Here you go - 16 articulations per instance.

    Does it make sense?

    JWL, you could use Plogue Bidule's transformers once the midi signal goes out DP.

    Jerome

  • Hi Jerome, that sounds like a very good system. Just one thing that's not totally clear:

    "Each channel is set to send a specific value on CC104 to the VI instance."

    How is the CC104 value 'sent' - does it happen automatically when you change the track's MIDI channel setting on the arrange page, or by some other means? Either way, it sounds as though this is something you might have to set up in the Environment.

  • Wow - can't believe I missed this important thread. Anyone doing this on C4 (cubase) on the main DAW and Vstack on four PC's (Christian - maybe [[;)]] ).

    If so, would you shed some light on how I can set up my template in this way.

    Now I have seperate midi tracks in my C4 arrangment window, but as pointed out - KS and combining tracks for score printing is a MAJOR hassle and time consumer.

    I am also looking to optimize my workflow as we all are to meet this demanding schedules [[:|]]

    Great thread - any C4 users out there to give some pointers on set-up.



    All the best,


    Rob

  • "My only problem is that I get so involved (in my old age) with creativity that by the time I can get VI and Syncrosoft loaded all I want to do is score."

    Absolutely. I'll go through seasons of template building and Environment design with an attitude that says, "This is it. I'll build the perfect orchestra this time, once and for all." There's a burst of energy rebuilding signal paths and assigning patches, etc., but quickly the sirens of composition call, and suddenly my orchestra is "good enough for now."

    Thanks for the insight, Jerome. Two thoughts occur. Using speed controls would be more problematic here, I'm assuming, as your cell selection, both X and Y, is assigned to controllers. All other cell selections can be handled in Logic, but to my knowledge "speed" as a switcher is unique to VI, and it is a very fine real-time controller. I'd hate to lose it. Of course, you can always just create a new Audio Instrument and dedicate to a speed-driven VI instance.

    Also, is there are reason why you don't create a transformer to create keyswitches for matrices? This would allow you cell freedom within each patch, and still give you channel switchability.

    I can think of two detriments to that idea. One, you'd be limited to twelve channels (twelve matrices). Secondly, you'd have to supress the keyswitches from showing up in the score.

    It seems it would give you more latitude, though, within each patch.

    I don't know what VSL is planning for MIDI channeling in VI, but I suspect it's more likely to come as a means to choose matrices, not cells within the patch.

  • last edited
    last edited

    @Jerome said:

    Each channel is set to send a specific value on CC104 to the VI instance. Each value switches cells accordingly.


    Hi Jerome,

    I saw your post and realized that this is a great idea and so I've tried to set this up with my system but I'm not sure how to transmit MIDI note channel data across CC104. (I'm using Sonar 5)

    BTW, I've tried the same thing with GVI and it works great. I just change a note to channel 2 and GVI plays with the 2nd channel, so I think I've got the sequencer side working.

    Just not sure how to get the channel data to transmit over CC104.

    Thanks for any thoughts,
    Steven

  • Does anyone have an idea how to drive VI cell selection via channel data? This would be very helpful with my workflow if it works.

    Thanks,
    Steven