HowTo: Roonify non-Roon streamers (lms-to-uPnP)


I don’t understand exactly what you mean, but I’m guessing that the DAC itself needs to be well isolated from noise.



Well yes - but there are different types of noise - and ‘isolation’ is not a one stop shop.
The best way of thinking about the above is thinking of FM radio… it modulates audio frequencies around a high frequency carrier say 100 MHz. So the carrier is modulated by relatively low frequencies to itself. This modulating carrier produces sidebands and contains lower frequency artefacts that represent the audio when superimposed on the carrier.
In an FM radio for the receiver the carrier is passed a demodulator to extract the audio components.
In a system these elements can be demodulated by non linearity in electronic components, so when and if there is a noise jitter on an ethernet or SPDIF clock, this noise can be recovered unintentionally at the receiver. This noise can modulate other components in the receiver such as power lines, DAC clocks, amplifiers etc. So yes isolation mitigates - but it is unlikely to entirely remove - especially where there are shared physical spaces, ground planes, power lines etc,

The area of maths and engineering that addresses this is called Nonlinear Control Theory and Systems Theory


So the noise reduction measures in the Zenith compared with the Zen or more so the Zen Mini will reduce noise appearing in the DAC. And reduced noise to the PurePower from a charger also.


Noise is a generic term and can mean a multitude of different things, but in essence it means random variation to a value that carries no information. So unless one describes what is being referred to as ‘noise’ one can’t really in any meaningful way say what is then being isolated from it.


At a non technical level can one use one’s ear to subjectively decide between various solutions?


of course - but I wouldn’t use terms like ‘noise’ being reduced etc - (as actually it might not be) - I would simply say product x sounds to you better than product y and leave it at that



I still couldn’t fins this, must be going dumb in my old age but added -s IPAddress:PortNo to the command line arguments and now every time the bridge starts it locates the Roon server.

Thanks for the point in the right direction.


Hmm you where looking at the XML settings for your device via the plugin in LMS?. Wonder if you have a different version of the plugin. What version of LMS do you have it comes bundled already with v 7.9



I have version 7.9.

I was being dumb and not looking in the correct place.

It would be nice to run this without LMS and on my main NAS a QNAP, even the latter would be good. I may experiment more with a VM as this seems the way to go and if using LMS as well it’s the only way to go as it needs to be seen to be running on a different device to Roon. I did have it almost working but was suffering from static noise and other artefacts. Now I understand a bit more I may revisit this.

The solution running on my Netgear ReadyNas seems to be stable and the sound quality is excellent. I cannot detect any difference between this and UPNP server from Asset. Tidal also sounds really good, I think as good as local streaming.

I think I will be purchasing Roon when the trial ends.

Thanks again


You don’t need to run LMS you can run the binary on its own you just need to manually edit the XML to change settings. You could make it a systemd service so it runs at launch. You can run LMS in VM easily enough though.


Yes, I appreciate that you can just run the binary on its own, I did this on my Windows PC as proof of concept. Not sure how I can easily do this on the QNAP without installing an OS inside a VM unless I ‘invade’ the QNAP through the command line which won’t go down well with QNAP should I need support from them.

I have just installed container station and downloaded the Justifiably LMS image. It works a treat, you need to ensure that you use bridge mode so it gets a separate IP address. I did try this before and couldn’t get it working correctly, not sure why but I have learnt quite a lot since then. I pinched the config file from the working system and bingo, it came up first time!

I think I will live with the overhead of LMS running, it doesn’t seem to be causing me any issues and I now have everything running on one box.


Yeah it only an issue if you dont force the plugin to connect to Roons IP or running proper squeezebox hardware as that will hijack the endpoints.