Skip to content
Barry4679 edited this page Jun 13, 2011 · 7 revisions

Welcome to Sonospy

(draft)

What is Sonospy?

Sonospy is an open-source community effort to produce a set of extensions to the popular Sonos multi-room audio system manufactured by the company of the same name.

Mark Henkelis started developing Sonos-related programs in 2009, and over time his work has grown to create the potential for a wide range of new features, as well as enhanced, drop-in replacements for existing functionality.

This community effort is currently focused on providing a new music index, allowing new functionality to be added under the Music Services menu entry on all existing controllers.

Sonospy implements its own proxy server to build and offer up this index. The server can run on your PC, or on any Python-capable hardware. It provides access to your existing music library, but removes much of the burden of processing from the Sonos hardware, thereby eradicating a number of limitations imposed by it.

In its current stage of development, the server already provides solutions to the following long-standing Sonos community feature requests:

  • Removal of the 65,000 track capacity limitation. The server can essentially serve a music library of arbitrary size.

  • Support for tags with multiple values. For example, a track may be stored under two genres, say Rock and Live Music. Using the Sonospy proxy server, both entries would appear in the Genre index. Similarly, tracks tagged with multiple artists can be made to appear separately in the Artists index for both artists.

  • Improved flexibility for browsing music. For example, albums can be sorted by date released, and/or by date ripped, rather than just alphabetical order.

  • Indices can be filtered to show music recently added to your library.

  • Playlists can be promoted to virtual album status, so that they appear in the indices as if they were normal albums.

  • The major works of classical composers can be made visible and selectable in the Sonos indices.

  • On Linux, the range of music codecs playable by Sonos is extended by the ability to dynamically transcode unsupported codecs to supported types. For example, high resolution FLAC files can be downsampled to a format accepted by Sonos. Similarly, satellite-broadcast MP2 files can be dynamically converted to MP3. This process is transparent to the user and requires no configuration.

  • On Linux, it's possible to stream any music playing through the computer's sound-card, and have that music played by the Sonos system.

The Sonospy proxy server indexes your local music library, just like the standard Sonos hardware. It then advertises the availability of that software over the Windows Media Protocol, effectively impersonating the Shared Music feature of a Windows PC. All official Sonos controllers, both hardware and software based, will therefore work with the server. This includes the iPhone and Android controllers. No extra software needs to be installed on your phone.

Like the Sonos hardware, the Sonospy proxy server is read-only. It will not write to your music library nor alter it in any way. Similarly, no part of your Sonos installation is altered or touched in any way, so you need have no fear that use of the server may somehow affect your warranty. It won't.

All native Sonos facilities remain available, and unaffected, under the Library menu heading, but we believe, once you've used the Sonospy server, you'll have little cause to go back.

Sonospy is a cross-platform project, and is currently undergoing heavy testing in Linux and Windows environments, where it is providing reliable, day-to-day service for a number of demanding users. The project is available in two flavours: a "stable" version, and a version undergoing in active development, which is the first to receive new features, but is a work in progress meaning that things do break from time to time.

Where is Sonospy?

The Sonospy community meet at http://groups.google.com/group/sonospy-devel

  • support queries
  • debate enhancement requests
  • community conversations

Sonospy can be obtained from https://github.com/henkelis/sonospy

The master branch contains the most stable version of the code. Remember this is pre-release software.

The unstable branch is also the full system, but contains items which are being discussed, evaluated and tested. It is deemed to be pre-beta, which means that things do break from time to time.

Select a branch, and then press the download button. Chose the download.zip file for windows, and the download.tar.gz file for Linux.

Getting Started with Sonospy?

After downloading Sonospy you should read the Getting Started Guide at https://github.com/henkelis/sonospy/wiki/_pages

... but not quite yet ... there is only an early incomplete draft there at the moment.

Reporting problems with Sonospy?

There is a problem ticketing system at "Issues" at https://github.com/henkelis/sonospy

Please use that system only for problems. Do not add enhancement requests there.

If you have trouble contacting us, or using these facilities, you should send an email to sonospy-devel@googlegroups.com


Welcome to Sonospy.

See you at http://groups.google.com/group/sonospy-devel