Question

How to get Alexa to tell Sonos to access my Local Music

  • 19 October 2017
  • 40 replies
  • 12669 views

Userlevel 1
All my music is stored on my computer, I don't use streaming services. The Sonos app is able to access my music and playlists, but using Alexa, all I can find are commands to access streaming services. How do I use Alexa to tell Sonos to access the music on my computer?

This topic has been closed for further comments. You can use the search bar to find a similar topic, or create a new one by clicking Create Topic at the top of the page.

40 replies

Local libraries are not supported at this time for initializing playback. You can start playback via the Sonos app, then control play, pause, skip, previous, volume level, and ask what is playing via Alexa.
So the integration is fairly useless i would say. Pull your finger sonos. If i can access my libraries from my iphone why not alexa??
So the integration is fairly useless i would say. Pull your finger sonos. If i can access my libraries from my iphone why not alexa??

Because all Alexa processing is done in the cloud, and unlike streaming services, there is no index of your local music available in the cloud, nor any existing way for Alexa to query local music. Sonos and Amazon would have to allow for storing a local index in the Amazon cloud, or develop a sophisticated back and forth between Sonos and Alexa to enable Alexa to query Sonos about its index, all while maintaining a short response time when requesting music. Not at all easy, nor (I imagine) a priority for Amazon at this time.
Userlevel 1
This obviously has a ways to go before it's ready for prime time. You're basically saying that currently Sonos is nothing more than a really expensive set of external speakers for Alexa. For it to do what I want, Alexa doesn't need to have a way to query my local music or have a sophisticated back and forth between it and Sonos. It just needs to pass the request off to Sonos. "Alexa tell Sonos to play My Favorites in Living Room". Alexa doesn't need to know anything in request, other than to pass the command to my Sonos and potential receive a response back if Sonos is unable to do what is asked.
Sigh.
Userlevel 4
Badge +1
Sigh.You may well sigh, but what you keep saying isn't quite true is it?

If *all* processing is done in the cloud and there is no way to query local music then how can Alexa know what is playing on a Sonos speaker when playback from the local library is initiated outside of Alexa control and not via any service Alexa has knowledge of?

Clearly there is a way for Alexa to query the local speaker to get what is playing from it, and if it can do that it's not unreasonable to expect that Alexa could also query and process the library index held on each speaker as well...
Not unreasonable at all. I never mentioned anything about it being reasonable. Matter of fact, it is quite reasonable for a user to expect this type of functionality. Certainly I did, and you can search my past posts to prove it.

However, reasonable or not, that particular status has no bearing on a status of not yet implemented, more difficult than the current implementation, more man-hours to implement, not high in priority, or possibly even not in the plans.

Oh and the sigh? It was to your "not ready for prime time" comment. It's a freaking beta! By very definition it is not ready for prime time!
Sigh.You may well sigh, but what you keep saying isn't quite true is it?

If *all* processing is done in the cloud and there is no way to query local music then how can Alexa know what is playing on a Sonos speaker when playback from the local library is initiated outside of Alexa control and not via any service Alexa has knowledge of?

Clearly there is a way for Alexa to query the local speaker to get what is playing from it, and if it can do that it's not unreasonable to expect that Alexa could also query and process the library index held on each speaker as well...


I'm no expert, but isn't that logic the same as saying Shazam can tell me what's playing but not necessarily what's on my computer? I truly have no clue how Alexa figures out what's playing from a local source, but it could be something sent from the local system's player as it does from MP3 in automobile USB systems? (yes, I know USB in the car is old-school!)

I'm no expert, but isn't that logic the same as saying Shazam can tell me what's playing but not necessarily what's on my computer? I truly have no clue how Alexa figures out what's playing from a local source

I too would like to have Alexa initiate play from my NAS, not just do the subsequent stuff. But when I think about it as a layman, how it figures out what is playing from my NAS is in the realm of magic. But then I am easily impressed.
I bought the Amazon dot at half price anticipating that I would have voice control over my library.

Very disappointed.
I have owned a Sonos system for 6 years and run it in four rooms. I expected that I could ask Sonos to transfer my music requests from room to room. I expected that I could ask it to play a specific album from my library. I expected that it would be implemented to the high standards that Sonos has provided in the past. I did not expect Sonos to be brought low by Amazon.

I do not wish to stream music. I am retired. I have spent thousands of pounds over the years building a music collection and do not wish to change it.

Please, please Sonos find a way to improve this system. It is obvious that it is not in Amazon's interest to improve your systems.
I expected that it would be implemented to the high standards that Sonos has provided in the past. I did not expect Sonos to be brought low by Amazon.

Like everyone else Sonos was wrong footed by Alexa/Amazon, and chose to catch up by combining with Amazon instead of competing via an in house developed solution. Probably the right thing to do in the short term because they lack the scale needed to quickly do so, that which Amazon/Apple/Google have. Long term? I doubt anyone can predict.

Having tied a leg to Alexa it now must not be easy to march to the beat of a different drummer, at least in the short term. That said, it is only the first step of starting music play from the local library that isn't possible: all others including asking Alexa what is playing, are.
Userlevel 7
Badge +15
While I would have no issue with Sonos having a copy of my index in the cloud, I'm not sure it's necessary?
Currently you can issue a voice command to Alexa (at that point it doesn't even know if Amazon Unlimited has the song?) and Alexa with translate that into a command and will play the song if it has it or will tell you it can't find the song and won't play it.
Why can't that just work with your local index (and considering you would know the contents of your own library, maybe with even more success?)?
Issue the command to Alexa and it tells Sonos what to play. If it finds it cool. If not it fails.
The other reason why this isn't possible at this time is that Amazon may have put in a hopefully short term veto to this to see if they pick up Amazon Music subscriptions from us.
Userlevel 7
Badge +15
Yes, they 'MAY' have done that but that is supposition.
I'm querying the assertion that the index would need to be held in the cloud or that it's technically sophisticated to allow control of the local index and am trying to understand why.
Userlevel 4
Badge +3
So the integration is fairly useless i would say. Pull your finger sonos. If i can access my libraries from my iphone why not alexa??

Because all Alexa processing is done in the cloud, and unlike streaming services, there is no index of your local music available in the cloud, nor any existing way for Alexa to query local music. Sonos and Amazon would have to allow for storing a local index in the Amazon cloud, or develop a sophisticated back and forth between Sonos and Alexa to enable Alexa to query Sonos about its index, all while maintaining a short response time when requesting music. Not at all easy, nor (I imagine) a priority for Amazon at this time.


Sonos does index your music files from your library, and I imagine the 'cloud' is where this index is kept, and possibly a local copy too, this index must now be shared with Amazon, or at least Alexa has access to this index.

I created my own mix, with my name as the artist and Alexa still knows what song/artist is playing from my music library when asked, and obviously, I'm not listed as an artist on Amazon music or any other music service.

So Alexa clearly can and does query local music, at least an index of it.

This is encouraging on the one hand, as I imagine it wouldn't be too much work to allow local music to be a source that Alexa can play from, but also worrying, as allowing people to listen to their own locally stored music would negate the need for paying to stream music from Amazon etc, so not really in their interest to do so.

I just hope that this isn't a sign of things to come with Sonos, and that local music playback won't be phased out any time.

I just hope that this isn't a sign of things to come with Sonos, and that local music playback won't be phased out any time.

About a year ago, Sonos announced that over 80% - or was it more - of listening to Sonos was via streamed services, so draw your conclusions from that. This was when they declared a shift of focus to these and to voice control based integration with home automation.

Now I don't see local music being phased out; the Alexa adds that have been done to it are a sign of that, but logically developments there will not have the highest priority, one would think.


Sonos does index your music files from your library, and I imagine the 'cloud' is where this index is kept, and possibly a local copy too, this index must now be shared with Amazon, or at least Alexa has access to this index.

I created my own mix, with my name as the artist and Alexa still knows what song/artist is playing from my music library when asked, and obviously, I'm not listed as an artist on Amazon music or any other music service.

So Alexa clearly can and does query local music, at least an index of it.

This is encouraging on the one hand, as I imagine it wouldn't be too much work to allow local music to be a source that Alexa can play from, but also worrying, as allowing people to listen to their own locally stored music would negate the need for paying to stream music from Amazon etc, so not really in their interest to do so.

I just hope that this isn't a sign of things to come with Sonos, and that local music playback won't be phased out any time.


Sorry, but you couldn't be more wrong. The index is kept on the Sonos players and only the Sonos players, not in any cloud.

As to local music being phased out, Sonos has no need to phase it out, it is happening naturally. When Sonos last published the numbers a few years ago, streaming online was 92% of all usage on Sonos. Local music was a mere 8%, and I'm sure it is lower by now.
Userlevel 4
Badge +3
Well I just disconnected my router form the internet, but left wifi connected and all devices still connected via wifi, and then played a locally stored music track using the sonos controller app.

I then asked Alexa "what's playing" but it just responded by saying it could not connect to the public internet.

I then reconnected the line to the router to enable internet access again and then asked Alexa what was playing, oddly it responded by saying the title/track that was playing before I disconnected the internet connection.

I'm not exactly sure what this proves, if anything! but what it does show is that unless playback of a locally stored music track is first initiated before the internet is disabled, then Alexa then has no idea what is playing locally, even after the connection is re-established during playback.
Userlevel 4
Badge +3
I just asked Alexa to stop, and then resume and then it correctly identified what was playing.
Userlevel 4
Badge +3
https://en.community.sonos.com/music-services-and-sources-228994/where-is-my-music-library-actually-stored-is-it-on-my-hardware-or-with-sonos-6329819
Userlevel 4
Badge +3
Jgatie, you are correct, the index is indeed stored on the player.

However as I said, Amazon/Alexa must have access to this index to be able to know what track is playing.
Userlevel 4
Badge +3
My post still appears to be correct though, except that we don't know if a copy of the index is stored online too.

I said 'possibly a local copy too' this may in fact be the only copy.

I also said that Amazon/Alexa must have access to this index, I assume you agree with me?
I can tell you with 100% certainty there is no index in the cloud for local music on Sonos. Though not privy to the actual architecture, I know enough about it to state there is no need for Alexa to have direct access to this index because Alexa can tell us what is playing from all sorts of other services like Slacker, Google Play Music, Apple Music, etc. and Alexa doesn't have any access to those services. All that is needed is a basic ability for Alexa to real-time query the Sonos on what is playing, or (more simply) the Sonos player somehow updates Alexa when a song changes.

Incidentally, your experience with Alexa identifying the song as the last one played before the internet loss, instead of the current song, may point to the latter scenario; i.e. when there is a song change, Sonos simply pushes the current song to either it's own cloud for Alexa to access, or it actually sends it to Alexa/Amazon's cloud.

If above is true, it seems there is much less of a schema in place for Alexa to do the real-time direct queries on the local index necessary for initiating playback from the local library. Speculation of course (let's face it, that's what we are all doing here), but that means there is much more work to do on both the Sonos and the Amazon side to get local libraries fully supported.
Userlevel 7
Badge +26
Also confirming that there's no cloud index for your local music. That's only stored on your Sonos players directly, nothing else.

However, when your players start playing something with the skill enabled, they tell the Sonos cloud what's on. So when you ask Alexa what's playing, the command goes to our cloud which looks up that room and what was last "advertised" as what's on. So if you're playing local tracks, the metadata for what's on is entirely dependent on what you called the track at home. Alexa and Sonos don't actually know what's on. They just have an artist name and track name. So if that track has no metadata, or bad metadata, you'll probably get some funny results.
Ryan, thank you for confirming there is no cloud index, and it is Sonos pushing the metadata to the Sonos cloud upon a song change so Alexa can access that metadata when asked what is playing. Looks like my instincts were correct. As such, I assume that there is less of a infrastructure for Alexa to do the real-time direct queries on the local index necessary for initiating playback from the local library?

I understand if you do not wish to answer. If so, thanks for the insight you have given so far.