Vienna Symphonic Library Forum
Forum Statistics

181,939 users have contributed to 42,195 threads and 254,636 posts.

In the past 24 hours, we have 5 new thread(s), 13 new post(s) and 51 new user(s).

  • Driving a VEPRO instance with a single MIDI channel

    Hi,

    I'm trying to use the same VEPRO instance for separate instruments (for example, Dimension Vioins) on separate MIDI channels, AND for an ensemble on a single MIDI channel.

    So, my "Dimension Violins" instance features 16 individual violins, each one on its own MIDI channel numbered from 1 to 16. This will let me control them on separate channels.

    Then, I would like to play all the Dimension Violins as a Vni I ensemble, driving them from a single MIDI channel. I don't like to use a separate VEPRO instance with all the violins on MIDI channel 1, because this would also create new icons in MIR PRO, increasing the CPU request and making a mess in the MIR UI.

    Is there a way to control a VEPRO instance from a single MIDI channel? My ideal would be a CC used as a mode switch, where you control that instance using the individual channels, or can switch to controlling all its channels over a single MIDI channel.

    Is this possible? If not, maybe it will appear in a forthcoming VEPRO release?

    Paolo


  • I've sort of an idea, with Logic: use a channel splitter object in the Environment, to distribute the output of the Vni I track to all the tracks corresponding to the individual Dimension Violins.

    No idea of how to do in Dorico (or other apps).

    Paolo


  • I mean, if you wanted to control them all with one midi track, set them all to the same midi channel. To have them individualized and grouped, the best way to do this is in your DAW. 

    For example, I do this in Digital Performer. I would set it up something like this:

    Horn I - 0 ms MIDI Delay (on MIDI track)

    Horn II - 10 ms MIDI Delay (on MIDI track)

    Horn III - 7 ms MIDI Delay (on MIDI track)

    Horn IV - 13 ms MIDI Delay (on MIDI track)

    Then a Device Group linked to the midi tracks of Horns I-IV and a MIDI track with the output of that device group. 

    Horns I-IV - Controlling the four midi tracks which includes the delays that are on the tracks. 

    If you use Pro Tools, or Logic, etc it should be able to do something like this. Hope this helps and do some googling about the equivalent of MIDI Device Groups from DP in other programs. 

     

    I should add: This program looks like what you may be looking for: https://divisimate.com/


  • While I'm not sure to understand the reason of setting different delays on each instruments, I would have been thinking that creating an "aggegate" instrument in my DAW of choice (Logic) could be a viable idea. In the case of Logic, I was thinking to a summing stack, with subtracks corresponding to each individiaul violin and the MIDI data in the main track of the stack.

    Unfortunately, this doesn't work, since when instantiating a multi-output VEPRO, Logic asks for Aux channels to more than the first channel in the VEPRO instance. But the notes in the general (Sum) track in the stack continue to only go to the Insturment subtrack (corrresponding to the first channel in the VEPRO instance), and not to the Aux subtracks (the other channels in the instance).

    Adding another Instrument with another VEPRO instance sends notes to both instruments, but I don't want a VEPRO instance per track.

    In case I could find a solution for Logic, however, this wouldn't solve the same problem with Dorico. So, a solution on the server side would be much more universal.

    Paolo


  • You can use port2, channel1 to host the ensemble version of Vlns on a single midi channel.  BUt then you have to use the AU3 plugin in logicPro, which is fine to me, I am not having any big problems with it.

    Maybe I don't understand the question?


  • What I'm trying to do is to avoid having too many duplicates of the Dimension instruments in MIR. By creating separate versions of individual, desk, groups, section instruments, I end up with a lot of overlapping icons. The first violin, for example, will exist as an individual Vni I.1, and as part of Vni I first desk, Vni I divisi A, Vni I all.

    Being able to use the same instrument in the various roles would make the MIR interface cleaner, and I suspect consume less resources by having only a single occurrence of the same instrument.

    Paolo


  • I understand.

    You could use multiple VePro instances.  One instance could be dedicated for the whole ensemble, another instance for all individual players, maybe another instance for half division, another for 1/3 divisions, etc..

    The upside is that each instance would not have overlapping icons on the mirstage since each VePro instance has its own MirPro stage.

    the downside is that back over in your DAW, you have to use a seperate VePro plugin for each of those instances, so it would be difficult to setup your DAW so that a single track goes to both instances through two plugins.  Not impossible, but more difficult perhaps.

    Another possible solution is to not use DimensionString ensembles at all, just always work with 16 individual players, in one VePro instance and do all the divisi grouping through your DAW using Scripter scripts or whatever.  But IMHO you lose whatever intelligence VSL has built into the dimension ensemble presets that way.


  • I'm actually using separate instances for individual instruments and ensembles. For example, I have an instance with 16 violins each one assigned to a diffeeent MIDI channel, and an instance with the 16 violins all assigned to the same MIDI channel. Another instance has two-violins desks, with each two instruments assigned to a single MIDI channel.

    I don't use the MIR associated to each VEPRO instance, but use the plugin instead. I've been debated for long, whether to use MIR in each instance (cleaner set of icons) or the general plugin (overview of the full stage; ease of replacing a room with a different one). At the moment I prefer the general plugin, separate from the instances.

    So, all icons go in the same, messy MIR diagram.

    Using always separate tracks in the DAW and notation program can be done. In Logic the trick could be using aliases, so that one continues to work in the same section track, and changes are automatically mirrored to all the other tracks/instruments. With bigger and complex scores this becomes, however, a bit trickier.

    I've tried with the script you generously created for Logic, but I've still to solve some overload in the MIDI traffick. I've frankly always had some issues with Scripter. That would otherwise be a very effective solution.

    Paolo


  • Another consideration about my idea of a mode switch: this is something that has long been in hardware synthesizers, and is still in the MIDI Implementarion Chart and in the list of CC messages: the MIDI mode switch. OMNI on or OMNI off would be the modes I'm suggesting.

    Paolo


  • I can't think of any way around having the duplicated icons for the different division groupings.  That just is what it is..if you want to use those ensemble presets, then you have duplicate icons on the stage, and if its all on one stage, then there they are.  I really can't think of any way you can avoid that, aside from choosing to hide some of them once you get it setup.  

    It just kind of is what it is...  If you never use the ensemble presets, you can just always use the individual players, which means you would need some way to divisi or unison the midi channels intelligently before sending to VePro.  You can make a scripter script for that, or I am lately experimenting with using Kontakt as a midi plugin for this using the MultiScript divisi scrdipt that is out there floating around.  Not super straight forward.  

    A much more simple script would be to simply say Track A is meant for a single player, track B is meant for two divisions, track 3 is meant for all players...etc.. then a simple scripter script that will duplicate the midi notes to all the channels for each intended case.  Very simple script, but it would work.  But note that the midi traffic to VePro and through LogicPro would grow quite big and you may feel it in the CPU.  As the other person suggested, by using a Scripter script you can also opt to add some slight delay differences easily to each of the 16 players and things like that but ultimately you will be missing some of the humanization features that VSL built into the ALL PLAYERS preset.

    I used to want to have just a single MIRPro stage, but I have since come to the conclusion that it doesn't really matter if there are 1 or 5 or 10 MirStages, unless you actually need to see all the players (including the duplicate ones you mention), on the same stage to make sure they all line up each other.  But CPU wise, no benefit to a single stage.  A little bit tedious to change rooms and other global room values for each stage though, that is true.


  • oh also another thing, if you try to duplicate the notes to all 16 players on 16 channels, you'd also need to duplicate related CC's, PitchBends, etc..  Basically everything has to be duplicated..  I do not reccomend that approach, but if you decide you want to try I can help you with a simple script to support it.  But it will be heavy on CPU most likely, or at least result in dropped notes sometimes probably.  Might be interesting to try though.

    I much prefer using division presets in ViPro or Synchron, whichever you're using.  In ViPro you could set them up on the matrix for example, to quickly switch between how it should all be handled.

    actually now that I think about that a little bit...an idea comes to mind.  Perhaps in ViPro or synchron it would be possible to change the all player presets so that they still output each of the players to seperate audio outs.  Then basically you'd always have individual player audio outs, regardless of how the midi is handled...and you would not need the group icons on the mirpro stage.

    hmm...look into that a bit..


  • In my case, I don't want to use the desk/group/ensemble presets made by VSL just for sketching. The individual instruments approach is the essence of the Dimension philosophy, so I prefer to keep them always separate.

    Your considerations about MIDI traffic congestion convinces me that the multiple instance approach (duplicating the instruments/icons depending on the role) is still the best one at the moment.

    Paolo


  • Paolo let me know if you need any help with LogicPro Scripting in any way that may be beneficial to using Dimension Strings.


  • Dewdman, thank you very much for your offer!

    At the moment, I'm resigned to use separate instances with the various roles of the instruments. Messy, but more direct.

    Paolo