Introduction
The article first appeared in Tom’s Hard News Email Newsletter
In December of last year, THG’s David Stellmack took a look at the Turtle Beach AudioTron. The AudioTron is a network audio device that decodes MP3, WMA and WAV files to play on your home stereo system across your Ethernet network. It accesses audio files on your PC via Windows file sharing. The AudioTron also supports streaming Internet audio. While David’s impression of the AudioTron was positive, we still felt that there was room for additional evolution in this product arena.
Slim Devices saw THG’s review of the Audiotron, and asked if we would take a look at a device of theirs, similar to the AudioTron, which they have named the “SliMP3.” The SliMP3 (Slim-‘pE-‘thrE) is also a network audio device that can decode MP3s for playback through your stereo. Additionally, it has the ability to handle streaming Internet audio. However, the real beauty of the SliMP3 is its compact size and its open-source firmware and server software. Yes, you read that correctly — all of the SliMP3 software is open-source, which makes it the first device of this type with an entirely open-source development community.
In addition to being completely open-source, the SliMP3 has some other nice features. It uses a vacuum fluorescent display, or VFD, which is extremely easy to read, even from as far as ten feet away. The SliMP3 make no noise at all, as there are no fans or disk drives. When compared to the AudioTron, the SliMP3 is almost 600% smaller in cubic inches! With such a small form factor, SliMP3 would be a perfect addition to a bookshelf stereo system. The server software is written in Perl, and any operating system that can run Perl (Windows 95 and greater, Linux, Mac OSX, FreeBSD, Solaris and many more) can act as the SliMP3 server.
The SliMP3 does not use Windows file sharing to access your MP3 files; instead, it uses a custom open protocol to access the MP3 files. The SliMP3, or the little box that connects to your network and stereo system, only decodes MPEG data to play through your stereo. One might think that would limit the use of the unit, but Slim Devices claims that their server software will also be able to transcode from other formats to MPEG in the foreseeable future.
Features
SliMP3 Features – Player |
Beautiful 40×2 vacuum fluorescent display – bright and easy to read, even from across the room! |
Supports easy flash firmware updating over the network. |
No moving parts (no fan, no hard disk or CD-ROM) – reliable and quiet: all you hear is your music! |
Supports all MP3 bit rates and VBR, plus MPEG2. |
Communicates using IP over Ethernet, open streaming/control protocol. |
Infrared remote control. |
Small enough that you can put it anywhere – on a shelf, bedside table, etc. |
High quality 16 bit, 44.1KHz audio output. |
Display brightness control. |
Low power consumption – draws less than 4 watts during normal operation with the display turned on, and just a few milliwatts in standby mode. |
Large buffer – no clicks or skips because of network traffic problems – 1MB In Size. |
Cost – $249 |
SliMP3 Features – Software |
Open-source server, written in Perl (GPL). |
Optional HTTP interface – control the player and manage your playlists from a web browser! |
Internet radio – Shoutcast, Icecast, and Live365. |
Unlimited capacity – it doesn’t matter if your mp3 collection is a megabyte or a terabyte. Your files are not stored on the player, so there’s no limit to the amount of music you can access, and you don’t need to hassle with copying your files onto the player. |
Easy to use hierarchical browser interface. |
Random mode. |
Supports .pls and .m3u playlist files. |
Included Components
SliMP3 Included Components |
SliMP3 Ethernet MP3 Player. |
Switching power supply, compatible with 110 and 230 volts (US power cord included). |
Sony RM-V201 universal remote, batteries included! |
6-foot gold plated RCA patch cord. |
10-foot CAT3 Ethernet patch cord. |
Specifications
SliMP3 Specifications – Hardware | |
Dimensions 8.5″W x 2.5″H x 2″D | |
Display Noritake 40×2 VFD. | |
CPU Microchip PIC16F877 microcontroller. | |
Ethernet controller Crystal CS8900A 10Mbps embedded Ethernet chip. | |
DMA controller Xilinx XC95144XL, proprietary logic. | |
MP3 decoder Micronas MAS3507D. | |
DAC Crystal CS4334, 16-bit 44Khz. | |
Buffer RAM 1Mb (8 seconds at 128Kbps). | |
ROM Rewritable flash program memory; EEPROM configuration memory. | |
IR Standard 40Khz IR receiver. | |
Power supply 5V 1600mA power supply, player uses 700ma (max). |
SliMP3 Specifications – Protocols |
DHCP, ARP, IP, ICMP, UDP. |
Support for subnets/gateways (see documentation section on WANs). |
Open UDP-based streaming and control protocols. |
SliMP3 Specifications – Firmware |
Open-source, high-speed, embedded IP protocol stack. |
Written entirely in Assembly language, for performance and compactness. |
General purpose architecture offloads most of the application to the server side – new features can be added without making changes to the low-level firmware (protocols, device drivers). |
Integrated boot loader program includes its own copy of the IP stack and necessary drivers, so that the entire MP3 player application may be reinstalled over the network. |
Installation Is Where Innovation Starts
There is not much to talk about regarding connecting the SliMP3 to your home audio system. We started by connecting it to our network via the provided CAT3 (although you can use a CAT5 Cable, as well) Ethernet patch cable. Connections from the SliMP3 are limited to 10mbit, so you will have to connect it to either a 10mbit hub/ switch or a dual speed 10mbit/ 100mbit switch. We did not find the use of a 10mbit Ethernet connection to be a limitation, and we expect the choice to use 10mbit was based on keeping the cost down. However, we would have liked to see a 10mbit/ 100mbit interface available for higher traffic local networks.
There is not really much to see on the back of the SliMP3. Looking at the rear of the unit, you can see the RCA left & right output jacks, as well as the RJ-45 Network jack and the input for the AC adapter.
Next, we attached the left and right audio line out to the respective connectors on our bookshelf stereo via the provided RCA patch cable. The process was very uneventful; you cannot get into too much trouble hooking up a pair of left and right RCA cables.
The SliMP3 does not offer a digital optional or coaxial output. We would have liked to have this made available, but in order to keep the price of the SliMP3 in parity with other units in the same class, some sacrifices had to be made. It is clear that the SliMP3 folks wisely chose to spend a lot of money on the display, as the display is currently the downfall of many other devices. Still, we long for a digital output, and we hope to see this in the next version of the SliMP3.
You will need to select a PC to use as a server for your MP3 collection. (It should go without saying that the PC has to be attached to your network.) If your server is running Windows, you will need to download and install ActivePerl from ActiveState before you can run the server software. If you are a Linux user, you must be running Perl version 5.6.1 or greater before you can continue.
The server software must be downloaded from www.slimdevices.com. In the download section, you can get the server software and firmware for your SliMP3. Our server is running Windows 2000, so we downloaded the appropriate server software. There is no install for the server; you just unzip the file and run the server.pl script.
With the server software started for the first time, we need to tell it where the MP3s can be found.
When you run server.pl, it will tell you that you need to configure your MP3 directories. You will need to fire up your web browser and go to your server:9000. In our case, it is mp3-server:9000.
This is what you should expect when you use your web browser to attach to the server.
Finally, we connected the AC adapter and plugged it into the wall. During the boot sequence, the SliMP3 will request an IP address from your DHCP server, if you have one. If you do not have a DHCP server, you will need to manually set the IP information. Once it has an IP address, it will look for a server to which it will attach.
Server Settings
When you bring up the server settings page, you will see that the options are few. The only settings that are available are the language that the SliMP3 uses, the location of your music library, and the location of your playlists. Below are the list of server settings (again) and the definitions and options as defined on the server settings page.
The MP3 directories are defined in the server settings screen.
- Language – You can change the language that you would like the SliMP3 system to use. The language options are: Deutsch, Dansk, English, Espaсol, Franзais, Italiano, Netherlands, Norsk, Portuguкs, Svenska.
- Your Music Library – This is the directory where your MP3 files are stored on your hard disk.
- Saved Playlists Library – You can enter the path to a directory where your saved playlist files are stored on your hard disk. (You can leave this blank if you don’t want to save playlists.)
Additional Server Settings
Unlike the server settings page, the additional settings that are available are almost overwhelming. The vast number of available settings provides an incredible amount of control that isn’t often found in many other devices.
- Web Interface – You can choose a look or “skin” for the web interface from the list below. The web interface options are: Bagpuss, Dark, SliMP3 Standard Look, Experimental, Moser, Ruttenberg.
This is what the Bagpuss skin looks like. Bagpuss, Experimental, and Moser all look the same.
A look at the skin titled Ruttenberg.
Additional Server Settings, Continued
- Debugging – The server can show detailed debugging information in the console window. This is helpful if you are trying to figure out a problem with the unit, or if you are attempting to develop new scripts yourself. As you can see, there are many debugging options.
- Show what (should be) on the SliMP3’s display
- Miscellaneous UDP communication (discovery, warnings)
- Verbose protocol debugging (lots of output)
- Streaming protocol statistics (lots of output)
- Files, paths, opening and closing, scanning directories
- User interface – buttons pushed, etc.
- Timers (lots of output)
- Scheduler
- Song Title Format – You can choose the format for the display of individual songs from these web pages.
- Nothing
- TITLE
- TRACKNUM. TITLE
- TRACKNUM. ARTIST – TITLE
- TRACKNUM. TITLE (ARTIST)
- TRACKNUM. TITLE – ARTIST – ALBUM
- FILE.EXT
- TRACKNUM. TITLE from ALBUM by ARTIST
- TITLE (ARTIST)
- ARTIST – TITLE
- Games – You can also play some games using your SliMP3 player and remote. Use the menu below to add or remove the games menu from your SliMP3 Home. Options include: No Game and Show Games.
With Show Games selected, you can play SlimTris or Space Shooter. SlimTris, as you might guess, is a Tetris-style game, and Space Shooter is like the Atari 2600 classic Defender.
While this might not be the best use of your SliMP3, it shows the incredible flexibility that the SliMP3 offers, which is well beyond any other device in the same class. You have to admit that you don’t often see companies allowing you to use their device to pass the time by playing games, unless that is what they design the device to do primarily.
Additional Server Settings, Continued
- Web Server Port Number – You can change the port number that is used to access the server from a web browser. (The default is 9000.)
- Screensaver Timing – The player will automatically show the song currently playing if you stop using the remote for some amount of time. You can change the duration of this wait below. (The default is 30 seconds.)
- Text Entry Timing – When you are entering text for a search, the player will move on to the next letter after some amount of time. You can change the duration of this wait below. (The default is 2 seconds.)
- Scan Speed – When the server starts, it scans your music library to load the artist, album and other information from the tags in the MP3 files. On some slower systems and Windows PCs using FAT and FAT32 file systems, this may slow down your computer to an unacceptable level. You can change this setting to slow down scanning and use less computer resources. Options are: Fast Scan and Slow Scan.
- Artist name in album searches – Controls whether artist names match in album searches. With this option enabled, the query “bach” matches “Brandenberg Concertos” by J.S. Bach, even though “bach” isn’t a part of the title. Options are: Don’t include artist name in album searches and Include artist name in album searches.
- HTML Caching – The server can cache its HTML or image files to speed up the web interface. Turn caching off to ease development of the web interface. Options are: Don’t Cache and Cache.
- Playlist & Directory Caching – The server can cache playlists and directories to speed up navigation. Changes, such as newly added or deleted files, should be automatically detected. Turn caching off only if you notice that changes are being ignored. Options are: Don’t Cache and Cache.
- ID3 & Other Information Caching – The server can cache ID3 tag and other information to reduce disk accesses and speed up navigation. This is a good thing, unless you notice the server is using too much memory. Turn off only if you have a fast file system and need to control server memory usage. Options are: Don’t Cache and Cache.
- MP3 Tag Database – The MP3 tag information from each MP3 file can be saved when the server stops and reloaded when it starts again, which speeds up scanning of the music library. This feature is experimental; use it with caution. Options are: Don’t Save MP3 Tag Info and Save MP3 Tag Info.
- Perl Code In Templates – This option allows advanced users to put Perl code directly into their HTML templates using the [EVAL] tag. This could be a security risk, since the code will run with the same authority as the SliMP3 server itself. The standard HTML interface does not use this feature. Options are: Disable EVAL Tag and Enable EVAL Tag.
- Animation – This option determines the amount of animation allowed. Animations include showing brief messages, screen wipes during navigation, and scrolling long titles. Options are: No animations, Brief messages only, Screen wipes plus messages, and Full animation.
- Long Date Format – This option determines the format used for long dates (as displayed) when the player is off. The following conventions are used in the choices presented below:
Additional Server Settings, Continued
- WWWW is the full day of the week (Saturday, Sunday, etc); WWW is the abbreviated day of the week (Sat, Sun, etc); DD is the day of the month (leading zero removed); YY is the two-digit year; YYYY is the four-digit year.
- WWWW DD MMMM YYYY
- WWWW DD. MMMM YYYY
- “WWWW, MMMM DD, YYYY”
- “WWWW, DD MMMM YYYY”
- “WWWW, DD. MMMM YYYY”
- WWW DD MMM YYYY
- WWW DD. MMM YYYY
- “WWW, MMM DD, YYYY”
- “WWW, MMM DD, ‘YY”
- “WWW, DD MMM YYYY”
- “WWW, DD. MMM YYYY”
- YYYY-MM-DD (ISO)
- DD.MM.YYYY
- DD.MM.YY
- MM-DD-YYYY
- MM-DD-YY
- MM.DD.YYYY
- MM.DD.YY
- MM/DD/YYYY
- MM/DD/YY
hh is the hour; h is the hour (leading zero removed); mm is the minute; ss is the second; pm is either AM or PM. Anything at the end in parentheses is just a comment and is not displayed.
- “hh,mm (24h)”
- “hh,mm,ss (24h)”
- hh.mm (24h)
- hh.mm.ss (24h)
- hh:mm (24h)
- hh:mm:ss (24h)
- hh’h’mm (24h 03h00 15h00)
- hh’h’mm:ss (24h 03h00:00 15h00:00)
- hh:mm pm (12h)
- hh:mm:ss pm (12h)
- “h,mm (24h)”
- “h,mm,ss (24h)”
- h.mm (24h)
- h.mm.ss (24h)
- h:mm (24h)
- h:mm:ss (24h)
- h’h’mm (24h 03h00 15h00)
- h’h’mm:ss (24h 03h00:00 15h00:00)
- h:mm pm (12h)
- h:mm:ss pm (12h)
- Number of TCP sockets to attempt to read per pass: 2
- Number of TCP sockets to attempt to write per pass: 2
- Number of TCP connections to accept at one time: 3
- Amount of data (bytes) to write to TCP socket per pass: 4096
As we have seen, the amount of flexibility that is provided by the additional Server Setting allows you to customize the unit to fit your needs. This is unique, because most units in the same class require you to fit the unit within specific parameters. This, once again, is owed in part to the open-source roots of the SliMP3 unit, where the users are fanatical about having the ultimate in flexibility and control.
Player Settings
Configuration of the player gives you a number of settings that can be changed to alter the function of the player. These options take many forms, but the bottom line is that we find the options are helpful in adding value and a customized identity to the player itself.
- You can give this player a name that will be used to identify the player using the web pages.
- The brightness of the SliMP3 display can be set for when it is on and off. The brightness options are:
- Dark
- Dim
- Bright
- Brighter
- Brightest
The Dark setting basically turns the display off; the Dim setting is the default brightness when the unit is turned off. When turned on, Brightest is the default setting. The Brightest setting also offers the greatest visibility.
In order to save money by not having to produce a remote for the SliMP3, Slim Devices choose to use a standard Sony RM-V201 remote. We found this to be quite a good choice of a remote for use with this device. Navigation was clean and you can control every function possible from the remote. What is really nice is that it is possible to reprogram the unit to change the way the remote interacts with it, if you are so inclined to do so.
- The player can display information on the progress of a song as it is playing. Choose the information you wish to be displayed. The options are:
- Nothing
- Elapsed Time
- Remaining Time
- Progress Bar
- Elapsed Time and Progress Bar
- Remaining Time and Progress Bar
Conclusion & Parting Thoughts
All in all, the SliMP3 is a great piece of hardware. The compact size of the unit is very nice, since some people may not have, or may not want, the AV rack setup. If you are looking for a rack mount unit, this is probably not what you are looking for, as it doesn’t offer rack mount capabilities.
The open-source of this product means that you have the ability to modify the firmware and server software as often as you wish. A feature that we would like to perhaps see added to the server software would be Caller ID display. Since the server software is written in Perl, it would not be too difficult to write some simple code to watch your modem, then grab the Caller ID information when a call comes in and send the info to the SliMP3 unit for display. With the SliMP3’s bright display that you can see from across the room, it would be ideal to display the Caller ID info that you could read at a great distance.
When the unit is powered off, it will display the date and time of the PC that is running the server software. Slim Devices states in its literature that a future version of the server software will offer an alarm clock feature. In order to utilize this feature, you would definitely want to run time sync software to sync the time clock on your server with an atomic clock. The alarm clock function, like the transcode function that we talked about a little earlier, is just part of the ever growing list of “coming soon” features that are not yet available for the SliMP3. While this list of features continues to grow, if you are interested in a specific feature that is not yet supported, you may have to wait a while before this feature is implemented.
All commands sent to the player with the remote control are decoded and then sent to the server. All commands are first processed by the server, then the server tells the SliMP3 what to do. You could also use the remote control to control what you want selected on your computer; for example, you could create a button select or combination select to launch your web browser and check the latest THG article. The possible uses of this feature are endless.
The inability of the SliMP3 to offer either a digital output or 100mbit network connection are not a cause for alarm, but they are two things that we would like to see in a future version of the SliMP3. Some might argue that the SliMP3 doesn’t require a 100mbit connection to your network because of its robust 1MB buffering capabilities.
The SliMP3 is still very much a product in development, and we think Slim Devices and the SliMP3 community will continue to improve and enhance the abilities of the unit over time. We definitely like the open-source aspects of the device, which offer a lot of flexibility that you don’t have in many other commercial products. This, however, comes at the cost of the SliMP3 not having the polished look to the manual and software that you might find in a product such as the Audiotron. Still, the SliMP3 offers many things that you can’t find elsewhere, and with its growing community continually offering ideas and resources, this product will evolve into something that should be beyond the typical out-of-the-box product.
To stimulate continued growth and development from the SliMP3 community, the Slim Devices folks have provided, and continue to provide, free SliMP3 players to developers who make significant software development contributions to the unit. We think this helps encourage the ongoing growth of the open-source nature of the unit. For the number of open-source developers who continue to drift from project to project, the SliMP3 may offer an opportunity for them to be compensated, even if it is a little out of the ordinary.
While the out-of-the-box experience isn’t something that we would recommend to a novice, the SliMP3 is a cutting-edge device that offers many things that you can’t get anywhere else. We recommend the purchase of the SliMP3 to those who want the ultimate in flexibility. Be prepared to pay for this flexibility, however, for the SliMP3’s price tag of $249 is, in our opinion, pretty hefty.