top of page
joepampel

Low Latency Recording with Logic

What is latency?

Latency implies here there that things that should be simultaneous are not. In recording, we are often over-dubbing new tracks over old ones either to replace or accompany earlier recordings. In order to play along in-time, the playback sound and the sounds we are recording have to be in near perfect sync.


Why do we have latency?

In the analog world, everything did happen in real-time. There were no calculations to do when creating a reverb effect or flanging. We piped music to a speaker in a tiled room downstairs, mic'd it up and recorded it. In the modern idiom, the majority of these kinds of things happen inside of a computer as binary data. Things get turned from analog (your mic signal) to digital, then data gets added and subtracted and so on (your mixer, routing, plugins etc) and finally written to disk. All of that takes time to do, and depending on what needs to be done and your machine's capabilities, you might hear a delay. We are simulating an analog signal chain in software, and there are drawbacks to that.


How to minimize it during tracking:

First and foremost, getting rid of latency means tuning the input buffer properly. Recording and Playback are not the same problem to solve for a computer. Playback is reading off of the hard disk and then doing calculations. Recording is taking in a live signal in real time, doing the calculations in real time, and then writing to disk. The big difference is that in playback you can 'read ahead' on the disk to queue up data where in a live recording situation, you cannot. [Computers have been using 'read ahead' predictive algorithms for a very long time to make them more responsive.].

The buffer is the memory that holds the jobs for the CPU, the CPU is generally much faster than the other systems in the computer and in order to use it efficiently we queue up data so that we always have stuff to "feed it". If you look at diagrams of CPUs, there is a cache called the L1 Cache that is built into the CPU chip - it is the fastest memory in the machine, and is expensive enough to make that we only use it in CPUs. CPUs may also have an L2 and even an L3 (such as the Apple M1 does) in order to ensure that the CPU is kept running as efficiently as possible. All of these local cache's are a lot faster than regular RAM, and regular RAM is orders of magnitude faster than disk.


Another issue is related to the running processes (software) and their priority. Desktop operating systems are not "real time" systems. They have processes running all the time that may interrupt the stuff you want to do. A classic example is Microsoft Windows giving priority to the user interface. If the UI needs to do something, it will push to the head of the line every time. Net net, the less stuff on your studio machine, the better. Don't install games or surf the web or whatever. Keep it as clean and simple and dedicated as you can.


  1. Only run your DAW while working on music. Shut down every other app, or better yet make sure your machine does not automatically start anything, and then shut down and restart it to ensure a clean environment.

  2. When overdubbing, try not to use plugins. The more the computer has to do, the more likely it is you will run into latency issues. If you really need to hear the backing track in a more 'mixed' condition, you bounce it with effects to another track and print it in that processed condition, and then just monitor that track. Since the track has all of the processing already done, it will not add latency.

  3. Low Latency Mode

    Turn on Low Latency Mode to temporarily disable plugins that contribute to more than 0.5 ms of latency. You can access this mode by clicking Record--> Low Latency Monitoring Mode. [You can also customize the control bar & add a button for Low Latency Mode. ]

  4. Adjust the I/O buffer size

    Increase the I/O buffer size to the next highest setting, then play your session back. If you still experience interruptions, increase the buffer size until they no longer occur. 

  5. Adjust the Limit slider

    Set the maximum amount of allowable plug-in delay in milliseconds by adjusting the Limit slider. 


While it's not possible to completely eliminate latency, you can minimize it. A latency time of around 10ms or less usually won't affect the recording process. 


Can't I just buy a CPU with more cores?

It depends. The issue is that not all problems can be solved by throwing more CPUs at them. In order to run on >1 core, the job itself needs to be of the type that can be broken into pieces, run in parallel, and then put back together. Some jobs can't be. In consulting we would talk about the 'mythical man-month' which is a famous book about how adding resources to some kinds of jobs can actually make them slower. I often simplified that idea to having 9 women pregnant for one month would never produce a child. It's not that kind of job.


Additionally, in order to break jobs up you now have more housekeeping to do - which jobs am I running, where are they, etc. Often you lose a core to just doing this work, just keeping track of your other work. It can help sometimes, but it is not a universal fix. If I put a more powerful engine in my race car but don't increase my traction with larger or better tires, I may not gain any speed on the track and the car may just become harder to drive. These systems need to be dealt with holistically.

Your best bet is generally to look at performance testing run by reputable sites who are using the software the way you are using it. The actual performance is very complicated - it will depend on a number of factors. I have used some Logic performance testing software and they sometimes spin up lots MIDI instruments to test out how many tracks my system can handle. I tend to record acoustic instruments, so it's not a very useful measurement for me. I have some (hopefully) useful general estimates on the page about sizing: https://www.joepampel.com/post/home-recording-it-basics-faq-for-logicpro-x


Also look at sites that test the different models being offered; the M3 may be slower than the M2 for Logic (as an example - just making one up here) because it was really optimized for editing Video, or some other specialized task. More is not always "better". In a past life I used to routinely shut down our offshore devs who insisted they needed huge physical machines to run their database apps faster. I would stand one up for them, and then I would also stand up a single CPU VM for me, and beat them at a tiny fraction of the cost. It is important to understand the job you want the machine to do and which set of features will optimize for that.





Sources:


More about cache than you would ever want to know:

A whole lot about CPU cache: https://en.wikipedia.org/wiki/CPU_cache#


10 views0 comments

Recent Posts

See All

Comentarios


Post: Blog2_Post
bottom of page