• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Buffer size and Latency?

square.

Member
Joined
Jan 21, 2022
Messages
65
Likes
20
Hello ASR,

I was hoping that someone could tell me if there is an objectively good setting to choose within "MADIface series settings application" that I had to install for my RME ADI 2 FS dac.
1648837294191.png

Firstly is buffer size - What does this actually do? I've noticed change in sound quality as different values are chosen. Where the difference between 512 and 4096 is more noticable than the difference between 2048 and 4096. I'm not actually sure what its doing to the sound, but it does something.
Is there an objectively good buffer size?

The maximum Buffer size changes depending on my sample rate.
1648837413898.png

I use 96000Hz as my sample rate, because I use amazon music but nothing I listen to goes above 96000Hz.
This limits me to the maximum buffer size being 4096, as seen in the first screenshot.

The dac goes all the way up to
1648837468179.png

That, but I presume this is pointless as I only use amazon music which supports up to 192kHz.

What buffer size should I be using for music?

Thanks,
Square
 
The first one, buffer size, you want it as small as possible. What does it do? If defines how much buffer you want when processing packets. If low, you have a low latency but it requires more cpu on the host (your pc or mac); if high, latency increases but risk of having dropout decreases. Quality of the audio is the same (except if you get dropouts which sounds like no sound or silence or sound breaking nothing subtle).

The second one is the sample rate you want. 96k is fine in your case, but 48k will change nothing audibly.

RME has excellent documentation, jump to p57 in the ref Manual.
 
Last edited:
The first one, buffer size, you want it as small as possible. What does it do? If defines how much buffer you want when processing packets. If low, you have a low latency but it requires more cpu on the host (your pc or mac); if high, latency increases but risk of having dropout decreases. Quality of the audio is the same (except if you get dropouts which sounds like no sound or silence or sound breaking nothing subtle).

The second one is the sample rate you want. 96k is fine in your case, but 48k will change nothing audibly.

RME has excellent documentation, jump to p57 in the ref Manual.
Thanks so much!

So, 64 samples being the lowest setting - is the best setting to choose? My cpu is a Ryzen 5 3600, so I am sure it will be fine.
I've just tested and 512 samples is the first choice that doesnt sound awfully distorted and digital.

Also, I dont think i've heard a dropout before, is it very noticable?

Square
 
I'm a Windows guy and I assume that's a Mac...

Is that for recording or playback?

Buffers are required because of the multitasking operating system which is always multitasking, even if you're only running one application.

A buffer is like a storage tank or a long pipe. They don't affect sound quality unless they are too small.

A buffer is also a delay
(which you can calculate from the sample rate & buffer size). This is ONLY a problem if you are recording yourself while monitoring through the computer and the latency (delay) in your headphones makes it hard to perform.

Otherwise it's not a problem. A few more milliseconds of delay doesn't matter if you're listening to a 60-year old Beatles recording. ;) (Or of course if you're watching a video you don't want the audio delayed noticeably.)

There is a recording buffer and a playback buffer. When you record, the digital audio stream flows (from the ADC) at a smooth-constant rate into the buffer. When the operating system gets-around to it, it reads the buffer in a quick burst and writes the data to your hard drive. If the buffer doesn't get read in time you get buffer overflow and a glitch.

The playback buffer works the opposite way. The buffer is filled in a quick-burst and the audio data flows-out (to your DAC) at a smooth-constant rate. If the buffer doesn't get re-filled in-time, you get buffer underflow and a glitch.
 
Its a windows pc, and im not sure if the program is specifically for mixing or playback or both, but I use it for playback.

Thanks a lot for the useful information, very interesting read.
 
A buffer is like a storage tank or a long pipe. They don't affect sound quality unless they are too small.

This is a really good analogy. Buffers are small, temporary storage of data, in this case audio data.

Delay = Buffer size / Sample rate

So, for instance, 96 KHz with a 4096 sample buffer size should give you: 4096 / 96000 = 0.04267 seconds, or 42.67 milliseconds of delay.

Your computer should be fine with e.g. 1024 samples at 96 KHz, which should give you a 10.67 millisecond delay -- completely unnoticeable, even if you were to do very time sensitive things, like monitoring yourself playing and recording live instruments.

The lower you set the buffer, the harder your computer has to work to make sure the buffer never runs empty. When the buffer do run empty, you will hear clicks and pops in the audio. There will be very brief moments where there is literately no more audio data to output, until the buffer is filled up with audio data again.
 
Last edited:
These settings are really more audio production, a lot of the time that buffer setting doesn't affect the windows audio stream and will only affect applications that utilize ASIO. Not sure how RME handles that. If you're not doing time critical audio work just set it 64 and samples and forget about. Regular ole audio playback will never stress the computer or interface driver to the point of having to raise the buffer.
 
Setting as high as you want if you are not doing any DAW work or just listening. The least to stress you CPU.
 
Back
Top Bottom