The third and the final part of the series on hifi music streaming is here. In the first part, we dealt with the technology behind making music streaming possible and in the second, we got into the hands-on mode, for putting the streaming setup together and bringing it up into a functional state, by assembling and configuring the network and the music server components of the streaming system.
Now that we are ready with two of the core components of the system, we will need to configure two other components to be able to receive and listen to music. The music renderer and the control point form the other two components. The music renderer receives the digital music data from the server, over the network and either converts it to analog music signal or converts it into another digital format suitable for output through interfaces like USB or SPDIF to a dedicated Digital-to-Analog Converter (DAC). The Control Point is pretty much a remote control mechanism, which helps us with being able to browse the list of songs available on the server and choose one of them for playback on the renderer. This is normally a software application running on smartphones or tablet like devices or sometimes even on regular desktop computers and laptops.
Let us now have a look at what options we have for the renderer and the control point and how we shall set them up.
As the name suggests, this component is a piece of hardware or might even be a software application which accepts music data in the form of network data packets from a server, over a network and renders (convert and/or reproduce) them suitable for input to a dedicated DAC (Digital-to-Analog Converter) or performs the digital to analog conversion by itself and gives an analog output. The weak analog output signal is then sent to the power amplifiers for amplification and is made suitable for playback on a set of speakers.
A renderer can be thought of as a standard ‘source’, like a CD player. There are a plenty of hardware renderers available in the market today from top HiFi manufacturers like Linn, Naim Audio, T+A, Audio Research Corporation, Cambridge Audio, dCS Ltd., PS Audio, etc.
These are dedicated systems for drawing in digital music data from the media server and rendering them into audible music. Most of these devices come with a front display to display the list of available music tracks on the server, from which we can choose one to be played back. Displays range from simple single line LCD displays to large and elaborate color display screens mounted on the front panels of these devices. Sitting on a couch, at our favorite listening position, farther away from the system, it is often hard to read the contents on these front displays.
Hence some manufacturers supply remotes with displays on them to make the task of picking our favorite music track easier, like the ‘n-remote’ from Cyrus Audio as seen in the picture below:
Such remotes are not always economical considering the rapid discharge of the batteries used in those remotes, owing to the large displays on them. Hence most manufacturers these days provide remote control apps for the iPhone or the iPad and even for Android based devices.
There are also a plenty of renderer software applications available in the market today, which are pretty much audiophile grade too. A few names worth mentioning would be the VLC Media Player, foobar2000, JRiver Media Center and Kodi.
For most of you, computer audiophiles, ‘foobar2000’ must be a very familiar name. A Windows computer running ‘foobar2000’ for music playback, connected to a decent external DAC, is bliss to most computer audiophiles. A plugin has been recently introduced for the ‘foobar2000’ application which when incorporated, enables it to perform as a media server, a music renderer and also as a control point. Directions on achieving the same can be found on the official Foobar website.
If you have read the previous part of this series on music streaming, ‘Kodi’ should be very familiar to you by now. It was setup to be the music server for our demo. And, yes! Kodi can also behave like a renderer, by accepting music data from any other server on the network and playing it back. The best thing about Kodi is that it is cross-platform. It is available for Mac, Linux, Windows and also for Android.
Note to Raspberry Pi Enthusiasts: You may even assemble your own DIY UPnP media renderer, based on the Raspberry Pi by following this great tutorial found on this—LINK.
As the name itself suggests, the control point is the ‘remote control’ component of the entire streaming setup. The primary task of this component is to find out all UPnP devices available on the network. It automatically detects all the compatible devices on the network. On detecting a media server, it browses the media content available on the server. The control point requests streaming or transfer of the media data from the server to the renderer. The streaming of media data never happens through the control point, i.e. there is no data flow through the control point device/application. It is pretty much like an air traffic controller which directs air traffic with respect to the source and the destination. It is most commonly a software application running on smartphones or tablet like devices and sometimes on desktop or laptop like devices too. Generally, control points and renderers run on separate devices. But, lately, most control applications available have the renderer functionality integrated into them, facilitating local streamed music playback.
A few control point applications worth mentioning would be:
- JRiver Media Center, foobar2000 (with the appropriate plugin installed) and the VLC Media Player (Has a few software bugs though) for the desktop platform.
- PlugPlayer, BubbleUPnP (also a media server and renderer) and Linn Kinsky (available for desktop too) for the mobile platforms like iPhone, iPad and Android.
For our demo, we will stick with BubbleUPnP running on an Android device.
To understand streaming better we will take up a couple of streaming scenarios using different combinations of servers, renderers and control points.
Scenario 1: Kodi Media Server – BubbleUPnP Renderer – BubbleUPnP Control Point
- Setup Kodi to function as a UPnP server as specified in the previous part of this series.
- From the Kodi home screen, navigate to System àServices àUPnP and the options on the screen should be set as shown in the screenshot above:
- The media content items should be scanned to the Kodi Library (directions for this have been specified in the previous post).
- Connect your Android device (Phone/Tablet) to the network on which your Kodi media server is running, via WiFi.
- Note: Ensure necessary Firewall permissions have been granted to the Kodi application on your computer, to ensure detection by the BubbleUpnP application.
- Install the BubbleUPnP app from the Google App Store and launch it.
- On clicking on the menu drop down button on the top left (3 horizontal lines), a menu pops sideways.
- Choose “Local Renderer” under the RENDERER section. Choose your Kodi server (in my case, it is named ‘Kodi_Desktop’) under the LIBRARY section.
- Under the ‘Media’ section under LIBRARY, the BubbleUPnP application lists down the directory structure as seen on the chosen media server. Click on the required folders and navigate to the music track that you want to play.
- When you choose a track and click on it, it starts playing on your Android device which looks something similar to what you see in the screenshot below. In this scenario, the BubbleUPnP application itself is the renderer as well as the control point. Note: The album art is also streamed from the media server. (Isn’t that cool?!)
Note: The reader is encouraged to play around with the Seek, Volume Up/Down options, etc. to get a feel of the possibilities available with music streaming. The file used for this demo was a 44.1kHz/16-Bit FLAC format file. BubbleUPnP and Kodi support higher bitrates and sampling frequencies too and also a wide variety of other formats. The reader is encouraged to explore more with different files.
Scenario 2: BubbleUPnP Media Server – Kodi Renderer – BubbleUPnP Control Point
- Setup Kodi as described in Scenario 1.
- Within the BubbleUPnP app, choose your Kodi (‘Kodi_Desktop’ in my case) as the RENDERER and “Local Media Server” as the server under LIBRARY.
- Navigate to the track stored on your device’s memory which you wish to play back and click on it.
- The moment we hit ‘play’ on BubbleUPnP, the song starts playing on Kodi, which will look like the screenshot above:
Note: Even in this case, the album art was streamed from the BubbleUPnP server running on the Android device to the Kodi Renderer.
The time has finally come to wind up this 3-part series on hifi music streaming. Hope all of you, readers, enjoyed reading the entire series and had great fun in setting up a decent streaming setup. This is in fact just a beginning. The world of streaming offers a lot of versatility that there is no single method of setting up streaming. It is totally left to the imagination of the listener and his/her requirements and the need for such a setup. Hence I would suggest the reader to explore more on streaming, with the rudimentary knowledge gained from this series. I will be back the next month with yet another interesting topic. Until then, so long!
This post is prepared by Vinay.