[Solved] UPNP renderer on Volumio

After some faff, I have managed to create a UPNP renderer that can be installed on Volumio on the Raspberry PI. It would be great to see this feature incorporated into the distribution, but for now the .deb is available from my website.

coraline.org/non-fiction/raspi-upnp-renderer

If you don’t read the instructions you are unlikely to get far. It’s possible you won’t get far even if you do read the instructions.

Hi,

sounds very interesting. I would have posted on the blog but theres no comments option there.
As for your package, theres not much information on what it actually does.
Is it for streaming music FROM the Pi across the network? I’m curious to try it out

ooo, nice work mate… I will have to try it out on my Volumio. :sunglasses:

The package allows you to play music from the Pi’s audio, but using a UPNP media server (such as MiniDLNA) and UPNP control point (such as BubbleUPNP on Android). Essentially it turns your Pi into an output for wireless music streaming, similar to Sonos and/or Logitech Squeezeboxes.

(And no, my website software doesn’t allow comments, sadly. It’s very Web 1.0.)

I have got this working as well. Unfortunately, it isn’t allowing gapless playback (which isn’t a function of the Open Home Bubble Server as you report). I got renderer-ressurect working on Raspbian, and it was gapless both in normal mode and in Open Home mode.

On a side note, is using this going to reduce in a lowering of audio quality compared to Volumio MD service?

If gapless support isn’t working then that’s probably either a bug in gmrender-resurrect (or the underlying gstreamer/ALSA backend) or your media hasn’t been ripped gapless. It’s all compiled from source in exactly the same way you would do for Raspbian and there’s no option for compiling gmrender-resurrect without gapless support.

I’m happy to fix any bugs in the packaging / compile process, but without knowing what might be causing the problem I’m afraid I have nowhere to start, and your best bit is to report bugs against the underlying software in the first instance. I know enough to be able to compile and package the software, but I am not a Linux audio expert, and I can’t debug the code itself.

The audio quality should be the same - both mpd and gmrender-resurrect rely on the same ALSA backend to actually play the audio, I believe.

Thanks for your reply.

All my music has been ripped gapless, I am sure of that. I am also sure that gmrender-resurrect was playing gapless on an installation I had under Raspian as per the instructions at this site:

blog.scphillips.com/2013/07/play … revisited/

When I installed gmrender-resurrect on my volumio installation as per your instructions, suddenly I had gaps. Please don’t take this as a “criticism”, just a report as to my experience. I am very grateful for your work compiling the software. There was one other difference in my setup between the two setups: I had installed (successfully) a DAC (HifiBerry) by the time I tried volumio. I can’t imagine this is the cause however. Do you have gaps and what DAC are you using?

Another thing, the gapless ability is a product of the renderer and not the Bubble Open Home Server. On Raspbian I had gapless both on a “normal” server and an Open Home server.

Thanks for the information on the ALSA backend!

I would love to sort out the gapless problem … the gaps ruin my enjoyment of the type of music I play (classical).

I can observe similar difficulties here, although I think that the “lack of gapless” may in fact be gmrender-resurrect cutting off the first half a second or so of the audio of each track. I believe that someone has filed a bug report on the gmrender-resurrect git page about this, but the developer does seem to be rather busy, unfortunately.

As to it working fine when following the tutorial, standard Raspbian does not use gstreamer 1.2 but gstreamer 0.1. This may be the relevant difference. The developer of gmrender-resurrect has reported that there are bugs that prevent gmrender-resurrect from working correctly with gstreamer < 1.2 which is why I spent 2 days backporting the packages. If this is the problem, then using method 2 on my web page may help.

If that’s not the issue, then all I can tell you is that the page you quote was one that I used in creating the original package. I was in essence following the same instructions you did, so it could be anything from a difference in asound versions to a different version of the kernel modules to some other difference I’ve not thought of which has caused the problem since your initial compile. If you have a working and an non-working version, then comparing the differences in infrastructure between the working and non-working versions may help us to narrow down the culprit though.

I’ve tried with both standard audio out and a HifiBerry Digi board. I don’t think that the issue is device dependent. Unfortunately I can’t even track down the cause with the information we have, yet alone fix it. Sorry if my frustration came across as hostility to your difficulties. I agree that gapless playback would be very desirable, although in truth I’ve never come across any “gapless” solution for MP3 which didn’t involve at least a little “bump” between tracks. This was (is? - I haven’t had a working device capable of running Rockbox for some time, sadly) certainly true of gapless support in Rockbox, for example.

I recently did an rpi-update, and this seems to have improved gapless playback somewhat, although there are still some problems.

Thanks for suggesting the update. I can now report report gapless playback with my setup - streaming flac from my NAS (QNAP). Thanks!

Made my day … :smiley:

That’s fantastic news. Glad to hear it.

Hi
I have volumio running on two different units (cubox-i) at the same time, both have “UPNP control” switched on, and working seamlessly.
However, I cannot control both of them at the same time - I changed the hostname for both of them, but the UPNP server still sees only one “volumio” end-point.
Any suggestions ?
Thanks,
Yair

Hi yairf,

did you try to change the name of your UPNP server in /etc/upmpdcli.conf ?

[code]volumio@volumio:~$ cat /etc/upmpdcli.conf

Configuration file for upmpdcli, the UPnP Media Renderer front-end to MPD

Note: the command line options have higher priorities than the values in

this file.

Host MPD runs on. Defaults to localhost. This can also be specified as -h host

#mpdhost = localhost

Port for MPD. Can also be specified as -p port

#mpdport = 6600

Displayed “Friendly Name” for the UPnP Media Renderer

friendlyname = Volumio

Log file name. Defaults to stderr. This can also be specified as

-d logfilename

#logfilename =

Log level. 0-4. Can also be specified as -l loglevel.

loglevel = 0[/code]

Thanks ! that worked :smiley: