Your Sonos Ace microphone stops working during calls. People tell you it sounds muffled, distant, or cuts in and out. Voice recordings come back silent. The headset plays music fine, but the moment you take a call, everyone struggles to hear you. This is almost always a software setting or a blocked mesh, not a dead headset.
The single most common cause is the Sonos app defaulting to the wrong audio profile. Open the Sonos app and check which mode the headset is in. If it's stuck in TV Audio Swap mode while you're on a Bluetooth call, the mic behaves unpredictably. Tap the mode toggle in the app and force it back to Bluetooth mode before every call. This clears the issue about 80% of the time.
Why the Sonos Ace Mic Acts Up
Before running through the full fix list, here is what usually causes the problem:
- Stuck in TV Audio Swap mode: the headset prioritizes the soundbar connection and the Bluetooth mic handoff gets confused
- Dirt on the mic mesh: each earcup has a small mic grille, and skin oil or dust blocks it
- Bluetooth profile collision: the phone switches between hands-free and stereo profiles mid-call
- Sonos app bug: the 2024 app redesign introduced connection state glitches that affect mic routing
- Firmware version mismatch: early firmware builds had known mic dropout, and the headset needs an update
Check the Mode in the Sonos App
Open the Sonos app and tap the Sonos Ace card at the top of the screen. Look for the mode indicator. If it says TV Audio Swap or shows a soundbar icon, the headset is waiting for a soundbar signal, not listening to your phone. Tap the mode toggle to switch back to Bluetooth. The microphone should start working within a second.
This is the most common trap with the Sonos Ace. The headset remembers the last mode it was in, so if you used TV Audio Swap to watch a movie and then took a phone call without switching back, the mic sits idle. Make this the first thing you check every time.
Clean the Microphone Openings
Each earcup has a tiny microphone grille near the bottom edge. Take a look with bright light and you will see a small mesh circle. Earwax, hair product, and general pocket lint collect there fast. The mic still works, but the sound gets muffled to the point where callers hear you as underwater or distant.
Grab a clean, soft, dry toothbrush and gently sweep across both microphone grilles. Do not push anything sharp into the mesh. If the buildup is stubborn, press a piece of low-tack masking tape gently against the mesh to lift debris without forcing it deeper. Let the headset sit for a minute before testing a call.
Disconnect and Reconnect Bluetooth
The Sonos Ace can get stuck in a weird state where the Bluetooth link thinks it is using the hands-free profile but the phone disagrees. Go into your phone's Bluetooth settings, tap the (i) or gear icon next to Sonos Ace, and select Forget This Device. Then put the headset back into pairing mode by holding the Power/Bluetooth button until the LED flashes white. Re-pair from your phone's Bluetooth menu.
This forces a clean connection handshake and usually resolves any profile negotiation failures that cause the mic to be unresponsive or crackly.
Test the Mic Over USB-C
If you have the included USB-C cable, plug the Sonos Ace into your computer and set the computer's input device to the Sonos Ace. USB-C audio mode bypasses Bluetooth entirely and uses a direct digital link with far better mic quality. If the mic works perfectly over USB-C but fails over Bluetooth, you have a wireless connection issue, not a hardware microphone failure.
This test is the fastest way to rule out a dead mic. USB-C audio mode requires firmware 1.2 or later, so if the headset doesn't show up as an audio input over the wire, update the firmware first.
Update the Firmware Through the Sonos App
Sonos pushes firmware updates through the app, not silently over the air. Open the Sonos app, go to Settings > System > Product Updates. If an update is available for the Ace, install it. The headset needs to stay connected and powered for the update to complete, so plug it in via USB-C during the process.
Early production Sonos Ace units shipped with firmware that had known mic-handling bugs. The 1.2 update specifically addressed Bluetooth call audio routing. If you are still on the launch firmware, a single update may fix every mic problem you are having.
Check App Permissions on Your Phone
On an iPhone, go to Settings > Privacy > Microphone and make sure the apps you use for calls have the toggle enabled. On Android, go to Settings > Apps > pick the app > Permissions > Microphone and set it to Allow. A system update sometimes resets these permissions.
The Sonos Ace itself does not have an independent mic permission you adjust on the headset side. The phone controls which apps can access the microphone, and if an app lost permission, the headset sends silence even though everything else works.
Try TV Audio Swap as a Diagnostic Tool
This sounds backward, but use TV Audio Swap to test the microphones. Pair the Sonos Ace with a compatible Sonos soundbar (Arc, Beam Gen 2, or Ray) and enable TV Audio Swap. The headsets internal microphones calibrate themselves during the swap handshake. If the swap completes without error, both mics are physically functional. If the swap fails or the app shows a mic error during the process, one of the microphones likely has a hardware problem.
This trick is specific to the Sonos Ace and uses the built-in mic calibration that happens during the swap handshake.
Reset the Headset the Right Way
The Sonos Ace does not have a simple button-hold reset. The official factory reset method is to hold the Power/Bluetooth button while plugging in the USB-C cable. Keep holding the button for about five seconds until you see the LED flash amber, then white. This clears all paired devices and any internal state that might be causing the mic to misbehave.
After the reset, walk through the initial pairing setup in the Sonos app again. Test the mic on a call before reconnecting TV Audio Swap or any other features. If the mic works cleanly after the reset, something in the previous connection state was causing the issue.