home | MY PHOTOGRAPHY | older photos | publications | projects | resumé  

This is an add-on I wrote for the kick-ass open source mp3 server Ampache, that integrates it with the kick-ass (& cheap) hardware mp3 player, the Rio Receiver.

Download: Version 1.1 - 2004-09-28 - Tested with Ampache v.3.2.1 & v.3.3-Beta1 (changelog)

Older Versions:
Version 1.0 - 2004-08-18 - Tested with Ampache v.3.2-Beta 2, known issue with v.3.2.1

So what's all this about?
      This code allows Ampache to replace the "Audio Receiver Manager" software for the Rio Receiver hardware mp3 player. This nifty little device is a stand-alone player with built in ethernet & a decent 2x10W amp, letting you drive some pretty large speakers. They've been discontinued for awhile, but can you pick them up on eBay for about $50.

Features/Improvements over the Rio Audio Receiver Manager
  1. No longer will you have to listen to your tracks in ALPHABETICAL order!

    The queries by AmpacheReceiver sort the tracks in the following manner (assuming random play isn't selected):

         Track Number
           Path\Filename (for tracks without Track Number Tags)

    They will still show up alphabetically in the Receiver's Screen, but whenever you select "Play All Music" tracks will play in the order above.
  2. Leverages Ampache's Catalog so that if you have a large collection and only add a single new album, it doesn't take forever to re-catalog.
  3. Integrates Ampache's Playlists automatically.
  4. Tracks the play stats of each Receiver unit, either associated with an existing Ampache user or a new one.
  5. Dynamically creates playlists based on Ampache's stats tracking system. Thru the config file you can tell the unit to dynamically create playlists based on Global/User Favorite Songs/Artists/Albums.
  6. Can handle catalogs with more than 3000 tracks by automatically limiting query results. The original Audio Receiver Manager did not limit responses and would crash the unit as a result.
What do I need to use this?
  • Ampache
  • My AmpacheReceiver module
  • mp3s
  • A Rio Receiver (or Dell Audio Receiver)
  • Either the default receiver.arf file or one that's 100% compliant with the original protocol.
    (~\Audio Receiver\receiver.arf)
  • A Web Server that allows URL->file aliasing. Apache can do this, IIS cannot.
  • A replacement SSDP/NFS Server to boot the Rio.
Where can I get a replacement SSDP/NFS Server to boot the Rio?
  If your Ampache server is on Windows, then for simplicity, I recommend the new Windows Server by Roger Lipscombe, who was formerly a programmer on the original Rio Software. Roger has been working on his own complete replacement for the Rio Audio Receiver Manager, but based on a request for my project he was nice enough to add a feature to use a different HTTP server, functionally splitting off the boot functionality.

You can get Roger's Kit here: AudioReceiverSetup.zip (v0.0.6)

You will need Microsoft's .NET Framework 1.1 if it's not already installed.
You may also need Microsoft Installer 2.0 if you're not on Windows XP.

A big thank you to Roger Lipscombe for writing this. Please visit him at www.differentpla.net.


  • This is early version code, so be patient with it. I've used it for weeks and it works flawlessly. If you have any issues with it, contact me directly and I will route them to Roger.
  • You'll need to modify AudioReceiverServer.exe.config and set the alternateHttpServer value to your Ampache server's IP & port (eg. -- In this version you MUST install this on the same machine as the Ampache server, and if that server has multiple IPs this must be set to the primary IP of the box. Roger is looking into fixing this in the future.
  • There's really no docs for this version since it's such an early alpha. Let me know if you have issues.
If your Ampache server is on Linux etc., then search the web for an alternate Rio Receiver boot process, such as this one from Jeff Mock / Leigh L. Klotz, Jr.
Installation Instructions
  1. Unzip my AmpacheReceiver module you your <ampache_root>/docs/ directory.
  2. Setup your web server aliasing.

    Assuming you have Apache edit <apache_root>/conf/httpd.conf and add the following entries:

    Alias /layout/ "<ampache_root>/docs/rio/layout/"
    Alias /query "<ampache_root>/docs/rio/rio.php"
    Alias /results "<ampache_root>/docs/rio/rio.php"
    AliasMatch ^/content/ "<ampache_root>/docs/rio/rio.php"
    AliasMatch ^/favourites/ "<ampache_root>/docs/rio/rio.php"
    AliasMatch ^/list/ "<ampache_root>/docs/rio/rio.php"
    AliasMatch ^/tags "<ampache_root>/docs/rio/rio.php"

    If you don't have Apache, you have to figure out the equivalent for your webserver.
    If you let me know the steps, I'll include them in future docs so others can benefit.
  3. Setup your replacement SSDP/NFS Server to boot the Rio and point it at Ampache.
  4. Edit your <ampache_root>/docs/rio/rio.conf file to get familiar with how this can be tuned for your system, and what settings you may need to adjust if you have problems.
Configuration / User Tweaks
  All user tweaks are documented and configured in <ampache_root>/docs/rio/rio.conf

Tested Environment
  The current version of AmpacheReceiver was tested and known to work on the following environment:
  • Windows 2003 Server Standard Edition
  • Ampache v.3.3-Beta 1
  • Apache 2.0.50 (No SSL)
  • PHP 4.3.10
  • MySQL 4.0.18
  • Rio Receiver (recevier.arf version 1.04)
  • Roger Lipscombe's Audio Receiver Server 0.0.6
Other Tested Environments
I've gotten reports of AmpacheReceiver working on the following environments:
  • RedHat 9.0, RioBoot Perl SSDP, Unix NFS, and tRio Firmware/Server
    It worked relatively well, missing a few features. Michael E. Winter tweaked my code to make it work faster on his setup. If you need to go this route, let me know and i'll hook you up with his patches. (Thanks Mike!)

Known Issues
  • Large queries like Select Music...Title can hang the receiver if your collection has too many tracks (>3000). This is not an issue with the software, but a limitation of the Receiver Hardware.
    To deal with this AmpacheReceiver limits large queries to 3000 (default) responses, based on the query_limit setting in rio.conf
    Note that you can still 'Search' by Title using the remote as that only pulls in a handful of records at a time.

  • If your Ampache server is overloaded, you can hear skipping when a track first gets queued, since the buffer in the Receiver hasn't had a chance to fill up. If this happens you may need to free up resources on the server.


All content copyright 2010 Jon C. Hodgson
No Monkeys were harmed while making this website.