A home music system without a controller is like a car without a steering wheel. There’s little you can do with it. Maybe once Google and Tesla perfect driverless cars, and voice recognition gets a lot better, we won’t need steering wheels or music controllers, but for now, they’re a fact of life.
The controller in a music system is the interface between you and the machines that run everything. For many of us the controller is all we’ve ever seen, all we’ve ever known about.
Open the app on a tablet and you’re presented with a list of what’s in your library–fancy controllers have attractive views of cover art. Select what you’d like to listen to, build a playlist, turn the level up and down, fast forward, select a radio station, edit metadata that’s not to your liking.
The controller IS the raison d’être of a music system. There’s little advantage to storing your music on a hard drive if you don’t have or use a controller. And, I would argue, the quality of the controller experience defines the level of pleasure extracted from a network music system. In my opinion, the controller through its interface is THE most critical element of the three we’ve been discussing: server, controller, renderer.
What exactly does the controller do and how does it work?
Surprisingly, for such an important element, controllers are rather dull witted. A well designed one, in fact, is hopefully as close to stupid as possible. Why? The less the controller has to do, the faster it works, the fewer connection and speed problems users are likely to experience. Designers with high expectations for the user’s experience would be well advised to let the server’s internal computer do as much of the work as possible. But, that isn’t always practical – especially when the server is rather dull witted itself. Like Twonky. But I digress.
Remembering the three elements of a DLNA music system:
Server, controller, player; the controller reaches out to the other two parts of the system for what it needs. Let’s say, for example, you open your tablet and want to scroll through your music library. The controller, which is a program installed on a mobile device–either Android or IOS–sends a request to the server.
Send me all the cover art. The server complies and the mobile device displays what it’s been sent. You touch one of the covers–perhaps Abbey Road–and a new request is sent to the server. Send me the track listing for Abbey Road. In the time it takes for the mobile device to animate the cover flipping to its backside, the track listing is sent over and displayed. Now, you wish to play the entire album, or perhaps one song. This time the controller sends a command, rather than a request.
Each track in your music library is actually a separate file with a specific memory location on the hard drive. It’s like a street address. Along with the track listings is the address where the track is located on your hard drive. Let’s say it’s 1234567. When you select that track, or a group of tracks (files), the controller sends a command to the player something like this: go to memory location 1234567, connect and play. Now, the player and the NAS, through its internal computer running Twonky server, open a connection to the file located at 1234567 and the player essentially downloads the file from the hard drive.
As a user, you now hear music through your DAC. The controller does one more thing at this point. It request information from the player about time–how long has the file been playing and how much is left. If you want to fast forward, the controller simply says: move to the middle of the file. Or, stop, or, play the file again, etc.
There aren’t that many good UPnP/DLNA controller programs around–and zero great ones. Of the good ones, there’s MConnect for IOS, and MConnect for Android. Bubble UPnP (for Android only). Other controllers include PlugPlayer for IOS, and PlugPlayer for Android. Linn’s Kinsky for IOS, and Kinsky for Android. There are others, but these are the most popular and will work with all NAS equipped for DLNA.
My favorite is MConnect for IOS, Bubble UPnP for Android.