Sonos Voice Control and NAS Server?


Userlevel 1

I’m excited to try the new Sonos Voice Control, but only if it allows me to choose music from the NAS server on my local network. I have not seen this functionality mentioned in information from Sonos, so does this mean music on my NAS won’t be supported?


39 replies

Userlevel 7

Sonos Voice Control does not currently support choosing music from a local music library or NAS.

Userlevel 1

What an odd and disappointing omission by Sonos. I’m curious why this functionality has not been included.

What an odd and disappointing omission by Sonos. I’m curious why this functionality has not been included.

Sonos hasn’t provided an explanation.  Worth noting that  SVC does not work with all music services either. I would have expect it to work for any music source.  I’m more inclined to believe that this isn’t an omission, but there is some technical reason for it. Hard to really grasp what that reason could be without better understanding of how the tech works.

 

 

Userlevel 7
Badge +23

My now-retired Alexa service for Sonos did support NAS content, as well as many music services. Sonos will likely expand their coverage over time, though as we all know the NAS user base is an ever-decreasing priority for them due to usage.

I don’t really understand why they don’t support Spotify right now, that was one of the easier ones for me to code up.

My now-retired Alexa service for Sonos did support NAS content,

Did it not support just volume level changes but not getting music play to start from a NAS? That is my memory of what I had read about this in the early days.

I agree that NAS user base is shrinking; on the other hand getting SVC to locally replicate what the Sonos app does for NAS play should not be a big development project, I would speculate. 

My now-retired Alexa service for Sonos did support NAS content

Assisted by a service running on a local PC, yes? 

 

on the other hand getting SVC to locally replicate what the Sonos app does for NAS play should not be a big development project, I would speculate. 

“Just a few lines of code” 😉

My now-retired Alexa service for Sonos did support NAS content

Assisted by a service running on a local PC, yes? 

 

Which first ran through Alexa cloud servers to translate voice to text.  Not sure if that makes a difference, not without knowing more about SVC and how it works internally, but just can’t assume that what worked for that process works the same for a fully locally processed SVC to search and retrieve from NAS.

 

 

on the other hand getting SVC to locally replicate what the Sonos app does for NAS play should not be a big development project, I would speculate. 

“Just a few lines of code” 😉

 

I have no idea, but I’m beginning to believe that SVC can process many key words, typical room names, and maybe Sonos radio stations 100% locally.  But when you specify the name  of an artist, song, album, etc….it can’t complete translate the sound to English words.  It would make sense that it then sends the textualized sounds to a search engine in the cloud, with whatever service you’ve signed up for, to complete the search.  That really wouldn’t change the fact that the information is locally processed and your voice isn’t recorded, it’s just not completed converted to normal english text when sent to a music service to retrieve the music you requested.

If that is the case, that would explain why only a few music services are currently supported.  The textualized sound  search capability needs to be supported by the music service.  And it would explain why local libraries are not supported, since there is no service there to support this type of search.  But I am just guessing at this.

 

Also, if I were Sonos, I might be looking to support Plex via SVC, as a means of accessing local libraries, instead of direct support.  Plex support would reduce the need for local library support.

If SVC works like it is theorised to above, NAS control is more than a “few lines of code” and may even never get done given commercial considerations.

Alexa/Echo do local NAS play very well with even the USD 5 a year subscription to My Media for Alexa server installed on a home computer that could even just be a dedicated Raspberry PI. The only hitch is that this needs the Echo device to be connected to the net. But this might be another candidate for SVC; the real sticky here is the low percentage of NAS users in the Sonos user base, that will probably not let it get prioritised. 

Spotify on the other hand should be high priority especially considering how well the native Spotify app works with Sonos today, so SVC would be a very useful adjunct to that feature. 

As an aside; does SVC understand other English accents, even if the response is just US accented English for now?

For NAS users something that you may know, but for those that do not, a copy/paste of a comment in another thread here:

some users asking for voice control of their local library, which mostly works in any case, once the tracks have been manually loaded to a ‘room’ queue.

I have NAS based Sonos playlists self curated by genre that have more than 2000 songs in most that I play in random shuffle mode. I could see leaving them in the queue for days at a stretch and have them accessible via SVC - if I had SVC! 

While a partial solution for sure, it is one that is simple to put in place if it works as claimed in the italics.

For NAS users something that you may know, but for those that do not, a copy/paste of a comment in another thread here:

some users asking for voice control of their local library, which mostly works in any case, once the tracks have been manually loaded to a ‘room’ queue.

I have NAS based Sonos playlists self curated by genre that have more than 2000 songs in most that I play in random shuffle mode. I could see leaving them in the queue for days at a stretch and have them accessible via SVC - if I had SVC! 

While a partial solution for sure, it is one that is simple to put in place if it works as claimed in the italics.

 

I think this is just referring to the fact that SVC (and Alexa and GA as well) commands like resume, pause, skip, etc...the general playback commands….work regardless if what audio is currently playing and the command makes sense for what’s playing.  What doesn’t work is the ability to search a streaming source and initiate playback for something that isn’t already in the queue ready to go.  That only works for the currently supported services.

 

So yes, if your only need to for local library playback is to just play what’s already in the queue, then you wouldn’t need further local library support.

 

 

 

So yes, if your only need to for local library playback is to just play what’s already in the queue, then you wouldn’t need further local library support.

That isn't quite what I said, which why I called it only a partial solution. But one can maximise that by some effort in NAS playlist curation and leaving such playlists in the queue, with the app needed only for moving other NAS playlists/tracks/albums into the queue as a replacement. For instance my Classic Jazz NAS playlist has over 5000 songs in it and stays in the queue for days at a stretch during which I also move back to Spotify for other streams. Presumably there is a SVC command that can allow this back and forth to happen - substituting Apple Music for Spotify of course because SVC does not do it yet. If there isn’t such a command, then this partial solution is very limited, though still of some use.

Local library support in a complete sense will remain missing and will still be missed till whenever...

Userlevel 7
Badge +23

My now-retired Alexa service for Sonos did support NAS content,

Did it not support just volume level changes but not getting music play to start from a NAS? That is my memory of what I had read about this in the early days.

It not only supported NAS searches but also eight music services (listed here http://myspeaker.org/info/default.html) including Spotify. It could also handle multiple user accounts on the same service, playlists, and artist stations, and remembered all these settings on a per-speaker basis.

Features were not its problem, but scalability and the cost of running it were. It was also dependent on push notifications, which was its major downfall.

 

Features were not its problem, but scalability and the cost of running it were. It was also dependent on push notifications, which was its major downfall.

Interesting; did it need any of the units involved to be connected to the net for the solution to work?

 

 

 

So yes, if your only need to for local library playback is to just play what’s already in the queue, then you wouldn’t need further local library support.

That isn't quite what I said, which why I called it only a partial solution. But one can maximise that by some effort in NAS playlist curation and leaving such playlists in the queue, with the app needed only for moving other NAS playlists/tracks/albums into the queue as a replacement. For instance my Classic Jazz NAS playlist has over 5000 songs in it and stays in the queue for days at a stretch during which I also move back to Spotify for other streams. Presumably there is a SVC command that can allow this back and forth to happen - substituting Apple Music for Spotify of course because SVC does not do it yet. If there isn’t such a command, then this partial solution is very limited, though still of some use.

 

 

Sonos has provided the list of commands,   I don’t see anything resembling the functionality you’re suggesting, but perhaps I’m missing it. I was referring to commands like pause and resume, which do appear to work regardless of what’s currently playing/queue.

 

 

Someone more interested in SVC than I am will no doubt run through all the SVC commands. What is needed for the functionality I suggest is for a NAS playlist in the queue to stop, Apple Music to be played till it is stopped, and for the paused NAS playlist in the queue to resume. All the preceding via SVC commands. 

I have 26,000+ tracks stored in my own NAS music library and I am able to load every single track into a speaker queue using the details that @ratty posted here in the community and that is to use straightforward UNC paths direct to each of the chosen local music library tracks, as a single ‘one-line’ entry, that seems to work best for each .m3u playlist.

Here are a couple of ‘example’ entries (as seen in a text editor) to hopefully demonstrate what I mean, but clearly your own network path will be different:

\\192.168.0.1\MyNAS\MyLibraryShares\Music\Genesis\Trespass\The Knife.flac

\\192.168.0.1\MyNAS\MyLibraryShares\Music\Genesis\Trespass\Stagnation.flac

I also chose to strip out everything else from the playlist file, including these (common) ‘directive extensions’…

  • #EXTM3U - file header
  • #EXTINF: - track information/title

Note: Some .m3u playlist files may contain other types of ‘extensions’, which can all be removed. See this link :

https://en.wikipedia.org/wiki/M3U

The extensions are not required for Sonos use, so I personally found removing ALL worked best for speed of loading the playlist.

In addition to the format stated above, the netbios name of the host NAS/PC also works well in place of the LAN IP address. Example:

\\MyWindowsPC\MyNAS\MyLibraryShares\Music\Genesis\Trespass\The Knife.flac

I have gone onto convert all my playlists to the above format and have just opted to place them in a separate folder within the local library, but they can be stored anywhere in the library that you’re indexing when using the UNC path for each track.

Using the above method I was able to get a 26,000+ playlist load to a Sonos player queue in a matter of a few seconds, well within the 15 second timeout period.

I reckon the method above will work for most peoples local library playlists and once loaded the user can then use SVC to do things like:

  • Play/Stop/Pause/Resume/Skip (forward/backward)
  • Shuffle/Repeat/Restart
  • Move playing audio between rooms
  • Group/Ungroup Sonos Rooms 
  • Set/Adjust/Mute (group/room) Volume 
  • Ask what’s playing

Most of the syntax is outlined here in this community link:

https://en.community.sonos.com/sonos-voice-control-229127/full-list-of-sonos-voice-commands-6870026

Anyhow, I hope that info. assists for those perhaps wanting to use music from their local libraries with SVC.

I reckon the method above will work for most peoples local library playlists and once loaded the user can then use SVC to do things like:

  • Play/Stop/Pause/Resume/Skip (forward/backward)
  • Shuffle/Repeat/Restart
  • Move playing audio between rooms
  • Group/Ungroup Sonos Rooms 
  • Set/Adjust/Mute (group/room) Volume 
  • Ask what’s playing

Most of the syntax is outlined here in this community link:

https://en.community.sonos.com/sonos-voice-control-229127/full-list-of-sonos-voice-commands-6870026

Anyhow, I hope that info. assists for those perhaps wanting to use music from their local libraries with SVC.

 

I think this part is all agreed and understood.  @Kumar can correct me if I’m wrong, but I believe below is the scenario he was referring to.

 

1 - load your local library playlist to the queue using the Sonos app.

2 - Using SVC, request playback of music from a music streaming service (Amazon, Pandora, Sonos Radio, etc)

3-  Using SVC, stop playback from the music service.

4 - Using SVC, request playback of the local library playlist.

 

I don’t think this will work...I think step 4 will cause the music streaming service to restart, not your local library playlist.

To re-enter an existing queue it's always necessary to use a controller. Since the queue pointer is lost when an alternative source is played the user will need to re-enter at a manually selected track come what may. 

Between 1 and 2 there would be the two steps of getting the NAS playlist to start playing - in straight or shuffle mode - via the app. The playlist would then be paused via SVC and then whenever desired, step 2 would occur.

Would step 4 still restart the music service and not the queued playlist? Is there a SVC command that allows either to be selected?

If that not be the case the partial solution becomes more partial, but still not useless. It gets restricted to start/stop/restart the queued NAS playlist with no other use made of Sonos in the interim. 

Between 1 and 2 there would be the two steps of getting the NAS playlist to start playing - in straight or shuffle mode - via the app. The playlist would then be paused via SVC and then whenever desired, step 2 would occur.

Would step 4 still restart the music service and not the queued playlist? Is there a SVC command that allows either to be selected?

If that not be the case the partial solution becomes more partial, but still not useless. It gets restricted to start/stop/restart the queued NAS playlist with no other use made of Sonos in the interim. 

 

The link to the available commands has been posted a couple times now.

 

The link to the available commands has been posted a couple times now.

For SVC users to research in depth while they wait for Sonos to implement SVC on local NAS.

I have 26,000+ tracks stored in my own NAS music library and I am able to load every single track into a speaker queue

Digressing here but I am not getting what is the benefit of this effort. I too have some 20000 tracks and maybe ten playlists that each have 500 to 5000 tracks. All load per the normal procedure without doing any of what you have done. Depending on the genre I want, the relevant playlist is loaded. 

What would I gain by loading all 20000 as one playlist via your elaborate process? I can only think of playing all my music in shuffled mode. What else? For users with or without the SVC feature?

Or am I missing something?

 

The link to the available commands has been posted a couple times now.

For SVC users to research in depth while they wait for Sonos to implement SVC on local NAS.

 

It’s a 5 min read at best, and you’re asking if a specific command exists.  It takes very little effort to see that there is no command to do what you’re asking for.

And there shouldn’t be an implication that all SVC users, rather than just a fraction of them, are waiting for local library voice control.

I have 26,000+ tracks stored in my own NAS music library and I am able to load every single track into a speaker queue

Digressing here but I am not getting what is the benefit of this effort. I too have some 20000 tracks and maybe ten playlists that each have 500 to 5000 tracks. All load per the normal procedure without doing any of what you have done. Depending on the genre I want, the relevant playlist is loaded. 

What would I gain by loading all 20000 as one playlist via your elaborate process? I can only think of playing all my music in shuffled mode. What else? For users with or without the SVC feature?

Or am I missing something?

I was merely trying to simply demonstrate that users can load ‘virtually’ almost  any/every size of local library playlist (large or small) and begin to control that playlist with SVC voice commands - nothing more than that @Kumar.

Only some users in other community threads tend to mention they can’t get a local playlist over (approx.) 3,500 to often load, so I was just including those details too, to perhaps assist users who may have encountered that difficulty, but wanted to give things a go with their local library and SVC.

Personally speaking, I will just use SVC mostly with Amazon and Deezer, but was just trying to assist others here who may prefer to use their locally stored tracks.

 

 

And there shouldn’t be an implication that all SVC users, rather than just a fraction of them, are waiting for local library voice control.

And here I was thinking that this thread is about SVC users that want NAS control🤣

Reply