Skip to main content
Answered

macOS controller and Apple Silicon

  • February 17, 2026
  • 89 replies
  • 4326 views

Show first post

89 replies

Forum|alt.badge.img+10
  • Enthusiast II
  • July 7, 2026

I think sonos is a “single user” system, isn’t it? Doesn’t seem like an issue, as “my sonos” will always have “my keys” locally. yes?


Airgetlam

I don’t know. Nominally, for most of us, I think yes, but legally might be slightly different, especially given the number of ‘corporate’ accounts. Like I say, I am not a lawyer, nor am I very familiar with the various legal complications I think they need to be aware of, and deal with. And there’s some sense, from a financial standpoint, not to support different versions of the software in a particular ‘area’.

Creating software is a challenge, especially as it relates to copyright and privacy concerns, which I think Sonos does. 


buzz
  • July 7, 2026

SONOS could store a copy of your library metadata on their servers and then use an AI approach to build the web browser pages. All sorts of features could be added, such as song lyrics and access to the artist website. This might result in somewhat faster performance for the user, compared to current performance, but I wouldn’t expect SONOS to do this at no extra charge to the consumer.


Stanley_4
  • Grand Maestro
  • July 7, 2026

I think sonos is a “single user” system, isn’t it? Doesn’t seem like an issue, as “my sonos” will always have “my keys” locally. yes?

I haven't  cared enough to identify what data of mine My Sonos  needs to function but if it is none then you could just make a local copy of the web page and skip connecting to the Sonos servers.

If you are concerned about the data in transit, that is encrypted between you and the Sonos server, your browser will show you the details. 

As long as nobody else needs access to the data local only keys would be possible, but then nobody would be able to provide any service that needed access to your data. Also why bother to encrypt local data that never leaves your system? Encryption and decryption use CPU cycles that could be used for other purposes and encrypted data isn't very compressable, not good in a low memory system.


Forum|alt.badge.img
  • Trending Lyricist I
  • July 7, 2026

MiSonos is a free open source controller I wrote to run on my LAN. I run it on my Mac (Intel is fine) and it has a web interface as well as a PWA so you can run it on your phone. Search for “misonos” on github.com to check it out.


Forum|alt.badge.img+10
  • Enthusiast II
  • July 7, 2026

MiSonos is a free open source controller I wrote to run on my LAN. I run it on my Mac (Intel is fine) and it has a web interface as well as a PWA so you can run it on your phone. Search for “misonos” on github.com to check it out.

but you have a build for apple silicon?


Forum|alt.badge.img
  • Trending Lyricist I
  • July 7, 2026

MiSonos is a free open source controller I wrote to run on my LAN. I run it on my Mac (Intel is fine) and it has a web interface as well as a PWA so you can run it on your phone. Search for “misonos” on github.com to check it out.

but you have a build for apple silicon?

Yes - it’s a node application but on Mac you need to run a small launcher program to get past the OS X per-app privacy permissions. The install.sh takes care of this for you.

 

Here’s the setup blurb from DEPLOY.md: 

# 1. Clone (install.sh runs `npm install` itself):
git clone [URL FOR THE MISONOS REPO]
cd misonos

# 2. Build the Grateful Dead DB in a sibling checkout — no copy needed, the
# native deploy reads it there by default (or set MISONOS_GRATEFUL_DB):
( cd .. && git clone [BASE URL FOR THE GD DB REPO]/grateful-dead-db && cd grateful-dead-db && ./build.sh )

# 3. Build + install the app bundle. The host IP is baked into the launcher and
# must be the LAN IP the speakers reach — NOT the Tailscale 100.x. This grabs
# the en0 LAN IP automatically (override if Wi-Fi isn't en0):
MISONOS_BRIDGE_PUBLIC_HOST=$(ipconfig getifaddr en0) deploy/macos/install.sh

# 4. Launch from the GUI, force a LAN call, then click "Allow" on the prompt:
open ~/Applications/MiSonos.app
curl -s -X POST http://localhost:4317/api/discover >/dev/null # then click Allow
curl -s http://localhost:4317/api/zones # named zones come back

 


jgatie
  • July 7, 2026

I don’t know how true this is, but I can see where Sonos storing cloud copies of metadata for local libraries would open them up to subpoenas for piracy and/or copyright cases.  The source of streamed files are obvious, and streaming content providers have a responsibility for fees and copyrights.  They have no idea where a local copy came from, and outside of the local index of metadata that they have no access to, I could imagine Sonos not touching a cloud based inventory of dubious origin files with a 10 foot pole.


  • July 7, 2026

I don’t know how true this is, but I can see where Sonos storing cloud copies of metadata for local libraries would open them up to subpoenas for piracy and/or copyright cases.  The source of streamed files are obvious, and streaming content providers have a responsible for fees and copyrights.  They have no idea where a local copy came from, and outside of the local index of metadata that they have no access to, I could imagine Sonos not touching a cloud based inventory of dubious origin files with a 10 foot pole.

I can imagine all that is true. In which case the web controller does not make a good replacement desktop controller for those using local music libraries.


Stanley_4
  • Grand Maestro
  • July 7, 2026

I can imagine all that is true. In which case the web controller does not make a good replacement desktop controller for those using local music libraries.

Why? The desktop controller stores no data either.


  • July 7, 2026

I can imagine all that is true. In which case the web controller does not make a good replacement desktop controller for those using local music libraries.

Why? The desktop controller stores no data either.

The desktop controller stores no data. But the desktop controller DISPLAYS the data. The web controller DOES NOT DISPLAY any artwork from local libraries. Not to mention how slow it is to send the data from your local network to the “cloud” so the web controller can then send it back to your browser for a SLOW scrolling local music library listing.

My thoughts on the web controller being a replacement for the desktop controllers haven’t changed since this post earlier in this thread… 

 


Stanley_4
  • Grand Maestro
  • July 7, 2026

Don't have a desktop controller to test against but I can see the web controller delays in scrolling the music library, multiple pauses when quickly scrolling.

It would be nice if Sonos managed to get the cover art working, seems like the music library is a fairly low priority, likley because it is lightly used compared to other services.

Since Sonos has never offered a desktop controller for my Linux systems, and I don’t have an easily available Windows box the desktop issues don’t really impact me.


  • July 7, 2026

Since Sonos has never offered a desktop controller for my Linux systems, and I don’t have an easily available Windows box the desktop issues don’t really impact me.

Same here. Doesn’t impact me, but my wife uses the desktop controller when she’s on her macbook pro. And since she listens to our music library exclusively, that web app just isn’t going to cut it. 


Forum|alt.badge.img
  • Trending Lyricist I
  • July 7, 2026

Cover art is one of the reasons I wrote MiSonos. The trick to smooth cover art in the controller is to cache it on the bridge. The bridge uses an in memory LRU for 256 entries and then a disk cache based on query params up to 200MB. The disk cache survives restarts so it feels pretty snappy when you’ve already played tracks before. 

The art displays differently based on the location: 

  • Large surfaces (now-playing frame, fullscreen overlay) use object-fit: contain, so tall non-square posters (e.g. Grateful Dead Archive show art) show whole instead of being cropped; the frame background fills any letterbox bars. 
  • Small list thumbnails (.browse-thumb, mini/queue) use object-fit: cover to keep a uniform square grid.

For the Grateful Dead SMAPI service I wrote it gets the cover art from GDAO which is pretty cool. 

As of right now there are 8 upstream sources for cover art that are configured. 

  1. iTunes Search API
  2. archive.org
  3. GDAO
  4. YouTube Music thumbnails
  5. Phish.in 
  6. Podcast artwork
  7. TuneIn OPML logos
  8. Sonos speaker DIDL