Keith_W
Major Contributor
Hello all. My home audio system consists of a PC which is essential to the system - it creates the crossover and does the convolution. When I designed the system, streaming was not yet "a big thing" and my intention was only to play my collection of local music. However, in the past few years a number of streaming services have come to the market, and I needed a solution to cast streamed music from my Android tablet (control point) to my Windows PC. All streaming services have apps that can run on the PC, but I am too lazy to go to the PC every time I want to cue up a different album, so I need my Android tablet to be my control point.
I have done some investigations on how to do this, but I believe I still have stones left unturned. The intention of this thread is to find those stones and turn them So here we go.
1. Windows Remote Desktop
This works by running the app on the PC, and then mirroring the desktop on your phone or tablet. Pros: it works. Cons: in practice, the icons and text are tiny, difficult to click on with fat fingers, and there is enough latency to make this an unnatural experience. The only volume control is a tiny slider and it is almost impossible to set the volume accurately. The workaround is to reduce the desktop resolution on the PC, but this also messes up the interface. This also requires Windows 10/11 Pro, which may be an additional cost for you.
2. Roon
This is the only software player I am aware of that natively supports streaming from Tidal and Qobuz. Pros: it works. Cons: Roon is expensive, and streaming is limited to either Tidal or Qobuz. I want to use Idagio (specialist classical music streaming service) - no luck there. This does not apply to me, but it does not support the largest streaming services on the market - Spotify, Apple Music, or Amazon.
3. UPNP and DLNA
Requires a UPNP control app (like BubbleUPNP or mConnect) and a DLNA endpoint (like JRiver). This also requires that your streaming service is supported by BubbleUPNP/mConnect, at the moment this is limited to Tidal and Qobuz. Pros: it works, and it's cheap. Volume control is done via the Android tablet's hardware volume button. Cons: the interface is ugly, it sometimes can not find albums that I know exist (I can find it on the Tidal app, but not on BubbleUPNP), and there is severe latency due to UPNP. A minimum of 4-5 seconds for any input (e.g. volume change) to be sent to the PC. This is the solution I am currently using, and I am not happy with it because it does not support Idagio.
4. Casting via Chromecast
To get this to work, you need either the discontinued Chromecast dongle or a Wiim. This needs to be connected to a sound card (I use my RME Fireface UC via optical), which then sends the audio to the PC. In the PC, I have to set up JRiver to listen for ASIO input (File - Open Live - ASIO, then assign the correct input channel). Pros: this works. You also get to use the native streaming app. Cons: complicated to set up, and this is not a "one off" setup either. You have to get JRiver to listen for ASIO input every time you want to use the streaming service. Also, it has two devices in the middle (the tablet and the RME) which increases unreliability and potential for wi-fi interference. With Chromecast, you lose gapless playback. There are too many downsides to this solution for me to consider it viable.
5. Casting via Bluetooth
Similar to above. This requires a Bluetooth receiver (like the Wiim) to be connected to the RME Fireface, and then the same connection from then on. Also requires that your streaming service supports casting via Bluetooth. Pros: at least you don't lose gapless playback. Cons: similarly complex to set up. Bluetooth is even more unreliable than Wi-Fi, and you lose lossless playback due to Bluetooth compression. Again, not an option.
6. AirMusic Pro
AirMusic Pro is an Android app that requires root. It "listens" to any audio output from any app on your tablet, then casts it via DLNA to JRiver. Pros: it works, and it supports any streaming service or any app that can run on Android, including Idagio. Cons: requires root, and it has the android tablet "in the middle". This makes the connection unreliable, with dropouts and skipped tracks fairly common. On some days, it works like a charm - when my wi-fi router is in a good mood. But sometimes my router decides to spite me and says "no music for you!". It also drains the battery on the tablet quickly, requiring the tablet to be plugged in for an extended listening session.
Other options looked at but not yet tested:
- Casting to SONOS. Requires purchase of a Sonos Port and some way to connect the Sonos to the PC. It only has one digital output (SPDIF) or analog output, and it needs to be connected to an outboard sound card like my RME. This also requires your streaming service to be supported by SONOS (fortunately, Idagio is supported).
- Casting via AIRPLAY. Requires purchase of an IOS device and a Mac. Also requires that your streaming service supports casting via AirPlay It maxes out at 16/44 and there are variable reports about gapless working / not working. I don't have any Apple products but it may work for you - your report on how well this works would be appreciated.
- Use SPOTIFY. Spotify is the ONLY streaming service that casts from its app on the tablet to its app on the PC using Spotify Connect. NONE of the other streaming apps can do this (!!!). However, no lossless and classical music selection is rather limited despite the size of their library.
- Use HQPLAYER EMBEDDED. Apparently HQP now comes as its own OS and can be installed on a PC, effectively turning the PC into an appliance. HQP does not natively support streaming, which requires purchase of a third party streamer that supports the streaming service that you want to be connected to it. I am not sure how this connection would be made since I haven't looked at it closely. Any comments would be appreciated.
As you can see, all the solutions I looked at require complicated chains of hardware or software, and suffer from various issues - some are bigger dealbreakers than others. Right now I am putting up with the ugly interface of BubbleUPNP and the severe latency. I want a better solution than this, but I haven't found one - everything else seems compromised or doesn't do what I want - e.g. I mentioned Roon for completeness, but it will not be considered because of expense and lack of Idagio support.
I have done some investigations on how to do this, but I believe I still have stones left unturned. The intention of this thread is to find those stones and turn them So here we go.
1. Windows Remote Desktop
This works by running the app on the PC, and then mirroring the desktop on your phone or tablet. Pros: it works. Cons: in practice, the icons and text are tiny, difficult to click on with fat fingers, and there is enough latency to make this an unnatural experience. The only volume control is a tiny slider and it is almost impossible to set the volume accurately. The workaround is to reduce the desktop resolution on the PC, but this also messes up the interface. This also requires Windows 10/11 Pro, which may be an additional cost for you.
2. Roon
This is the only software player I am aware of that natively supports streaming from Tidal and Qobuz. Pros: it works. Cons: Roon is expensive, and streaming is limited to either Tidal or Qobuz. I want to use Idagio (specialist classical music streaming service) - no luck there. This does not apply to me, but it does not support the largest streaming services on the market - Spotify, Apple Music, or Amazon.
3. UPNP and DLNA
Requires a UPNP control app (like BubbleUPNP or mConnect) and a DLNA endpoint (like JRiver). This also requires that your streaming service is supported by BubbleUPNP/mConnect, at the moment this is limited to Tidal and Qobuz. Pros: it works, and it's cheap. Volume control is done via the Android tablet's hardware volume button. Cons: the interface is ugly, it sometimes can not find albums that I know exist (I can find it on the Tidal app, but not on BubbleUPNP), and there is severe latency due to UPNP. A minimum of 4-5 seconds for any input (e.g. volume change) to be sent to the PC. This is the solution I am currently using, and I am not happy with it because it does not support Idagio.
4. Casting via Chromecast
To get this to work, you need either the discontinued Chromecast dongle or a Wiim. This needs to be connected to a sound card (I use my RME Fireface UC via optical), which then sends the audio to the PC. In the PC, I have to set up JRiver to listen for ASIO input (File - Open Live - ASIO, then assign the correct input channel). Pros: this works. You also get to use the native streaming app. Cons: complicated to set up, and this is not a "one off" setup either. You have to get JRiver to listen for ASIO input every time you want to use the streaming service. Also, it has two devices in the middle (the tablet and the RME) which increases unreliability and potential for wi-fi interference. With Chromecast, you lose gapless playback. There are too many downsides to this solution for me to consider it viable.
5. Casting via Bluetooth
Similar to above. This requires a Bluetooth receiver (like the Wiim) to be connected to the RME Fireface, and then the same connection from then on. Also requires that your streaming service supports casting via Bluetooth. Pros: at least you don't lose gapless playback. Cons: similarly complex to set up. Bluetooth is even more unreliable than Wi-Fi, and you lose lossless playback due to Bluetooth compression. Again, not an option.
6. AirMusic Pro
AirMusic Pro is an Android app that requires root. It "listens" to any audio output from any app on your tablet, then casts it via DLNA to JRiver. Pros: it works, and it supports any streaming service or any app that can run on Android, including Idagio. Cons: requires root, and it has the android tablet "in the middle". This makes the connection unreliable, with dropouts and skipped tracks fairly common. On some days, it works like a charm - when my wi-fi router is in a good mood. But sometimes my router decides to spite me and says "no music for you!". It also drains the battery on the tablet quickly, requiring the tablet to be plugged in for an extended listening session.
Other options looked at but not yet tested:
- Casting to SONOS. Requires purchase of a Sonos Port and some way to connect the Sonos to the PC. It only has one digital output (SPDIF) or analog output, and it needs to be connected to an outboard sound card like my RME. This also requires your streaming service to be supported by SONOS (fortunately, Idagio is supported).
- Casting via AIRPLAY. Requires purchase of an IOS device and a Mac. Also requires that your streaming service supports casting via AirPlay It maxes out at 16/44 and there are variable reports about gapless working / not working. I don't have any Apple products but it may work for you - your report on how well this works would be appreciated.
- Use SPOTIFY. Spotify is the ONLY streaming service that casts from its app on the tablet to its app on the PC using Spotify Connect. NONE of the other streaming apps can do this (!!!). However, no lossless and classical music selection is rather limited despite the size of their library.
- Use HQPLAYER EMBEDDED. Apparently HQP now comes as its own OS and can be installed on a PC, effectively turning the PC into an appliance. HQP does not natively support streaming, which requires purchase of a third party streamer that supports the streaming service that you want to be connected to it. I am not sure how this connection would be made since I haven't looked at it closely. Any comments would be appreciated.
As you can see, all the solutions I looked at require complicated chains of hardware or software, and suffer from various issues - some are bigger dealbreakers than others. Right now I am putting up with the ugly interface of BubbleUPNP and the severe latency. I want a better solution than this, but I haven't found one - everything else seems compromised or doesn't do what I want - e.g. I mentioned Roon for completeness, but it will not be considered because of expense and lack of Idagio support.