Subsonic comes with built-in support for your Sonos players. Access your personal music library the same way as other Sonos music services like Spotify or Google Play.

Features

Works with giant music libraries. Not limited to 65,000 songs like the native Sonos controller.

Configure which folders each user is allowed to access.

Access your personal Subsonic playlists (as well as Sonos playlists).

Star your favorites.

Audioscrobbling and play statistics.

Powerful search feature. The Subsonic web app shows who is playing what on Sonos.

Artist radio for playing similar songs.

Shuffle play whole library or by artist.

Album lists: Random, Recently added, Starred, Top rated, Most Played, Recently played, By decade, By genre.

Same folder structure / album art / media meta data as in the Subsonic web app.

Setting it up

Connecting Sonos to your Subsonic server is super easy:

In the Subsonic web page, enable the Sonos music service in Settings > Sonos. In the Sonos controller, click Add Music Services and select Subsonic. Select I already have an account, then enter your Subsonic username and password. You're done. The list of music sources now includes the Subsonic music service.

Advanced settings

Lossless audio

For maximum compatibility, Subsonic is by default transcoding non-mp3 music files to mp3 when streaming to Sonos. However, Sonos natively supports several other audio formats, such as FLAC and OGG. To disable the transcoding in Subsonic, select Settings > Players, select the Sonos player, and then disable the "mp3 audio" transcoding.

Multiple Subsonic servers

Sonos music services are uniquely identified by a "SID" (a number between 240 and 253). By default, Subsonic uses SID 242. If you want to make multiple Subsonic servers on your local network available to Sonos, you have to assign a unique SID to each server. This setting is not available through the web interface, but you can add this line to the subsonic.properties file (located in /var/subsonic, c:/subsonic or /Library/Application Support/Subsonic) to change it.

SonosServiceId=243

Remember to restart Subsonic to make it take effect.

Using a remote Subsonic server

Subsonic automatically configures Sonos players on your local network. If Subsonic and Sonos are not on the same network you can still connect them, using a manual one-time registration procedure. Make sure you have the IP address of the Sonos player and Subsonic server available. You can find the Sonos IP by selecting About my Sonos System in the Sonos controller app.

Open http://SONOS_IP:1400/customsd.htm in a browser. Enter the following values in the web form: SID – Any legal value except 242

– Any legal value except 242 Service Name – Any name, for instance "Subsonic Remote"

– Any name, for instance "Subsonic Remote" Endpoint URL – http:// SUBSONIC_IP :4040/ws/Sonos?ip= SUBSONIC_IP

– http:// :4040/ws/Sonos?ip= Secure Endpoint URL – http:// SUBSONIC_IP :4040/ws/Sonos?ip= SUBSONIC_IP

– http:// :4040/ws/Sonos?ip= Polling Interval – 1200

– 1200 Authentication – Session ID

– Session ID Strings Table – Version: 6, URI: http:// SUBSONIC_IP :4040/sonos/strings.xml

– Version: 6, URI: http:// :4040/sonos/strings.xml Presentation Map – Version: 3, URI: http:// SUBSONIC_IP :4040/sonos/presentationMap.xml

– Version: 3, URI: http:// :4040/sonos/presentationMap.xml Container Type – Music Service

– Music Service Capabilities – Search, Favorites, User Content Playlists, Extended Metadata

Finally, in the Sonos controller, click Add Music Services and select the newly added Subsonic music service.

Disclaimer

Subsonic is not affiliated with Sonos, Inc. Sonos and its product names are trademarks or registered trademarks of Sonos, Inc.