So, I’m slowly working my way through all loops to migrate from LMS to Roon.
While LMS served my needs for years, I think it’s time to move on to something more future friendly. That and both my wife and I are totally impressed by the UI of Roon.
Currently I have this set-up:
- LMS software on powerful NAS
- Library with some music I collected over the years, if possible I want to drop this in favour of online streaming, except for some very special tracks you can’t find online.
- Logitech squeezebox Radio in the kitchen
- Living room setup consists of Canton Vento speakers 5.1.2 with Onkyo midrange receiver.
- Currently using the Onkyo’s airplay function for music but looking into alternatives.
- A whole bunch of raspberry Pi zero W devices with picoreplayer and a AMP HAT’s (hifiberry and justboom) in almost every other room of the house, including outside.
- Currently I have outside, kitchen and living room in one LMS syncgroup.
- Spotify Premium subscription
- Tidal subscription (signed up for the trial when trying out Roon).
Now I want to move this set-up to Roon and make improvements where needed. For example replace the airplay by something else etc.
While at first really impressed by Roon for it’s usability and interface, I soon came to the conclusion that my current LMS setup is more in advanced in every way. Not technically but because of the way I adopted it in my house. So I cancelled my Roon trial to never look back. Within a day after doing that I realised that I need to take a closer look and maybe discuss the things I came across on the forums and give it another shot.
These are the issues I came across so far:
1) Missing support of Roon in my home automation system, Home-assistant.
I solved this myself and created a Python library to connect to the Roon api. Just finished the last piece of code and my home automation can now control Roon. Just as it did with LMS.
2) In relation to the API, it isn’t possible to send a filename or URL to the Roon api to start playing. I worked out some logic to get it to play content in the library, playlists or radio but what if I just want to send an audio file or stream directly ? Will this ever be supported ?
3) Bug in squeezebox implementation: power control
Discovered a -what it seems- strange bug in the squeezebox integration of Roon. You can’t power off a player. If you press the power button in the UI to turn in off, it will turn red for a few seconds and turn back on again. So, you can never turn off your squeezebox devices. This is true for both real hardware devices as the software emulated squeezelite variants. I’ve also noted in the API that the state of the source control at that time gets “undetermined”. This issues bothers me because I want to be able to turn devices off.
4) Control individual devices in a grouped zone
In my LMS setup I have several devices grouped into a zone (in LMS terms sync groups). This means that when all the devices in that zone are turned on I can hear the same music perfectly synchronised at the same time. So far so good as that is exactly what Roon does with it’s grouping. Now there’s something that is very different in design and that is that you can’t power off a devices in a grouped zone. In that case all music is stopped. When you start playback again, it starts outputting to all devices again. What if I only want to listen to the kitchen radio in the morning but if I turn on the living room receiver I can hear the same sound over there too ?
Why can’t you power off one or more nodes in the grouped zone while the other nodes keep playing ? Or should I use the mute function for that as a workaround ?
5) RAAT devices no (software) power
This is probably in relation to my question above. I noticed that software Roon devices (mac app, iPhone app, roonbridge on pi) do not have a software power control. Why not ? Makes sense to me to enable/disable the player’s output. Offcourse I can abuse the mute for that but feels a bit unnatural. I want an output to be off when not in use (low power, handle to sound device closed).
6) No Spotify integration ?!
Although Tidal is great for audio quality, it’s missing a lot of tracks. Spotify is simply more robust and complete. I’ve read a few reports from the past that Roon wasn’t able to integrate Spotify as tight as Tidal but I think that is complete outdated info. The API from Spotify they have now is more complete than Tidal even and you can completely integrate it if you want, except for playback. That’s where you need to collaborate with them or switch to opensource. I’m just curious if there are any plans within the short period of integrating other streaming services into Roon ? For now, I’ll create a workaround myself with an automated sync script which will sync the spotify playlists to Roon playlist and use the local tracks for content missing on Tidal. Also I’ll try to create a spotify connect player which you can select as radio source. Big workaround but satisfies my wife which listens a ton of tracks for this kids that Tidal simply has never heard of.
7) Possible bug with volume control of squeezeboxes
While hunting for a workaround for my “unused players must be turned off” quest I tried to work with the mute function and discovered something interesting. On squeezebox devices (both real devices as software emulated) do not honour the volume settings. If muted or volume level at 0, there is still music playing from the device. It simply doesn’t mute the sound. This makes me believe that the hardware volume control is ignored and the volume is adjusted in software, which would be bad considered that I have DAC’s connected with real hardware volume control. The same applies to the real squeezebox devices off course.
8) Hardware volume control with RoonBridge?
In relation to above. If I decide to replace all my current pi zero +picoreplayer devices with a pi3 or nano or alike with RoonBridge installed, will that use the DAC’s hardware volume control ? I have a lot of those AMP hat’s for several zones in my house and I want to use the hardware volume control, not some software volume control. I can’t find the answer to this question with searching.
8) Replacement for livingroom output
Any advice on what to do with my livingroom node because Roon can’t sync airplay with other devices (where LMS did) ? I’m a small bit of audiophile but without a big budget.
I have very descent speakers in my living room (Canton Vento) with a brand new Onkyo midrange receiver TX-NR676 (to be replaced by something more high end later). As far as I can tell this receiver has a pretty well designed DAC but I’m no specialist. Hopefully somebody can give me some objective advise what to do here.
Some options I collected while browsing the net/forums:
a) RoonBridge/PiCoreplayer endpoint with Pi (or similar) and some i2S add-on board like the Hifiberry to send Toslink or Coaxial digital output to my receiver. The dac of the receiver is used to process the audio from the digital input.
b) RoonBridge/PiCore endpoint with pi (or similar) with a well designed DAC from Allo, HifiBerry or similar that supports high bitrates and such (is there one that supports MQA ?). In this case analog audio is sent to the receiver.
c) Same as 2 but with well designed USB soundcard like the Meridian Explorer 2 or AudioQuest which supports high bitrates and MQA. Analog audio sent to the receiver.
d) Some dedicated network attached DAC. I’ve read about these but don’t know where to look. Also I’m not sure if such a device (which seems expensive to me) it actually performing better that the DIY endpoints with proper DAC.
e) Raspberry Pi connected with HDMI to the receiver. Digital audio (up to 192khz) is sent digitally to the receiver which processes it. This is what I am now temporary using picoreplayer and I wrote a source control addon for the API. Seems to work fine and although not stunning the sound quality is good. However I read everywhere that because of jitter the HDMI connection is to be avoided.
Basically my main concern is (considering my budget) if I should use my receiver’s DAC and send in some digital stream with coaxial or toslink OR should I really use a dedicated DAC and send the audio as analog to my receiver ?
Sending it in as analog seems strange to me (but maybe I get it wrong) because I think that the receiver will in that case process the analog incoming signal to an ADC, so there’s even an additional step involved. I use the room correction features on the receiver and have it set to “all stereo” for my 2 channel sources. So I’m pretty sure analog signals are converted to digital to do processing.
As for replacing the living room node with a Raat endpoint, I’ll loose the sync with the kitchen (current is squeezebox radio) so I must replace that one with another endpoint. What does work well in this case ? A small speaker for background listening with some simple play controls on it. Bluesound ?
Thanks in advance for reading my long post of ramblings here and helping out with any of the questions !