Bypass VC Audio

  • Greetings fellow Virus users.


    I've been meaning to post on this subject for some time now (I've been using the TI since 2006), but have been waiting to see how things pan out with updates and such. My issue is with latency in VC. I am not referring to playback latency, which is pretty much flawless through usb with the live button off, but rather the latency experienced during actual playing (input). While the live button certainly improves things, it is not the most elegant solution as previously recorded parts (midi) will fall out of sync with the sequencer as you record each new one. Turning the live button off makes it virtually impossible to play anything above a quarter note on time.


    While I have seen many users say that they have setups with manageable latencies, I also get the feeling that a lot of musicians draw their notes into a piano roll. Although I'm not really much of a keyboard player, this is simply not an option I want to pursue. Lately I have been using the Virus like a traditional synthesizer (midi), but miss the obvious programming and recall benefits of VC. I also get the sense (from years of music forum lurking) that many (most?) users that play parts into their sequencers are using the TI through midi rather than with VC (although I could of course be wrong).


    What I don't totally understand is, if a user does not need to use the TI as a soundcard or has the option to use the analog outs, why does VC need to handle audio at all? I have an editor for my Pulse by reKon audio (http://www.rekonaudio.com/) that functions as a vst patch editor, but since it doesn't handle audio there is no noticeable latency introduced. I have even considered downgrading to a Virus C and just using a similar editor but I don't want to part with the hypersaws, polyphony, and new distortion algorithms.


    I have seen various requests over the years (between this forum and infekted) requesting a patch editor for the TI, but Access seems unwilling to consider this as an option.


    So to get to the point: Isn't there any way that a simple bypass VC's handling of audio button could be added? This in no way compromises the total integration concept (which I assume is the reason Access continues to resist a patch editor). It will also not impede users that choose to use the TI as a soundcard and/or usb outs. Is there some sort of technical issue that forces VC handle audio? Even the analog outs suffer the same latency when using VC.


    While I totally understand that standard midi timing introduces latency (to address the argument that VC's handling of audio allows for sample accurate playback), at least I can still play sixteenth notes!

  • Hello,


    Correct me if I wrong, but you could add an extra track to your project. This track would directly be targeted to "Virus TI Synth" midi output, to a channel whose output mode would be configured to one of the analog outputs.


    This won't prevent you to use the VC plugin in this project (for the total integration feature), but without the USB audio features.


    I must admit that at the time I was using FL studio, I was not using the VC plugin at all, because it took too much time loading. I was using a homemade MIDI-only patch-management-plugin, and using spdif to transmit the audio from the synth to the DAW.

  • Maybe you could then let the VC plugin handle the incoming midi (redirect your midi tracks to the VC plugin instead of "Virus TI Synth") and select the analog outputs in the VC?


    What DAW do you use ? My patch-manager plugin works only under FL studio, but I'm considering porting it to VST (I'm migrating to energyXT).

  • Ace17,


    Thanks again for taking the time to try and think up a solution, but unfortunately this method shows no improvement either as this is how I already use VC multitimbraly.


    My DAW is Live 8 running on a 32 bit Windows 7 setup. I'd be very interested in your patch manager should you decide to port it to vst.

  • This is strange. As far as I know, the VC does not "see" the audio that goes through the analog outs.
    Have you tried with no VC at all? Only midi tracks outputting to "Virus TI Synth" ?


    Here's how my patch manager looks inside FL, just to give you an idea.


    [Blockierte Grafik: http://ace17.free.fr/img/acemidivirus_lowquality.JPG]


    It loads instantenously, but it does no audio at all, only midi. It also requires you to manually download the current patch from the Virus by clicking "Recv". Then it will be saved inside the project file. On loading, the plugin sets the Virus to sequencer mode, and restores every part by sending the appropriate sysexes.


    I'm beginning to feel there's a need for such a tool, I think I will port it to VST very soon.

  • It loads instantenously, but it does no audio at all, only midi. It also requires you to manually download the current patch from the Virus by clicking "Recv". Then it will be saved inside the project file. On loading, the plugin sets the Virus to sequencer mode, and restores every part by sending the appropriate sysexes.


    So, if I understand correctly, it gives you total recall without VC? Way cool!


    Zitat

    I'm beginning to feel there's a need for such a tool, I think I will port it to VST very soon.


    Please do! :thumbup:

  • Ace 17,


    I have and do run the Virus through the "synth" port with no VC and the latency is fantastic (totally unnoticeable). It's only when I load VC that input latency becomes a problem, which I don't totally understand if I'm using the analog outs. Marc?


    Your patch management system does indeed look useful.

  • I am actually tempted to move part of my original post to the problems/troubleshooting section as I believe that input latency when using VC is more of a problem than feature request. I don't want to be a jerk and double post though.


    So, I would really appreciate if someone from Access would be willing to chime in and confirm that VC somehow introduces latency, regardless of using the analog outs, and whether this can be fixed.


    I guess I don't totally understand why vst editors from the likes of reKon and Midi Quest don't introduce latency and VC does?

  • I just emailed Access Support asking the same question (prior to reading your post): "Do I have to route the audio through the USB back into Ableton when using virus control? Or can I use the physical "audio out' ports of the TI Desktop to a physical mixer and only use the Virus Control for midi/sequencing?"


    I just received my TI Desktop a week ago, and I'm a little bummed to find out that it's either 'Total Integration' or not at all... Can I just get "Semi-Integration"?


    So, am I right that you guys are having the same issue? Can Virus Control be used only for sequencing purposes? And would that help the latency to not have to route the audio through the USB?


    I'll post whatever Access Support responds with...


    Cheers

  • You can certainly use the audio outs with VC (simply right-click over the part and select the desired out), however there is still a noticeable input latency when compared to using the Virus the "old-fashioned" way through midi.


    In other words, when I run the Virus with no VC and simply use the "synth" option (the TI's port for handling midi through usb) and audio outs, the input latency is the same as my other hardware synths (not a problem). However as soon as VC is introduced, the latency becomes very noticeable and to play parts on time you must engage the "live" button, which will knock your other parts out of sync.


    I'm starting to think that VC's syncing with the Virus hardware is what causes latency problems, although other vst editors don't seem to have this problem. I mean I understand the whole latency if you're using usb audio thing, but why is it so noticeable when using the analog outs? And more importantly, what's the fix? Does this somehow relate to keeping the TI's playback sample accurate?


    As much as I appreciate the TI's knobby interface, I actually create patches faster through VC, so I would love to find a solution.


    dwalke09, let us know what Access says...

  • ok guys,
    the first version of my midi-only patch manager for the virus is available at:
    http://ace17.free.fr/AceVirus.zip
    Just extract the archive to your VST folder. For the moment it's a binary only release but I'll make the source available very soon, as soon as I'll have fixed licensing issues.


    For the moment the interface is rather ugly and only allow to save/load patches from/to the synth.
    I only tested it with a Virus TI Desktop. Please let me know if you have problems!


    Usage :


    Just add the AceVirus VST to your project. It will connect to "Virus TI Synth" input and output ports (these ports should be left alone by the host!). The plugin will put the Virus is in sequencer mode. Then start tweaking knobs on the synth, when you have a cool sound just press "Recv" and the patch will be downloaded to the plugin. If you tweak the knobs again, and then want to go back to the last downloaded patch version, just hit "Send" : the patch will be transmitted to the virus on the corresponding part.


    When you save your project, all downloaded patches are embedded into the project file. On project load, all embedded patches are transmitted to the Virus. This is basically a pseudo total recall feature. But you have to manually download patches for them to be saved into your project.


    You can then create a MIDI track, and redirect its output to the midi input of the plugin. The plugin will forward all midi to the synth, bypassing the host MIDI handling (I was forced to do this because most hosts can't do sysex).


    Limitations :


    - This plugin cannot coexist with another instance of itself, nor the VC plugin (BTW why would someone want to do this?)
    - Some hosts don't transmit midi input to a VST plugin if the plugin has no connected output audio port, it probably is an optimization attempt. energyXT is one example. So I had to create a dummy audio port, that you should connect to ... something. Please keep in mind no actual audio is output through this port! It's just a trick to force the host to send us incoming midi.


    Have fun!

  • Virus TI Synth/MIDI is "using the Virus as a MIDI Interface" - you have the drivers installed, you have the USB cable connected but you're not using VC. You can use it via standard MID without the need for MIDI cables being connected.


    Ace17, merci for your efforts.

  • Roby's right : by "Virus TI Synth", I meant the virtual midi port the Virus is exposing when connected via USB. From the plugin point of view, they're "normal" midi ports, but the device selection in AceVirus is currently based on the device name (must match "Virus TI synth"). I know it's clumsy :D
    I'm pretty sure I'll end up adding a combobox to select the MIDI devices, especially for the lucky people owning several Virus 8)
    My point is that for the moment, you can't use regular MIDI cables, you have to keep your Virus plugged by USB. But of course, it's only for transmitting MIDI. Audio will be transmitted by the analog outs /spdif.


    Please let me know if you have suggestions, bugs, crashes, feature requests!

  • I am sorry to hear that you are having a difficult time with imputing notes.



    Rather than using the 'Live' button, why not you use the direct out instead?
    When playing into the sequencer is seems to be fine for me running in a range of 24/44.1kHz-24/96kHz with a maximum 512 sample buffer.


    Now, there is some work that has to be done to correct the MIDI that has been played, but honestly it's more tedious than anything as you've had the luxury of playing in (in presumably reasonable personal timing and skill) and now its more a matter of looking at your newly created piano roll and shifting it back towards the 16th on-the-grid which the very first note you played was intended. Turn off the 'D' or change the output back to USB and now the latency of your DAW and sequencer can take over for those perfectly played and properly timed parts.


    That's it!!!


    It sucks that it doesn't move the notes for you, but at same time as you've just played in your part it should be a snap to correct.


    Incidentally, the range for me to manually adjust is typically between a shockingly good!!! 12 ticks and a very very slow 232-237 ticks. On a rare occassion there has been a time when it went a head, but that's another story all together!!!!!! Many other extraneous 'computer' factors go into actual timing, so it's never will the same, but again it's usually within the 16th (just move your part to the nearest 16th on-the-grid to the left..et Voila!)


    Coming from a classical background and sequencing and playing quite a lot of jazz, funk and now!!!! so old style vintage R&B-'...Chaka, Chaka Khan'!!! It's not so bad playing in...
    There is NO WAY that I would write in these parts, so I play them in as implied with the keyboard TI that I own.


    Anyway, this is my experience and i hope that it can help. If you Virus isn't going into a mixer than use the headphone output to monitor when using the Direct outs. Once again, after you record turn off the Direct out and then edit.



    You just can't 'pencil' in a good, compelling, emotional Obie-style Brass stab with aftertouch/mod wheel modulating vibrato. 8)

  • Ace17,


    Thanks for taking the time to port your patch manager to vst! I'll try and check it out this week...


    luciphercolors,


    The problem that I have with the "D" button, or with using VC with the analog outs is that the latency (when playing, not during playback) is far greater than soft synths, my other hardware, or the Virus when used with no VC. The solution that Access have come up with is engaging the "live" button, which is fine, but it is also a global function so it knocks other recorded parts out of sync.


    Again, my question is why does VC still introduce latency when using the analog outs?

  • My best guess would be that it's because the VC keeps the Virus in tight sync and sets sample-accurate timings. The whole system can't really be compared to "other plug-ins" simply because it isn't one. Using it the traditional way would instead reduce its benefits and produce the usual little quirks found with "normal" MIDI (not always tight timings, sometimes jitter and the usual stuff - while you get the really fast response).