For an M1 Macbook Pro or M macbooks, what buffer size do you use using Keylab Essential?

For an M1 Macbook Pro or generally apple silicon macbooks, what buffer size do you use? When using Analog Lab Pro/V, my buffer defaults to 512 but I dont’ know if that’s the best setting I should be using.

HI @knowsnomusic

This is common to ALL computer based workstations and nothing idiosyncratic to Macs etc…

Ideally you want your buffer size as small as possible as latency and buffer size are related. What sampling rate your system is set to is the another variable we have to consider here too.

I generally run at 128 samples at 48KHz here, i can go right down to 32 samples though if i need VERY low latency, but that costs system resources and 128 is generally a nice compromise between the two, YMMV here of course though.

Try the lowest buffer size you can on your system, if it’s too low you’ll likely get crackles, pops and all kinds of artefacts, if this is the case just take it up to the next available setting and see how that performs.
Keep doing the above until you’re happy.

Lower buffer sizes and latency are generally more achievable on a purpose made audio interface rather than inbuilt sound devices.
HTH!

1 Like

@matjones Thank you for the detailed response. I only mentioned the M1 macs because they were a relatively powerful processor a few years ago so I thought it would have made a difference.
When setting the buffer, do you target a certain latency(ms)? What ms do you usually target when controlling software instruments with your Midi controller?

It’s a balancing act between setting the size too high that there’s too much latency and setting it too low that you get audio breakup and crackling. You need to experiment to see what works best for you. That’s why the setting is variable. If there was a one-for-all setting, it wouldn’t need to be variable, it would be fixed at that setting.

1 Like

Hey @knowsnomusic

As @Jon_Vincent states, it’s a balancing act between the factors we’ve laid out.
Possibly a simpler way of thinking about it is we all want as close a time zero in terms of a virtual synth to respond to us hitting a key, as in the case of a real acoustic piano… or any other musical instrument, a bassist wants to hear the note as soon as they play the string, not half a second later.

So, this is what we’re aiming for with the lowest buffer size possible on one’s own system.

TLDR: it’s about getting the virtual synth to play as quickly as possible after playing a note on the keyboard controlling it.

HTH!

1 Like

Thank you very much. Learning a lot here.
Is there a certain threshhold? I read about lowering until you hear some crackling sound and just adjust up from there. Does this threshhold actually affect the recording quality? Will the crackling sound be recorded?

No not with midi instruments. No sound is recorded at all. It would probably vary from DAW to DAW whether any crackling would be bounced out when you finally export your project as a flattened stereo file.

1 Like

@knowsnomusic
As you’ve just stated, find where and when crackle/pops etc appear and then increase the buffer size to where it stops.
One thing to bear in mind, as you use more resources in a project, you might find you’ll need to freeze some tracks or print some virtual synths in order to keep your system load as low as possible.
From what i understand about Macs, you have a fairly powerful machine there, so it shouldn’t be too much of an issue.
If you don’t already have a separate audio interface, that’s something you could consider in the future for better performance as your knowledge and experience grow.

It’s ALL a learning process and no one knows everything or can be expected to, so don’t feel weird or bad about it… We ALL had to start from the beginning at some point or another! :sunglasses:

HTH!

On Apple silicon macs, if the load of the plugin/instrument isn’t high enough, you could actually get worse performance results with high buffer sizes, due to the realtime demands being low enough for the process to be handed over to an low-energy core.

Regarding audio interfaces and latency/system performance, I don’t think there’s very big performance gains to be had by running an external interface. (Though if you want multiple I/O and better audio quality/conversion, it’s obviously another story.)

I agree, the internal speakers of my M1 Pro 16” sound very very good (for a laptop) with no noticeable latency.

However, I bought the Presonus 3.5 Eris monitors and their Audiobox Go.

I didn’t buy them due to latency issues or even the sound quality. My concern was that I didn’t want to blow up the internal speakers, while they sound great for a laptop, I don’t think they would sound that great or last that long when playing around with heavy basses etc, especially at higher volumes.

Very happy with my speakers plus they weren’t expensive

Yeah. I meant from a purely latency/cpu-load perspective. The speakers, or even the headphone amps in the laptops, won’t really be able to compete with even lower-range “proper” stuff.

On Logic Pro on an M1 macbook pro, I actually got slightly worse latency when adjusting buffer rate when using an audio interface (Audient Evo 8) which I found surprising. Is this a fluke or is this possible?

Hi all,

@knowsnomusic,

Latency really is’nt that simple.

How did you messure the actual latency?

I’m on Windows. I don’t know much about MAC.
But-

Yes i will assume it’s possible that a external soundcard can introduce more total latency than a internal soundcard that come with a computer.

In this topics case we talk about using a midi instrument and sending audio from the computer only.
The buffer setting and the sample rate setting it self introduce the same latency for all soundcards - at least in theory.
But latency is also introduced by drivers, audio converters and soundcard connections.
So the total latency can be higher for an external soundcard. It can be the other way around too.
Latency is also introduced by the applications you use as it take time to process data - and a small amount of latency is also introduced by the MIDI connection.
So some latency variables can in a way be hidden and different from system to system, from hardware to hardware and from software to software.

On a MAC you use the Core audio driver in all cases i think, so i guess the driver latency in it self is the same.
And the MIDI latency will be the same.
But there can still be a difference in the latency introduced by the other variables. For example USB buffers can be very high for an external soundcard. Perhaps from 1 to 6 ms. If it’s high it may introduce more latency than by using the internal soundcard, if the internal soundcard have faster connections.
The output connection to headphones or speakers can also introduce latency.
And the distance from a soundsource add latency. Around 1 ms per foot.

Both internal and external soundcards come in different qualities and are more or less efficient. The options for connections and Audio quality can be different, and that often is the main reason to use an external soundcard.

If we also talk about sending audio to the computer, then there are latency to be found there too.
For example a standard internal microphone can introduce much latency.

Bluetooth gear still introduce much latency.

BTW: I agree the best settings for you will probably be the settings where you have the lowest latency without overloading your CPU or get other issues.

Hi @LBH

I measured using Logic Pro’s setting, by that I mean, what the settings says in the settings where I can change buffer. This difference is not visible when I used Analog Lab V standalone, but is seen when using Logic Pro. It might be something peculiar to Logic Pro and it being an Apple product maximizing Apple hardware to get the best latency it can get.

I assume you mean output and roundtrip messureement. Logic probably messure fine for what it messure. Lets say it messure everything, then you probably can trust the numbers. But in any case, then you can’t say any external soundcard allways will perform better latency wise. It depends. But as said, then latency is’nt everything to consider.