After years of thinking and trying different methods (Netremote, Rivermote, httpRemote, Itunes) and hardware (networked-USB adapters & USB audio sticks, Airport Express, MC client PC's) I finally caved in and bought a Sonos bundle. Now I did quite a bit of research before my purchase and knew that integrating the Sonos system with my beloved MC system was not seamless. Sonos creates its own library, rather than link into an external one, and builds its own library based on the tags in the files itself.
However I do believe that it is the best of both worlds: MC as the ultimate tool for managing a large music library, and Sonos with its perfect blend of hard- and software for managing the user experience throughout the house. Third but optional part in the equation is Windows Home Server, but that's not the part that matters in this post.
Anyway, I hope this info is useful for others that are considering the same combination, or trying out how to use it, so here's the way I've set up my MC and Sonos system:
Hardware
- My main workstation is a PC with Vista Home Premium and MC v14. It's only on when I use it.
- I have a Windows Home Server on 24/7 with plenty of storage. However there are no WHS specific parts to how I use Sonos & MC, so you can use any NAS or PC with filesharing that's on 24/7
- I have a Sonos ZP90 and ZP120 zone and currently use Iphone and desktop controller software to control it. A CR200 controller is in backorder.
Software
- On the desktop I manage & prepare music all in MC, e.g. ripping CD's, metadating, adding cover art, and I'm very playlist-driven in my music consumption so I have about a 100 carefully crafted smartlists for each occasion. My processed (fully metadated, playlisted etc) music sits in C:\Music\Genre, and I have a two directories for non-processed music that may have untagged or miscategorized information (C:\Music\Ripped CD and C:\Music\Incoming).
- WHS serves music files and playlists, and that's all it does in this story. \\WHS\Music is where all music files live; I've set up the separate \\WHS\Music\Sonos as I still want to be able to put music stuff in other directories not indexed by Sonos, but if you don't need this, you can just point Sonos to \\WHS\Music
- In the Sonos controller software, you can select one or more network shares to index. It will scan these and build its own database and it'll know where to find the music files on the network, no need to keep your MC computer on all the time. You can manually (re)build the index, or it can do it for you. Sonos will also index the .m3u playlist you have in your scanned directory, which will then populate the imported playlists part of the controller. Artists, albums etc all show up where you expect they will
Workflow
As a MC user I don't have to explain you how to manage your music library. More relevant is how to get your beloved music files and playlists into Sonos. One way I thought of was to export all playlist, and run synctoy to upload all the files to the server. Cumbersome, as it required batch editing of absolute paths in the playlist files, and some of the auto smartlists etc I don't need in Sonos. So the solution I picked is to add a Handheld Device in MC that I called 'Sonos'. This pseudo-handheld lives under Drives & Devices in the main MC navigation, and I configured it as described below.
By the way, it pays off to prepare your playlist strategy, I don't want unprocessed music files to show up on my Sonos so I edited some smartlists to only pull from directories with properly tagged files.
My settings of the 'Sonos handheld device':
- Create the handheld as (in my case) \\WHS\Music\Sonos (or \\NAS\Music if you put it in that main share)
- Auto-sync on connect & Resync if Date Modified has changes are left blank (not sure what these would add)
- Check 'Delete from handheld' and 'Enable album artwork support if possible' are checked. (the delete option should mean that stuff you delete from MC will also be deleted on the share used by Sonos)
- Under 'Conversion' the 'Mode' for 'Audio' is set to 'Never convert' as I'd like Sonos to use the files as they are, thank you. We're not dealing with Image and Video here so ignore these and I've also not interfered with the Conversion Cache settings
- Under 'Files & Paths', I've set the 'Audio Path' to 'Music\[Genre]\[Artist]\[Album]\' and 'Playlist Path' to 'Playlists\' and selected 'M3U (relative paths)'. I've not changed the other settings or paths, they're not used in an audio-only set-up like mine. This means that my music files show up in the genre-artist-album hierarachy under \\WHS2\Music\Sonos\Music and playlists as \\WHS2\Music\Sonos\Playlists. (if you use the default settings of MC, the playlists show up on the same level as artists, which is confusing IMO).
Next step is to run the Sync for the Sonos Handheld Device. If you have a large collection (like me) this will take a few hours the first time, but after that it'll only upload any changed files. Check your server if the files ended up where you expected them to be.
Now go to Sonos Controller on your PC and select Music from the menu, then Set Up Music Library... Click 'Add a share' and choose to look on the network to point Sonos to the share which contains both your music files and m3u files by browsing the network (or type the path directly). If necessary, provide login credentials, in my case the WHS login account I use.
Be aware that Sonos cannot access directories deeper down in a share, only the share as it shows up as you go to the device (in a stock WHS system this means 'Video', 'Music' etc are the shares you can point Sonos to). In my case, as I wanted to use Music\Sonos, I had to create a separate share on the WHS machine for the Sonos directory by right clicking it in exploring and setting its sharing properties so that it would show up as \\WHS\Sonos. After doing this, Sonos scanned the whole enchillada in a couple of minutes and presto, all my music showed up in all Sonos controllers I threw at it, as well as playing back nicely on the zone player hardware. Also the playlists are there, under Music Library -> Imported Playlists. And every time I change something in MC, I only have to run the sync wizard and voila.
I'm loving the Sonos experience, and I'm glad I didn't have to defect to other music software to make it a workable solution. I'm especially glad I don't need to rely on 3rd party tools like Synctoy or batch editors, the only tools I'm using are the ones provided by the software I'm using anyway.
Of course it would still be great if MC could be expanded to provide a more 'native' way to sync/integrate between its library and Sonos. Another thought would be to allow to access the MC library and files via an emulated Rhapsody protocol perhaps, but until then I can live with this situation.
Anyway, a long post, but I hope others working with or interested in Sonos can use this. Any tips or improvements or other ideas for making Sonos & MC work better together much appreciated!