Beiträge von ozon

    i don't think it contradicts at all.


    You say "Virus Control doesn't add latency. That's the host". Support writes "Using audio input processing presets with the TI will add additional latency", no mention of the host adding it.
    Also, why should the host add latency for a signal that's externally processed?



    there are no open questions: if the latency is not compensated by the host, there is nothing that can be done.


    Questions:

    • Why is the latency on ALL parts, and not just on the part which does input processing?
    • Is this latency added by the Virus Control plugin to align internally created sounds with processed sounds?
    • Is this latency (of all parts) also there of the Virus is not used with Virus Control but in Sequencer mode?
    • Is this latency (of all parts) also there of the Virus is used in MULTI mode?
    • Why is the latency not compensated by the host? Obviously a host can only compensate for what is reported by a plugin. Which in turn means, VC should inform the host.
    • If this 20ms latency is to be expected whenever using input processing, why is it not mentioned in any documentation?

    Voice steeling has nothing to do with using the USB or Audio outputs. As a test you can attach a keyboard to the Virus, load the same patch in Single Mode and check how it behaves when you play it directly while listening on headphones.



    BTW, the indicator you mention is not for RAM but for CPU usage. And as already said, even pads that only use two bars can easily eat up the available voices. Let's assume as calculation reference:


    - 5 Notes
    - 3 Chords overlap because of long release tails
    - 2 Note Unison


    5 x 3 x 2 = 30 voices.


    As you up the Unison amount, you can directly multiply with that.


    Edit:


    Now, if you have a more complex patch that uses more voices you get:


    - 5 Notes
    - 3 Chords overlap because of long release tails
    - 2 Voices per played note (e.g. Analogue Filter)
    - 2 Note Unison


    5 x 3 x 2 x 2 = 60 voices.

    Yesterday, I did a couple more experiments.


    Installed Cubase 8.5.30 to check whether the problem is related to Cubase 9, but got exactly the same results.


    Then I simply started with a new empty Cubase project and just added the Virus Control plugin. And sure enough, timing was as tight as it could be, with zero samples latency! So I figured it was somehow connected to the project I was working on. Hence, I created an empty project, imported all the tracks from the problematic project, added a new VC instance, loaded the VC preset from the other project and... latency was there again.


    Then I started to delete groups of tracks (audio, instruments tracks with NI plugins) until there was only the MIDI tracks with VC present. Didn't change a thing, latency still there. But when deleted the VC plugin, added a new one, and just used the default Init presets, timing was spot on! Thus I knew it had to do with the Virus presets used in that project.


    As I final step, I reloaded the VC preset from the problematic song, and started to replace the presets with Init presets. And as I removed the Input preset on Part 16 which used the Virus Inputs, the timing was back to sample accurate!


    Bottom Line:


    If a preset using the Virus Inputs is loaded in Virtual Control, it adds a latency of about 20ms (I measured 892 Samples several times) to all sounds coming back from the Virus Control plugin.


    It's not clear whether that latency should or could be compensated by the Virus Control plugin or Cubase.

    Today, I nearly went nuts while trying to get the proper feeling for the Amp Envelope Attack and Decay of a rather short pulsing sound. I just couldn't achieve the same groove as I had with a sound from Monark which I wanted to replace. After several hours of trying in vain, I compared to two synth tracks each with the drum tracks alone, and realized that whatever I did, the Virus was dragging. Did some fiddling with the track delay in Cubase and found that it started to groove when the Virus track was negative delayed by -20ms.


    Now I got curious.


    After reverting the track delay to 0ms, I did a Render In Place for both, the Monark track and the Virus track. And sure enough, notes in the audio file generated from the Virus were starting 20 ms (roghly ) late.


    So I checked settings in Cubase:

    • The PluginManager reports a Latency of 3072 Samples for the Virus TI VST 3.5 plugin
    • The PluginManager reports a Latency of 4096 Samples for the Virus TI VST 2.4 plugin
    • ASIO Guard was off


    Switched around a couple of things and found the following:

    • It doesn't matter whether I use the VST 2 or VST 3 version of the Virus Control plugin
    • ASIO-Guard set to minimal didn't change anything
    • ASIO-Guard set to normal/maximum had an influence on the timing of the VC plugin! Sometimes the timing would be exactly like without ASIO-Guard, sometimes the VC plugin would get a compensation of 20 ms. However, it is rather unpredictable, once with the ASIO-Guard set to maximum, VC was compensated by almost 50ms, i.e. it was 30 ms earlier than the reference audio track.

    It would be easiest if there was a way to globally set the latency of the VC plugin somehow.


    Any ideas?



    Virus OS / VC 5.1.6.05
    Cubase 9.0.10
    MacOS 10.12.4

    Oli, I haven't tried to use Envelopes 3 & 4 (yet ;) ), but are you meaning that they are totally functionless in any situation??


    Ah sorry, my bad! Naturally they can be used as a Source in the Mod Matrix, but AFAIR they can't be used as a destination. Which means you can't for example modulate the Env 3 & 4 Attack or Decay. Which renders them less useful for some intricate modulations. In that case I resorted to (ab)use the Filter Env for the modulation.


    In reference to "Bank = 5, Pgm = 3"... do the bank numbers start with the RAM's or ROM's? Would "Bank = 5, Pgm = 3" be the third program.
    of ROM A?


    Exactly.
    RAM-A = Bank 1
    RAM-B = Bank 2
    RAM-C = Bank 3
    RAM-D = Bank 4
    ROM-A = Bank 5
    ROM-B = Bank 6
    ...



    What would I do differently if I wanted to use Multimode instead of seq mode?


    Not much to do different in Multimode, except that you may want to store all your settings in a Multi, and only send the Program Change for the correct Multi. To do so, you need to set the global MIDI Channel of the Virus to the channel you want to use for that purpose and enable Multi Program Change.



    Because what I might want to do is, since I have my keyboard set up split over three channels, be able to set up channels 1-3 as things I could use live, with channels 4 and up triggered by the sequencer. There's no way to do that in seq mode, is there?


    You can do something similar with Sequencer Mode, I think. The question is how you split up your keyboard. There are three possibilities:

    • Set up the splits on your keyboard, if it has that capability (Virus can be used in Sequencer Mode)
    • Set up split and transpose information in your sequencer (Virus can be used in Sequencer Mode)
    • Set up key range and transpose information in the Virus (this is only possible with Multi Mode)


    As long as you have a software between your keyboard and the Virus, I'd rather use the software to define all the split points and desired transposition.

    In that case it might be best to use the Virus in Sequencer mode (see below). Make sure that your Virus is configured to accept program change and volume events for parts:
    CONFIG > MIDI 2/3 > MIDI Volume > Enabled
    CONFIG > MIDI 3/3 > Program Change > Enabled


    Then it's really straight forward: First put Virus TI into Sequencer Mode (press MULTI + SINGLE), then create a new project in Ableton Live and:

    • create MIDI track
    • set track MIDI To Virus TI and Ch. 1
    • create Clip and add some notes
    • in the Clip Notes info section set Pgm Change to Bank = 5, Pgm = 21

    Now repeat steps 1 to 4 for another MIDI track:

    • create MIDI track
    • set track MIDI To Virus TI and Ch. 2
    • create Clip and add some notes
    • in the Clip Notes info section set Pgm Change to Bank = 5, Pgm = 3


    That should get you started. The rest is really up to you.


    For how to use Bank/Program Change event in the Ableton Live Arrangement view, please consult the manual (I've always used Live only in Session view).




    There a two different general approaches to this:

    • Send a Bank- and Program-Change to select the correct preset from memory (e.g. ROM H-42). This approach is easy and fast, and works great as long as you don't change the patches in your synth. In general it's great for synths with ROM presets or General MIDI devices.
    • Dump the actual patch information via MIDI SysEx and load that data before playback. This approach allows you to store all the patch information within your song for total recall, even if the patches stored in the synth were changed since you worked on the song. It's rather complicated, fragile and time consuming, but it works. It is more or less what the Virus Control plugin does in the background.

    The fitst approach is rather easy, Ableton has even the capability to store a Bank/Program Change command on every clip!


    The second approach is more involved and I haven't really worked with it on the Virus. There's a section in the Config menu where you can dump single patches or whole banks, all multis and configs. Plus there is the capability to dump the "Current Arrangement" which is the a Multi that's in the edit buffer (which means it's not stored in the synth). This is probably the best option to use because it stores all 16 patches plus their multi data (volume, pan, transpose and keyrange etc. ) in one go.


    As said, I have no experience with that (totally love TI, except for the timing issues) but that's how I would approach it.