Skip to content
unhingedpandaPublic

About

Control Sony WH-1000XM4 / WH-1000XM5 headphones from the macOS menu bar. Noise cancelling, EQ, Speak-to-Chat and more, no phone needed.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

Cans app icon

Cans

Your Sony WH-1000XM4 and WH-1000XM5, one click from the Mac menu bar.
Noise cancelling, EQ, Speak-to-Chat and more, without reaching for your phone.

Download for macOS

Free and open source · macOS 14+ · 2.4 MB download · no account; the only network call is the update check

Cans: the menu bar panel with noise control, scenes, now playing and the EQ faders

Cans switching noise control, sweeping the ambient level, recalling scenes, changing EQ, and browsing Inserts on a real WH-1000XM4
Recorded live on a WH-1000XM4. Every change is read back from the headphones.

What it does

Noise control in one click
Noise cancelling, Ambient or Off, a 20-step ambient fader, Focus on Voice, and Office / Aware scenes. ⌥⌘A switches from anywhere.

Switching from noise cancelling to ambient; the illustration's sound waves grow with the level
EQ on real faders
Sony's presets, Clear Bass and a five-band curve. Save your own curves on the Mac.

The EQ faders moving to Bass Boost, then Bright
Every setting, one level down
Speak-to-Chat, NC Optimizer with air pressure, DSEE Extreme, multipoint, touch controls, auto power off and more.

Browsing the Inserts pages: Speak-to-Chat, NC Optimizer, Sound and Controls
Your mode, in the menu bar
The icon's band lights up to show Off, Ambient or Noise cancelling, next to your battery level.

The Cans menu bar icon in its three states: Off, Ambient and Noise cancelling

Cans also shows what's playing in any app (Spotify, Music, browsers…) with play/pause/skip, plus battery, codec and DSEE status.

Light and dark

It follows your Mac's appearance.

The Cans panel in dark mode and light mode, side by side

Install

With Homebrew

brew install --cask unhingedpanda/tap/cans

Or by hand: download Cans.zip from the latest release, unzip it, and move Cans.app to /Applications. You can verify the download with shasum -a 256 -c Cans.zip.sha256.

First launch. Cans isn't notarized yet (that needs a paid Apple developer account), so macOS blocks it the first time you open it:

  • macOS 15 and later: open Cans once, then go to System Settings → Privacy & Security, click Open Anyway next to Cans, and confirm.
  • macOS 14: right-click Cans.app → Open.

Then allow Bluetooth access when asked.

Good to know

  • Updates. From 1.0.2, Cans checks GitHub once a day and marks Inserts with an amber dot when a new version is ready; install it from Inserts → App. Turn Automatic updates off there if you'd rather not. Coming from 1.0.1 or earlier? Update once by hand or with brew upgrade --cask cans.
  • One app at a time. Only one device can hold Sony's control channel. If Cans says Busy, close Sound Connect on your phone; Cans retries on its own.
  • Keyboard. ⌥⌘A toggles NC and Ambient from anywhere. While the panel is open, keys 1/2/3 pick Off/NC/Ambient.
  • Light footprint. About 8–18 MB of memory, 0% CPU when idle, and about 0.2% while the animated panel is open.
  • Out of scope. Phone-only Sound Connect features: adaptive sound control, 360 Reality Audio setup, and the activity log. Volume stays with your Mac's volume keys, because the headphones ignore volume changes while nothing is playing.
  • Easter eggs. The headphone illustration reacts to your listening mode, and it hides a couple of surprises.
Full compatibility
WH-1000XM4 WH-1000XM5
Noise cancelling / Ambient / Off, ambient level, Focus on Voice ✓ ✓
Battery, EQ presets, Clear Bass + 5-band custom EQ, saved Mac presets ✓ ✓
Codec and DSEE status ✓ –
Now playing from any app, play/pause/skip ✓ ✓
Speak-to-Chat (on/off, sensitivity, timeout, voice focus) ✓ –
NC Optimizer with air-pressure readout ✓ –
DSEE Extreme, sound quality vs. stable connection ✓ –
Touch panel, custom button, pause when taken off, auto power off ✓ –
Multipoint, voice guidance, power off ✓ –

Every XM4 command was verified on a real WH-1000XM4 (firmware 3.0.1). XM5 support covers what the original XM5 Control app implemented; XM5 bug reports are very welcome.

Developers

Building, the protocol, how Now Playing works, and the end-to-end tests that run against real headphones are all in docs/DEVELOPMENT.md.

Credits

Cans started as a fork of XM5 Control by Maadlou (MIT). The protocol work draws on Gadgetbridge and mos9527/SonyHeadphonesClient. The headphone illustration is original artwork made for Cans; see CREDITS.md.

Cans is not affiliated with or endorsed by Sony. Sony, WH-1000XM4 and WH-1000XM5 are trademarks of Sony Group Corporation, used here only to identify compatible products.

Support

Cans is free and open source. If it saves you reaching for your phone, you can buy me a coffee.

Buy me a coffee

License

MIT. See LICENSE; the original copyright notice is kept.

About

Control Sony WH-1000XM4 / WH-1000XM5 headphones from the macOS menu bar. Noise cancelling, EQ, Speak-to-Chat and more, no phone needed.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages