Q&A: I/O Buffer Size and Latency

The Menu in Pro Tools for changing your I/O Buffer Size.
Q: So what’s the deal with I/O buffer size? Why does this affect my latency when I’m recording?
: The basic function of the I/O buffer size is to allow you to make your computer run “better” depending on what you are trying to accomplish.
Short Answer:
When recording, you want a smaller buffer size (if you’re monitoring through your DAW).
When mixing you want a larger buffer size.
Longer Answer:
In order to understand your I/O buffer you probably need to know a bit about how DAW’s handle audio signals. The audio as it is recorded/played/processed in real time is sent through the processor. This isn’t a continuous, unbroken stream of activity. It actually happens in chunks. It’s kind of like as you record a guitar track, your CPU is taking bites of it as it comes in and spits out that part of the audio file.
The size of the bites that the computer takes out of the audio file is the I/O buffer size. The larger the buffer size, the bigger the bite.
So how does this create/reduce latency?
The “Biting” metaphor works pretty well here. If you take bigger bites, you’ll have to chew longer, which is why it your computer is late monitoring an input when the buffer size is too large.
If you take smaller bites, then you can chew for a shorter amount of time, which means you’ll get to the next bite faster. That’s why a small buffer size gets you lets latency when monitoring an input.
So What?
So if you are needing to monitor an input through your DAW, i.e. your signal goes [Input -> Recording Interface-> Track inside your DAW -> Recording Interface -> Output] then you want a smaller buffer size so that the “inside your DAW” part of your signal chain goes as fast as possible.
Note: You also have to keep your session from over-loading your processor when you’re using a small buffer size because it can’t handle lots of plugins, effects, or huge track counts. It’s like being told to finish a mountain of food by nibbling.
If you are mixing, and don’t need to hear any of your inputs, then latency isn’t an issue and you can crank that buffer size up. I’d suggest taking it up in steps as you need it. If you’re getting too much lag, “DAE Playback Errors”, or skips in playback, then take your buffer size up one step.


[...] Links « Q&A: I/O Buffer Size and Latency [...]