Digital music distribution system gains Linux-based handheld controller
Feb 6, 2008 — by Eric Brown — from the LinuxDevices Archive — 17 viewsLogitech subsidiary Slim Devices has announced a major upgrade to its digital music distribution system. The SqueezeBox Duet includes a Linux-based WiFi-connected handheld device able to control the streaming of network-based music to one or more digital media adapters, and available with open source development… tools.
(Click for larger view of the Squeezebox Duet)
The new Duet setup includes a Linux-based SqueezeboxController that lets users browse playlists, albums, and artists, and other information displayed on its 2.4-inch, 240×320 color backlit LCD, says Logitech. The 6.1 x 2.0 x 0.7-inch device includes a scrollwheel and buttons to select menu items or perform tasks such as searching by name. There's also a Wolfson 8750 DAC and a headphone amp with jack and speaker, so you can use the Controller to listen, too.
Squeezebox Duet comprises the SqueezeboxReceiver (left) and SqueezeboxController (right)
Along with the SqueeboxController, the new Squeezebox Duet package includes a new SqueezeboxReciever media adapter. It runs the same proprietary OS as earlier Squeezebox gadgets, and is based on the Squeezebox2/v3 architecture used in earlier gadgets. However, it lacks a display of its own. Also gone is the headphone amplifier. Clearly, the small Receiver box is intended for burial out of sight and reach in the stereo closet, with all user interfaces broken out to the handheld Controller device.
Similar to the Linux-based Sonos Digital Music System, a single Controller can program multiple Receivers throughout the house. Each Receiver can play different songs, or the same musical program, thanks to “slimproto” timing signals (TCP/IP alone would not do). This should enable “whole house” audio without the need for a huge amp pushing lossy analog signals over long wire runs; instead, the digital source is distributed over the wired or wireless network.
The Duet works with an available SqueezeboxNetwork music backup and streaming subscription service, which lets users enjoy their music without booting their computers, the company says. The setup also provides access to “thousands” of Internet radio stations, Logitech says, as well as integration with service providers that include Pandora, Rhapsody, and Slacker.
What's under the hood?
Squeezebox controller (Click to enlarge) |
The controller is based on a Samsung S3C2412 200MHz ARM processor, and is equipped with 64MB of RAM, and 64MB of NAND flash, expandable via an SD card slot. The device also includes a 3-axis accelerometer tilt sensor. There also appears to be an infrared transmitter, potentially enabling the device to work as a learning universal remote; Logitech does not tout this feature, so it may be depend on a future firmware update.
The Controller comes with a recharging cradle, and its rechargeable lithium-ion battery is removable for replacement. The device connects via 802.11g WiFi. An expansion connector offers power inputs and audio signals, along with a serial port for those interested in doing some low-level hacking on the device (with an adapter available from Logitech).
Squeezebox controller block diagram
(Click to enlarge)
The Controller runs a Linux 2.6.22 kernel, and has user-upgradeable firmware, Logitech says. Additionally, the stock firmware is pretty hacker-friendly, according to company spokesperson Dean Blackketter. “There's a built-in SSH server that can be activated, and root access, along with a writable overlay root filesystem,” he explained.
Additionally, the company offers a development kit for those interested in adding “applets” of their own. The kit supports cross-compiling on Linux, Mac, or Windows hosts, said Blackketter.
The Controller's graphics are based on SDL (simple direct layer). Applications appear to be written in Lua, a lightweight interpreted programming language that combines procedural syntax with data description constructs based on associative arrays and extensible semantics. Lots more technical details, howtos, and development kit downloads are available on a wiki.
Jive architecture
(Click to enlarge)
The wiki also lists specifications for a “beta hardware target platform,” as follows:
- 2.4″ color TFT LCD, 240×320 pixels, 16bpp
- Mechanical scroll wheel
- 10 backlit buttons (play, add, go, home, back, vol-/+, rew, pause, fwd)
- Samsung ARM9 CPU (S3C2412), 200 MHz
- 64MB NAND flash
- 64MB mobile SDRAM
- 802.11b/g wireless
- Headphone jack
- Built-in speaker
- IR LED
- SD card slot
- 1250 mAh Li-Ion battery
- 3 axis accelerometer (for motion sensing)
- Charging stand
- Expansion connector that brings out: serial, USB (host or device), audio out, audio in, 3.3v out, 5v in
The Squeezebox Receiver (“Mama” not included)
The SqueezeboxReceiver is based on a 250MHz, eight-way, multithreaded RISC processor, with a “pure software” SlimDSP architecture, says the company. It is equipped with a field-upgradeable Xilinx CPLD (complex programmable logic device), which presumably is programmed in microcode to efficiently process the audio file compression formats du jour. The receiver has 64MB of “high-speed” RAM, and 16MB of NAND flash.
Squeezebox receiver (back)
The receiver's I/O includes WiFi and a shielded Ethernet connection. There's also a network bridge, so that Ethernet devices to connect via the receiver's wireless connection, Logitech says. The receiver uses a Wolfson 24-bit DAC, and offers both analog RCA and digital S/PDIF connectors.
PC component
Unless the SqueezeboxNetwork service mentioned earlier is used instead, the receiver must be linked up to a broadband-enabled PC with at least 256MB RAM and 80MB of free hard disk space. The PC needs to run Slim Devices's open source slimserver application, which has apparently been rebranded as “SqueezeCenter.” The PC software handles discovery, indexing, and transcoding of network-resident media files. Supported OSes include:
- Windows 2000/XP/Vista running on at least a 733Mhz Pentium
- Mac OS X 10.3.5 or later
- Linux, BSD, Solaris, or any OS that runs Perl 5.8.3 or later
Putting it all together
The diagram below shows the various network protocols used to link the components of the Duet together. Note that the “Jive” element runs on the SqueezeboxController (or on a development host, user-developed gadget, etc). The first diagram shows how it works with SqueezeCenter (aka “Slimserver”) running on a PC. The bottom diagram describes operation with SqueezeboxNetwork instead.
Jive and SlimServer interactions
(Click to enlarge)
Some background
Logitech subsidiary Slim Devices is a company with a proud history in the media adapter market. Long before industry standards like UPnP and DLNA emerged and became commonplace, the company sold simple gadgets that helped users distribute their digital music collections over home networks for playback on stereo equipment.
The company's basic Squeezebox (pictured at right) and “audiophile” Transporter gadgets run a homegrown RTOS (real-time operating system), because Linux is arguably overkill for a device that simply converts digital streams to analog audio. The gadgets work in tandem with PC server software that discovers, indexes, transcodes, and streams network-based media resources.
Two PC server software packages are available, both written in perl, and both open source. Slimp3 streams MPEG Layer III audio, while slimserver supports lots of formats. Both servers work with software players like Winamp or XMMS, or with Slim Devices gadgets. Several open source offshoots are available, including a slimscrobbler package designed to help people discover new music they might like.
Traditionally, the Squeezebox and Transporter gadgets have featured small organic LED text displays, and have come with remote controls that can be used to page through song menus. Playlists could also be managed from the PC running the server software, or from another PC or laptop on the network.
Now, the company has entered the “device age,” by offering a dedicated, Linux-based handheld controller aimed at offering greater control than a simple remote, but in a much smaller form factor than the typical laptop. Best of all, the device appears to be open to community developers as a platform for fun, experimentation, or even commercial gain.
Availability
The Squeezebox Duet is “coming soon” for an estimate price of $400, says Logitech subsidiary Slim Devices. For current Slim Devices owners, the Controller will also be offered stand-alone, priced at $300. More information is available here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.