[solved] Crackle and stutter after extended use (any version of RP using a virtual audio device)

[solved] Crackle and stutter after extended use (any version of RP using a virtual audio device)

#1
After several hours of use a very distinct crackle and stutter begin to occur until the audio quality is so bad that it is unusable. I isolated the issue to Rack Performer (I can immediately cure the problem by routing the same audio source to a different application and/or directly to another audio output device.) This is also not due to a faulty VST plugin. (I tried connecting the input module (stereo multipurpose master) directly to the master module with no VST modules in-between but the crackle and stutter remained.) I tried different master modules but this made no difference. Disabling and re-enabling power in Patch mode also did not cure the problem. Neither did closing the application and restarting it. I did find, however, that I could improve the audio quality by disabling and re-enabling the power of the master modules in Edit mode. This only worked sometimes - I don't know whether it is a timing/sync issue somehow? I often have to disable and re-enable power for the master modules several times (4 or 5 times) before it eventually works OK!? I hope that helps! Please let me know if I can help some more. BTW this is a really great application - thanks for all your hard work developing it!
#2
After some further testing, I just managed to resolve the issue temporarily (the problem returned within a few minutes) by disabling and re-enabling power repeatedly in patch mode - it only worked after about 10-15 attempts. Completely restarting my computer also resolves the issue.
#3
Hi Steve,

Thank you for reporting your problem.

It clearly sounds like clock drift.

Before we engage in a rather lenghty explanation, I need to know some details:

1) What driver type are you using? (MME/DSound/ASIO)
2) If using ASIO, is this a native driver or a wrapper? (ex: ASIO4All)
3) Are your inputs and outputs coming from the same physical sound card? (ex: the I/O of a single set box or two different cards)

Meanwhile here are some possibly relevant FAQ entries:
1
2
3
_______
Live Factory Team
#4
Hi guys! Thanks for your help with this. I am currently using Direct Sound 8. I'm pretty sure I was experiencing the same issue with MME though. The input is from a VIRTUAL Audio device called Stream 1, which is installed with DDMF's Virtual Audio Recorder software:
http://www.virtualaudiorecorder.com

(I am using the paid-for version but you can download and install a free demo version from the above address. The demo version adds some white noise every now and then but that is NOT the same as the problem that I am experiencing!)

There are four Virtual Audio Streams in all. I tried switching from Stream 1 to one of the other streams in the Rack Performer Configuration dialog after the problem developed to see whether that would temporarily cure the problem but it did not make any difference at all.

The output is currently the SRS Audio Essentials device, which is installed with SRS Audio Essentials:
http://www.srslabs.com/store/store/comersus_viewItem.asp?idProduct=51

(You can also download a free demo version of that product at the above address.)

I also tried bypassing SRS and outputting directly to my IDT High Definition Audio device but this does not resolve the issue.

The audio quality setting of the DDMF Virtual Audio device is fixed at CD Quality (16 bit, 44100 Hz). The SRS Audio Essentials device and the IDT sound card are currently set to DVD quality (16 bit, 48000 Hz).

I tried to access the FAQ entries from the links you included but I just get an Access Denied error.

Thanks again for your help with this!
Steve
#5
Hi Steve,

This unfortunately confirms the nature of your problem and there won't be any easy solution. In fact we don't officially support this kind of use case, and unless you use expensive equipment to ensure proper word-clock synch, it won't work for long periods and you will encounter such kind of drift.

The FAQ links are not working indeed, so I'll copy the most relevant bits here:

(1) "If you try to open multiple driver/devices belonging to different physical hardware sound cards, there is going to be a mid to long-term drift and some channels will be stuttering/glitching. The only way for this to work is to use word-clock synchronized sound cards (or a similar synchronization link, like running all digital with a shared clock signal)"

(2) "Our products work with Asio4all, Asio2KS and similar generic driver wrappers without any problem provided the input and output devices selected both come from the same physical soundcard. Device mixing and combining will be subject to long term drift and is not officially supported (although it might work sufficiently well enough for you)"

(3) "We successfully tested our products in many configurations using virtual audio cable drivers like JACK or VAC and it works pretty well for short operation times.

However, due to the very design of these special drivers, and given the fact that unless a hard synchronization like wordclock is used, two clock sources will always drift given enough time (ex: no two wrist watches can stay in synch for very long) we don't officially support these use scenarios.

Please note however that for many tasks the drift will be hardly noticeable, and in some cases, if there is less than 1 ms drift per hour it could be deemed good enough for the job."


The usual but partial solution (when possible) is to fine-tune the virtual audio cable timing options to delay the moment this drift becomes noticeable, but it will happen anyways.

Note that this is a design issue absolutely not related to Rack Performer as we can't compensate for the drift with a standard (non vari-rate) soundcard.

Our products can run for days in rack-mounted computers, in staging/rental/venues scenarios for instance, but only when fitted with I/O synchronous soundcards and drivers (ie: native ASIO)

The strange part in your problem is that it doesn't resynch when you disable and re-enable power in RP as it should, making it even more impractical. Try to see if there are any "clock skew" or "clock compensation" option or anything related to "drift" in the virtual driver documentation, it's surely covered as they are well aware of this global design issue.
_______
Live Factory Team
#6
Thank you for that very helpful and comprehensive explanation of the problem. Unfortunately, I cannot find any configuration options relating to clock skew, clock compensation or drift in the virtual device. I will keep experimenting to see whether I can find any way to resynchronize without restarting the computer. As you say, it would not be too much of a problem at all if I could find a way to resynch more easily. If I come up with anything, I'll let you know. Meanwhile, thanks again for all your help and thanks for a great application!
Steve

Subscribe to our newsletter