question about virus TI usb architecture

  • Hello , I have a question that I hope access will be able to answer.


    I have a virus TI, the plugin mode "mostly" works, but occasionally I get pitch anomalies and timing shifts. Everything is configured correctly according to the guide, I'm using the proper USB port on a Mac pro.


    My question, why is it that a USB sound card doesn't ever have these kinds of problems? I'm genuinely curious about how this is designed. Is it because the virus is sample accurate? Does it really NEED to be sample accurate, when most hardware synths work fine with only midi timing?


    Does the stream stop and start when playback stops and starts, or is it continuous?


    There are tons and tons of people experiencing problems like this for years, and for the above reasons I have abandoned the use of the plugin, I'd really like to continue to use it, and I'd really like to know why this is such a problem for so many people while regular USB audio cards are capable of flawlessly handling 4-6 stereo streams.


    Has access considered a complete re-write of how the TI interfaces with the computer? For example sending a set of simple, continuous and reliable audio streams to the host, with MIDI type of data controlling the notes and CCs. Is this possible? As far as I know, USB audio is not reliable for sample-accurate data.. and I don't understand why sample accuracy is needed?


    Thanks

  • Hi,


    Sample accuracy may be more important than it looks. Let's say you have an arpegiator-like pattern of 16th notes at 180 bpm, you have nearly 80ms per note. AFAIK, and from a lot testing, under Windows, it's very hard to get a real-time accuracy better than 15ms. If you're controlling a synth by MIDI, it means your synth will sometimes receive a note 15ms late. It's clearly audible, the pattern just doesn't sound right.


    You can do this test with the FL studio MIDI output, other DAWs seems to cope better, but there's no completely reliable way to get hard-real time MIDI sending under Windows, especially if your CPU load increases. The best of the workarounds seems to trigger MIDI sending based on callback from the audio driver, because they're frequent and accurate (which means your timing accuracy now depends on your buffer size).


    I'm not saying sample accuracy is needed, because 80ms is a lot of samples (a little more than 3K at 44100Hz), and clearly, the audio could be out off by a lot of samples before we would notice.
    I'm saying good old real-time MIDI, under Windows, does not guarantee you a musically-acceptable timing accuracy.


    PS: I'm talking about Windows XP here (Windows 7 has been enhanced on this point).

  • try using another one. proper or not, the port you're using causes (MIDI related) trouble ...
    marc


    With every other port on the mac pro the TI reports that it is being shared by another device. Is there a better usb port than the one that is "by itself?"


  • No offense, but this is pretty off-base. MIDI does not fluctuate by as much as 15 ms randomly, ever. I can't speak for FL, and I have heard that it kind of sucks for midi, but in logic pro and cubase MIDI is always dead-on.


    You do have to compensate for round-trip delay with regard to audio buffers when monitoring audio through the DAW, but that is not the issue here.. in the standard midi/audio mode it's always spot-on perfect, and has been since the early days of MIDI+computer tracking in the late 80s - early 90s.

  • When I use TI plugin, I randomly have very strange issues with Logic 9 in OSX Snow Leopard. I have to pre-delay the MIDI track by ~180 tics at 130BPM to get things to line up (when they lined up perfectly minutes before). Then, randomly, everything is in sync again, and I have to remove the pre-delay. There is absolutely no way this is a bandwidth issue. When I run the TI Snow over MIDI only, returning the audio through a USB 1.1 audio interface plugged in to a hub, this NEVER happens. It is solid.


    This is how I know it's not a bandwidth issue. I have driven 2 external stereo synths via MIDI, returning the audio over an M-Audio Connectiv interface running off of a USB hub, and I have never experienced audio drop-outs that would imply that USB is incapable of handling 2 stereo audio streams. If so, how is it even possible that things like Traktor w/ turntable interfaces or M-Audio Torq work at all? They require 2 stereo streams flowing at 100%, and work over USB 1.1... Wouldn't they constantly be dropping information over USB if it's so horrible?


    Something doesn't add up. Why can I run a USB 1.1 audio + MIDI interface driving external hardware synths with consistent latency, but the TI is completely unreliable? Please remember my USB audio interface ran over a HUB with a bunch of other crap on it. The TI is not stable for me even with a dedicated port and only 1 stereo channel coming back in to Logic.


    What is the explanation for this? I deal with editing my TI Snow via the front panel because I can't deal with the flaky plugin. (Which, kudos to Access, is quite reasonable to work with given the limited buttons/knobs!) MIDI + USB is consistent. The plugin is completely unreliable. I'd rather just have a plugin that sends MIDI CC's to the Virus and gives me a convenient way to do sound design in a reliable manner, but even fiddling w/ Live and Direct mode in the plugin has been flaky for me.


    This is what bothers me most about the whole situation: My audio + MIDI interfaces work on a USB hub, and have for years. Why doesn't the TI, even when given its own port? Why isn't the Virus TI just a regular Virus with an integrated audio + MIDI interface? Sample accuracy means nothing to me when I can't even use the plugin as it was designed, and rely on it. When I bought the TI Snow years ago, I planned on using the plugin in live scenarios, but this is simply a non-starter. I'll fall back on my USB audio and MIDI interfaces....


    Thanks much. I don't mean to be a jerk, and I know I repeated myself, but this has been bothering me for quite some time. :)


    Cheers!


    - Eric

  • In 1 in / 3 out mode there are actually 4 stereo pairs streaming nonstop. Maybe changing your Virus's mode to no in / 2 out will result in better performance. Also I hear that the new 5.0.1 beta is very good with sync, maybe it will work for you (remember to backup your system in order to roll back if something goes wrong).
    Regarding the shared USB hubs, you can try and disable some of the onboard devices (such as webcam, IR communications, etc.) so that they will not take any bandwidth by surprise. An external hub will help, but only in the right configuration - if it's not a multi-TT hub, the Virus must be the only USB1.1 device connected.

  • In 1 in / 3 out mode there are actually 4 stereo pairs streaming nonstop. Maybe changing your Virus's mode to no in / 2 out will result in better performance. Also I hear that the new 5.0.1 beta is very good with sync, maybe it will work for you (remember to backup your system in order to roll back if something goes wrong).
    Regarding the shared USB hubs, you can try and disable some of the onboard devices (such as webcam, IR communications, etc.) so that they will not take any bandwidth by surprise. An external hub will help, but only in the right configuration - if it's not a multi-TT hub, the Virus must be the only USB1.1 device connected.


    I'm about to make a bold statement, and that is every virus TI plugin setup in the world is glitchy in some way, none of them are perfect. Some are worse than others, but all have some form of timing/sync/pitch weirdness happening on some level, REGARDLESS of what usb port it is on.


    So, my original question for Access remains. Why was it designed this way, and why do other USB audio devices not have this problem?

  • eventually yes. use a usb2 hub in between and see if it helps.
    marc


    It doesn't, not even a dedicated usb 2 card results in a perfect experience, there are always some glitches - making the whole thing unreliable enough to warrant midi mode only and no plugin. The only reason I haven't ditched it completely is because I love the virus's sound.


    Can you pass on my original question (about why USB sound cards don't have this problem) to a developer and get back to me? Sorry man, I know you're doing your best, but you have to admit that the volume of support problems about this would be far fewer with a total re-write and re-design.. is that possible?

  • Can you pass on my original question (about why USB sound cards don't have this problem) to a developer and get back to me? Sorry man, I know you're doing your best, but you have to admit that the volume of support problems about this would be far fewer with a total re-write and re-design.. is that possible?


    i can understand that looking at this forum one can that impression. but i can look at our support cue and this show something different. peaks aside, support is very mellow these days. you're welcome to work with support and if we find something that needs to be fixed we will do our best to get it done.


    It doesn't, not even a dedicated usb 2 card results in a perfect experience, there are always some glitches - making the whole thing unreliable enough to warrant midi mode only and no plugin. The only reason I haven't ditched it completely is because I love the virus's sound.


    a dedicated USB2 card is neither necessary nor helpful in many cases. if you, e.g. use uaudio PCI cards you will find out that it works surprisingly bad. those cards hog the PCI bus.


    Can you pass on my original question (about why USB sound cards don't have this problem) to a developer and get back to me? Sorry man, I know you're doing your best, but you have to admit that the volume of support problems about this would be far fewer with a total re-write and re-design.. is that possible?


    i can answer that question for you again: it is not an audio problem, it is a MIDI problem. the midi timing events send over USB get delayed and therefore the timing is bad. the glitches you see are probably a side effect.


    best, marc


  • We may be getting somewhere now, thank you. However, a couple of facts that seem to contradict the thing about MIDI:


    1. The pitch is affected.. I'm not understanding why a late or early MIDI note message would change the pitch.
    2. When using the Virus with no plugin and in SEQ mode or multi mode, I use the same USB cable in midi mode, using the "Virus TI Synth" midi device in logic. Timing is perfect, no problems whatsoever.


    So, if MIDI is indeed affecting the plugin, is it a case of insufficient bandwidth?.. midi+audio is too much but midi by itself is ok? If it's not bandwidth then couldn't this be optimized better?


    incidentally I have also noticed that pitch anomalies sometimes are related to how busy the host CPU is.


  • This is a bit of a red herring. First of all, it's from 2007. Second of all, I never had any MIDI timing problems in 2007, or anytime before that. Not to say that they cannot exist, however that has more to do with other hardware/host problems or midi interface issues (as the article explains).


    MIDI is still the standard and extremely reliable in professional environments for a reason. The TI's USB issues are not caused by MIDI itself.

  • The TI's USB issues are not caused by MIDI itself.


    We agree on this point. I wasn't even talking about the TI's USB issues here.
    A lot of hardware MIDI sequencers/controllers don't suffer from jitter. I'm not saying MIDI is flawed.
    I'm saying implementing accurate MIDI I/O on a PC running a non realtime operating system is very hard to get right ; and can never be guaranted to always work.


    First of all, it's from 2007


    I know, but it applies to all of us who run Windows XP, and to some extent, Windows 7.


    however that has more to do with other hardware/host problems or midi interface issues


    Exactly. FL devs didn't manage to get it right, for example. And I suspect that Access devs want the VC to also work inside FL studio.
    By implementing sample accurate timing - i.e not doing real-time synchronous MIDI output - they avoid such issues.


  • I can't speak about FL studio. However, I think that with any modern PC running a major daw such as Logic, Cubase, Nuendo, Sonar, etc.. you will find MIDI stability and timing issues to be VERY rare, if non-existant. Even in the 2000's running Windows XP. My first serious daw was cubase in 02. No problems at all, and I am the norm, not the exception. :)

  • Having used heaps of hardware and basically every DAW around, I feel that it is neither the MIDI nor the audio part in the USB stream. I prefer fire-wire over USB any day of the week and twice on Sunday, but even on fire-wire this combination of data is not without it's troubles. I have a Korg M3, it's optional fire-wire board provides MIDI as well. Known issues are very similar to the ones encountered in USB.
    By no means do I pretend to have more than average knowledge of the underlying technical aspects of both protocols, but based on experience and shear logic, I feel that separation of those two data streams in some way or another is the big hurdle. In case of the M3, which comes with USB-MIDI as well, separating MIDI (over USB) and audio (over Fire-wire) resolved any issues. Luckily the way the M3's editor plugin is implemented allows it's full use even in this setup.


    I think synth builders should generally stay away from incorporating an audio device in their product. Provide an ADAT or S/Pdif interface, USB-MIDI and a plugin/editor that controls the synth. It would make life for (semi-) professionals a lot easier. We have our preferred audio device anyway and a bunch of other synths, of which a number probably want to be installed as an audio device as well. With 3,4, or 5 audio devices in your system you are bound to run into trouble of some sort. It is hard enough to get MIDI organized at times.