Latency Rate Changes Each Time I Record! Help!

Hi everyone, I thought updating to 2.0.3 would resolve this. At best, it has marginally improved the issue, but I am still experiencing it. So here’s the problem, but first the basic info:

Version: 2.0.3 for Windows
OS: Windows 7 SP1 4gb RAM, 64 bit
How I am connected/recording:
I am running everything through a Mackie 1202-VLZPRO. I am doing a ton of overdubbing, but never recording more than one input/track/instrument at a time. I am running the signal out of the mixer and into the line-in jack (1/8th inch) at the back of the tower. I then take the signal out via the headphone jack, which goes back into my mixer. Of course, I keep that signal isolated from the input signal by putting it into the 5-6 stereo input jack, which is muted. This blocks the signal from being fed back to the machine. From the headphones jack on the mixer, I have a stereo splitter. One goes into my headphones, and the other goes into a stereo receiver which powers my studio monitors. What this allows me to do is get a full mix of what the computer is doing plus what I am playing along with it (for example guitar), while just recording the guitar. When I want to record vocals, I simply punch the power switch on the receiver, then I STILL get my vocal+project mix the headphones. Important note: Software play through is OFF (as it’s totally unnecessary.) I am fully aware this may not be the most optimal way of hooking things up. So with that said, I’ll note that while it has been working REALLY well for me in the last 2.5 years, I am always open to suggestions on how to improve this hookup. That, however, is not why I am posting.

I am posting because lately I’ve become aware that when I’m recording a very precise guitar part and it feels like I’ve “nailed” the take, I’ll play it back, and it will sound really “off.” I’ll think, man, I thought I played that much tighter. Same with singing. I’ll think I got a good take only to play it back and back find, wow, I’m coming in kind of late. Since my band and I have been spending most of our time mixing these past few months, I’ve been tracking less. But this weekend, the real eye opening moment happened when I was recording a part that our bassist was doing. I’m an overly picky producer who tends to push his bandmates into doing things tighter and tighter. Well I watched our bass player complete an absolutely flawless take. I play it back, and it was a mess, as if he’d come in late and just lagged. I knew without a doubt this had not been the case.

So immediately, I suspected that the latency “rate” (or whatever you call that length of time) must have changed from the time I first set it (when the machine was new), to now when the machine has recorded so much audio. Kind of thinking, like any machine, the more it’s used, maybe the slower it gets. OK, no problem, I think. I’ll just re-calibrate the latency correction.

So I go through the test process, which just means I first create a click track. Then I put the phones up to the mic (studio monitors OFF, headphones ON), and I click record. The mic pics up the headphones which are playing the click track. You know how it goes.

I zoom in and find to my surprise, huh, it’s off, but HARDLY. So I tweak it a bit. By like one thousandth of a second. I run the test. Now it’s WAY OFF. It appears to be off by a quarter of a second. And every time I retweak it, and get closer, I’ll try to nudge it a bit and it’ll be way off again. Now I’m thinking, this doesn’t make any sense. So I do an experiment: I do the test. Rather than play it back, I mute what I just recorded and re-record a THIRD test track. I then mute THAT track, and record ANOTHER test track. And again. And again. Now I’ve got about FIVE test tracks. At this point, I don’t care so much if they’re synced up to the original click track. What I care about is this basic concept: They should ALL be synced up to each other, as I did not alter the latency rate. I didn’t alter anything. Just clicked record five times from the same spot. I zoom in and sure enough, they’re each aligned a little differently from one another.

SO, that’s when I upgraded to 2.0.3 (I’d been running 1.3.X—not sure). Did the same test thinking, for sure, this would resolve it (also rebooted the machine, natch). But, as I said at the start of the post, I’ve got the same problem even if I am seeing a slight improvement.

So my questions are:

  1. Is this actually a normal condition that I’ve only recently observed? In other words, if it’ better—a few thousandths of a seconds difference track to track, rather than hundredths of a second—in 2.x, is that just as good as it gets? Because if that’s standard for all digital recording, then fine.
  2. Is this NOT a normal condition? And if not then…
  3. What is causing it? And…
  4. How do I fix it?

Apologies for the long post, but I really wanted to err on the side of giving you all lots of info to work with rather than me just being like “oh yeah the latency is acting funny, what gives?”

Thanks.

What do you have set for the “Audio to buffer” setting? (Edit > Preferences > Recording).
The default is 100 ms. If it is to low (or much too high) the latency will be all over the shop (as you describe).
If you have it set less than 100, increase it to 100 and run the latency test again, then check it a few times.
If it’s already at 100, try increasing it to say 150 and run the latency test again, then check it a few times.

Another thing to try is changing the Host setting in the Device Toolbar. In Audacity 2.0.3 you will have a choice of MME and DirectSound. Try both and see if one works better than the other.

Avoid running too much other stuff on the computer at the same time.

Did you say what sort of sound card you have? Perhaps you’re due for a better one (doesn’t need to cost an arm and a leg - I use a $30 Behringer UCA 202 and I’m very happy with the results).

What do you have set for the “Audio to buffer” setting? (Edit > Preferences > Recording). The default is 100 ms. If it is to low (or much too high) the latency will be all over the shop (as you describe). If you have it set less than 100, increase it to 100 and run the latency test again, then check it a few times.
Yep, it’s at 100.

If it’s already at 100, try increasing it to say 150 and run the latency test again, then check it a few times.
I had tried it at 200, and all it did was basically increase the latency by twice as much, but I had the exact same problem. I can try 150, though I suspect it will do the same.
Avoid running too much other stuff on the computer at the same time.
Indeed. In fact, this computer is “recording computer” only. I do not use it for anything other recording and then basic web (gmail/WeTransfer). Never WeTransferring at the same time as recording.
Did you say what sort of sound card you have? Perhaps you’re due for a better one (doesn’t need to cost an arm and a leg - I use a $30 Behringer UCA 202 and I’m very happy with the results).
That’s a good question. I don’t know what kind of soundcard it has. I’ve been hoping this isn’t the issue. My fear is that this a hardware problem with my machine.

Thanks for the reply!

Recording Latency as opposed to Machine Latency. All Recording Latency Correction does is effectively play your click track to you well ahead of time so the live performance arrives on the drive in good time instead of well behind which is where the machine would normally want to put it. Anything that affects that dance affects the sync accuracy. Disk fragmentation slows a machine down slightly every time you record something. Serious cases can affect sound sync or even how long you have to wait for files to record and play back. How full are the drives and do you defragment and error check?

You can get into trouble with extreme drives like multiple terabyte. Those can get extremely sloppy as they fill up. All drives start getting sloppy as they approach being full.

Disconnect from the network and turn the virus protection off. That can cause variable delay problems.

I’m curious how you got around Machine Latency. That’s the one that feeds the real-time you back to yourself during the show. That one is almost always delayed and is nailed to the hardware. That’s one reason we like the UCA202 for overdubbing. You listen to the UCA202 instead of the mixer or computer and it delivers a theatrically perfect show to your headphones.

http://www.kozco.com/tech/audacity/pix/peaveyUCA202Lenovo.jpg

That may still not help you if the machine is wandering.

Koz

Thanks for the reply, I’ll check storage levels, kill virus protection, and defrag. You also said, “I’m curious how you got around Machine Latency. That’s the one that feeds the real-time you back to yourself during the show. That one is almost always delayed and is nailed to the hardware.”

Not sure I quite get what you’re asking (or curious about, or even referring to, which is a reflection of my ignorance, not your communication skills). But to clarify, when I am overdubbing something (let’s say a lead guitar on a pre-recorded rhythm guitar track), the computer is ONLY playing me the rhythm guitar track. I hear the lead guitar in real time because I am mixing my live signal (in my phones/monitors) in with the playback from computer.

My mixer is configured like this:
INPUTS:

  1. Channel 1: Vocal mic
  2. Channel 2: Guitar
    note: I only use one at a time.
  3. Channel 5-6: computer

OUTPUTS:

  1. Main Output: to computer
    Phones Split two ways:
    2a. Headphones
    2b. To receiver, powering studio monitors.

Channels 1 and 2 are unmuted, meaning that the signal is being sent out of the mixer TO the computer via the Main Output, and being sent to the monitor mix for my phones/mons.
Channels 5-6 (a stereo channel) is muted, meaning that the signal does not get sent to the Main Output, but DOES stay in the monitor mix.
SO, in the scenario above where I am recording a lead guitar over a rhythm guitar track, I hear in my phones AND in the studio monitor:

  1. The playback from the computer.
  2. The lead guitar direct from source (plugged in directly, or mic’d)

So I don’t know if that answers your question, but the machine is never giving back to me what I am recording AS I am recording it; it’s only giving me what’s already recording. But as you can see, this “un-uniform” latency rate is making overdubbing a somewhat futile effort, because while -180ms might be perfect for one take, when I record the next, -180ms is either an over-correction or an under-correction.

OK, we’re clear on the error.
Thank you for the detail. Many people, me included, find it helpful to listen to our own voice in real time during the overdubbing performance. You don’t work that way, so that problem just never comes up for you.

That still leaves an apparent wandering Record Latency. The 10,000 foot view of this is the hard drive is being used as a real time recorder and player at the same time. The difference between the play time and the record time is Recording Latency and the Audacity Latency Correction attempts to correct that, but it’s a static correction. You set it once and we hope to goodness that the delays don’t change over the course of your recording career.

But they can change. As above, defragmentation, scattered files on your hard drive, can cause a significant change in delay from song to song. In a village library, it’s the equivalent of taking out a book, but having to collect all the pages from different shelves. A ten minute task can turn into a weeks worth of work. You think you’re simply playing a sound file, but the hard drive is going nuts trying to assemble the song from tiny fragments…and oh, by the way, it’s also trying to record your singing voice at the same time.

It’s worth checking.

Koz

Hi Koz!

To be clear, I do listen to my own voice when overdubbing vocal tracks: Because my mic is going through the mixer, as well as the computer (what I am recording on to), I am not only able to hear myself sing with the music, but I can adjust the mix of the two, and—of course—adjust the overall volume. I simply do it on my mixer.

Are you saying that, to listen to your voice during overdubbing, you tell Audacity to playback what it is recording, all simultaneously? (If so, that’s pretty wild.)

I fear the above discussion may be a little o/t (though it’s certainly interesting). I appreciate your thoughts on what might be causing the changes in latency. I’m going to do all I can to clean up the machine to keep it running as smoothly as possible.

This thread is inspiring to start a new one, as I am curious about something: In my micro-analysis of the latency issues, have I merely discovered something that everyone experiences? In other words, if the latency varies by 8 milliseconds from one time to the next, I may not be able to hear it. And unless you were zoomed in nearly all the way, you wouldn’t even see it. So I’m going to start a thread to request that everyone do a modified latency test…

I concur with Steve’s and Koz’s observations. There may be variations in recording latency from recording to recording. The more tasks you have running (or are permitted to run when they want to), the more variability you will have.

See Missing features - Audacity Support especially points 22 and 23 about creating hardware or software recording profiles so your machine is in a known state when recording.

Do you want to vote for automatic latency correction in Audacity? It really should not be that hard to do, taking into account machine variability from one time to the next. But we are very short of developer resources right now to do anything major.

Meantime for anyone who gets over to the latest Nightly Build which enables support for the WASAPI API, recording latency using Windows WASAPI host in Audacity is highly variable from time to time. This will be in addition to machine latency.


Transport > Software Playthrough (on/off). It inevitably has considerable latency because the computer pushes the sound from input to output, so it will be a while before you hear yourself. Stick with your current arrangement.


Gale

Hi Gale,

Thanks for the pointers on setting up the profiles. Really appreciate that.

As for the automatic latency correction, in theory that sounds great if it works. Would it still give you the option to set it manually? And if it did come into existence, would the feature recalibrate latency every time you record, or just once per session, or just once upon initial setup?

As long as it behaves correctly, I think it would be a great feature. It occurs to me that when I speak to my friends who do home and studio recording, none of them have ever mentioned latency, and when I mention it, they seem confused. I guess this in an auto feature in most other applications, from the small ones such as Meteor, to the bigger ones such as ProTools, Cakewalk, GarageBand? I really am asking that, because I don’t know. Either way, I find Audacity to be the best recording program out there if for no other reason than it really doesn’t get in your way. But if the latency correction could be automated, I suppose that would be a useful thing.

The grown-up programs don’t use the built-in computer sound services. They use custom software drivers and packages that purposely create new sound pathways that can greatly minimize delays. Audacity can’t do that because that costs money and also the program has to work seamlessly across the three major computer types.

We can’t tell people they can do Nashville-type, world-class overdubbing – but only if they’re on a Mac.

I responded to your call for Latency Test performances. Usually when the test wanders (as mine does) you can’t hear it because the error is really tiny. Yours may not be so tiny because you heard it first in the performance and then went looking for the reason. Some overly obsessive posters complain bitterly about errors neither they nor anyone else has ever actually heard.

Koz

A music major friend of mine once asked me, “What makes you think all the instruments in the orchestra are starting at the same time?” Koz

Many users are not doing overdub recording, so for them, latency is not an issue.
For many other users, the default settings (100/-130) work reasonably well without adjustment, though for overdub recording it is highly recommended that this setting is checked (as per the manual).

This is less of an issue for programs that use low latency ASIO drivers, though the issues still exists. Most of the big DAW program manuals include a section on setting up ASIO to avoid latency problems. (I used to use an old version of Cakewalk Pro that had a latency correction set-up that was very similar to that found in Audacity).

Absolutely :slight_smile:
For many small jobs I find that I can get the job done with Audacity in less time than it takes some of the bigger programs to launch.

I think it would just try to get it right every time. Audacity knows where in the track you started to record, and it would try to line up the first “non-noise” signal you recorded with the known start point. You would still be able to adjust the variable backward shift Audacity came up with (by a fixed amount).

The third-party PortAudio AudioIO library we use actually has automatic latency correction, but it doesn’t work all that well. We used to use that automatic correction up until version 1.3.7. However when we tested the new support in that version for Windows DirectSound we found the automatic correction was so poor with DirectSound (and not that good with MME) that we pulled out the autocorrection. From 1.3.7 on we just apply whatever fixed correction the user sets in Preferences.

In the absence of shipped ASIO support in Audacity, and given the wide variation in operating systems and system requirements we support, there will probably always be some demand for “automatic” correction.


Gale

Hi Gale,

Given your comments about how it should work every time, you’ve got my vote. And if I can double vote (as I’ve been lurking for three years), I’d like to vote for it again!

This is an old thread but it was in the top 3 hits on google when I searched for “audacity latency changes every time” so I guess this is still problem and thought I would post what I found in the hopes it helps someone else.

I am using windows 10 on a wimpy machine and like the OP I shut everything off when I am recording. That said, I had been working happily with minimal latency variation with the built in mic on my machine until I plugged in a USB audio interface. I tried using it and wasn’t happy with the result so went back to my built in mic and found after that every run I had variations in a range of 0-90 mSec, which is easily audible.

Anyway after reading all the suggestions above I tried a number of things including shutting off anti-virus and trying different storage, all to no avail. What did work for me and got me back to a variation in the single digit mSec range was to select the MME audio host.

My guess is when I plugged in the USB interface it switched the host for me to connect to the new device or something similar, and the choice persisted when I unplugged the USB interface.

My two cents.

Thanks for the input. If you select MME host in Audacity before you connect the USB interface, then disconnect the interface, I assume then that you would not get considerable latency variation with the built-in mic.

If the interface were incompatible with MME, then it would error in Audacity with MME host selected.


Gale