Two speakers can sound perfectly synced when a group first starts playing, then slowly slip apart over the next few minutes into a phasey, doubled, almost echo-like sound. That's drift: a gap that grows because no two devices' internal clocks run at exactly the same speed, and a tiny difference compounds the longer playback continues.
This is a different problem to the two it gets confused with most. A stutter is a sudden, repeated glitch, audible the instant it happens and then gone. Lag is a fixed delay that stays the same size for as long as you listen. Drift does neither: it starts at zero, and gets steadily worse the longer the group plays, often resetting to zero the moment you rebuild the group or switch it off and back on. Below is why it happens, what Audio MIDI Setup's Drift Correction setting actually does about it, how to turn it on, and the honest limit of what it can fix.
Why do grouped speakers gradually drift out of sync?
Every audio device, wired or wireless, keeps its own internal clock, a timer counting out a fixed number of samples every second. When you group two or more outputs together, macOS doesn't merge those clocks into one shared timer. It picks one device as the group's primary time source and has every other member play against it. The problem is that no two clocks, even two units of the exact same model, run at truly identical speeds. Quartz clocks in consumer audio hardware are typically accurate to within a few dozen parts per million, not zero, and that tiny mismatch is what drift actually is.
A few parts per million sounds negligible, and for a second or two it is. The issue is that it doesn't reset itself. It keeps accumulating for as long as the two devices keep playing, so a gap that's inaudible in the first ten seconds can be a clearly audible phasing or echo effect five or ten minutes later. That slow, one-directional build-up is the entire signature of drift, and it's what separates it from a sudden glitch or a delay that never changes.
What does Drift Correction actually do?
Audio MIDI Setup has a setting built for exactly this. Inside a Multi-Output Device, one member is treated as the primary clock, the timing source every other device is meant to follow, and each of the remaining devices has its own Drift Correction checkbox. Ticking it tells macOS to periodically check that device's clock against the primary's and nudge it back into line, rather than letting the two clocks run independently and quietly separate for as long as the group keeps playing.
It's a correction, not a merge. The two clocks are still two separate pieces of hardware ticking at their own slightly different speeds. What Drift Correction changes is how long macOS lets that difference build up before pulling it back towards zero, so the gap stays small and mostly inaudible instead of growing without limit.
Every feature free for 30 days. No account, no card details.
Download for MacHow do I turn on Drift Correction for a Multi-Output Device?
Open Audio MIDI Setup (Applications > Utilities), and select your Multi-Output Device in the left-hand list. The window on the right lists every device in the group, with a Clock Source column and a Drift Correction column next to each one.
- Confirm which device is set as the clock source. One device in the list is the primary, the timing reference the rest of the group follows. This is usually whichever device macOS picked automatically when the group was built.
- Tick Drift Correction for every other device in the group. The primary device itself doesn't need it ticked, since it's the reference everything else is being corrected against, not the other way round.
- Leave the setting on. There's no reason to switch it off again once it's ticked. It only does anything while a gap is actually starting to open up, and stays inactive the rest of the time.
Which device should get Drift Correction?
In practice it's rarely a coin toss. The device with the less stable clock is almost always the one that needs correcting, and that's most often a Bluetooth speaker, or a cheaper USB device with a less precise internal timer. Bluetooth in particular buffers and paces audio less precisely than a wired connection to begin with, so it tends to be the side of the pair that drifts first and by the largest amount.
A directly wired, higher quality device, built-in speakers, a good USB DAC, or anything connected over a stable cable, is more often the one left as the primary clock source rather than the one being corrected. If your group mixes a wired output with a Bluetooth one, that's usually the pairing to check first: leave the wired device as reference, tick Drift Correction on the Bluetooth one.
Does Drift Correction create perfect, sample-accurate sync?
No, and it's worth being honest about that rather than promising more than the setting actually delivers. Drift Correction reduces the growing gap dramatically, but the two devices are still two separate clocks being nudged back into line periodically, not a single shared timer. Some very small residual drift is normal and expected, especially when Bluetooth is part of the group, because its timing is inherently coarser than a wired connection's. The goal is keeping the gap small enough to stay inaudible, not eliminating it entirely.
Where Chorus fits, and where it does not
Chorus groups outputs using the same multi-output mechanism macOS already provides, the same one behind a Multi-Output Device in Audio MIDI Setup, so it shares the identical clock and Drift Correction behaviour. It isn't a separate or better drift technology sitting underneath Chorus. There's no kernel extension and no audio driver involved, just the same system-level correction Apple built, so if a pairing genuinely drifts, that has to be set right in Audio MIDI Setup regardless of which app is used to group the devices afterwards.
What Chorus does help with is everything that comes after the setting is correct. Once Drift Correction is ticked on the right device, rebuilding that same group, or switching to it, is one click or one keyboard shortcut, rather than reopening Audio MIDI Setup and re-selecting devices by hand each time. Its per-device balance also holds between sessions, so recreating the group doesn't mean resetting each speaker's level from scratch.
For the step-by-step on building a Multi-Output Device, see Apple's own guide to Audio MIDI Setup.
Frequently asked questions
Why do grouped speakers gradually drift out of sync?
Because no two devices run on exactly the same clock. Every output has its own internal timer counting out samples per second, and even a tiny difference between two of them, too small to hear at first, adds up the longer playback runs. A gap that starts at zero grows minute by minute until it's clearly audible.
Is drift the same thing as stutter or lag?
No. Stutter is a sudden, repeated glitch or dropout, audible the moment it happens and then gone. Lag is a fixed delay that stays the same size for as long as you listen. Drift is neither: it's a gap that starts at zero and keeps slowly widening the longer the group plays, then usually resets to zero when the group is rebuilt.
What does Drift Correction do in Audio MIDI Setup?
It marks a device inside a Multi-Output Device as one that should be periodically nudged back into line with the group's primary clock, rather than left to run on its own. Instead of the small timing difference between two clocks quietly accumulating for as long as the group plays, macOS keeps correcting it back towards zero.
Which device should have Drift Correction turned on?
Usually the device with the less stable clock, most often a Bluetooth speaker or a cheaper USB device. A directly wired, higher quality device is more commonly left as the primary clock the rest of the group is corrected against, rather than the one being corrected itself.
Does Chorus fix audio drift?
No. Chorus groups outputs using the same underlying clock and Drift Correction mechanism as a plain Multi-Output Device, so it inherits the identical behaviour rather than offering a different or better correction technology. Drift Correction itself is set in Audio MIDI Setup. Once it's set correctly, Chorus makes it faster to rebuild or reselect that group without reopening Audio MIDI Setup each time.