Review Context
JPLAY will be listened to in the main system using the Precision C1.2 and Aqua LinQ streaming endpoints and the Aqua Formula xHD DAC. The rest of the system comprises the CH Precision L1 preamplifier, CH Precision A1.5 power amp, and Magico S1 MkII speakers.
Connection to Endpoints
In practice, I found that the app connects instantly, as promised. The detection process is automatic but, if desired, can be re-triggered by tapping the Refresh or Search Again buttons. Sometimes, an output can take a while to appear in the list. I’m unsure what the variable is, but after I downloaded the app and fired it up for the first time, the CH Precision C1.2 DAC and the Denon AVC-X3800H receiver took a while to appear. But when I later switched on the Aqua LinQ, it appeared instantly in the list of outputs, even though it was powered on and accessed through JPLAY last. I should add that this is not unique to JPLAY but is common behavior to all other UPnP apps I use presently and have used in the past. In any case, my experience is that once a device is recognized, it will remain available instantly.
Indeed, all outputs always appeared instantly throughout the rest of my listening sessions, spread over several days and through system power cycles. Even when I uninstalled and reinstalled the app, the Renderer screen populated absolutely instantly.
Setting the stage
The interesting aspect of software reviews is that they do not start with a piece of hardware. Usually, I connect a device and allow it to warm up, wait a certain period, and then form my listening impressions across a handful of listening sessions. With software, that process is turned around. As my work room and music room are in different sections of the apartment, these tasks are usually separate. Sometimes, I take a laptop with me to make notes while listening, but usually, I collect thoughts and walk over to the other room to write them down. I guess all those walks count at least a little toward retaining my health… Anyway, with this JPLAY review, I found myself glued mostly to the computer in the workroom while the audio system in the other room was switched on so that I could test the app and take screenshots.
As I casually walked back and forth between the work room and the audio room while streaming directly from JPLAY with Qobuz to the C1.2 DAC to patch a cable, I noticed how crisp and lively the music sounded. Really, I thought, would the Sound Quality difference be this obvious?
But before I get into detail on how JPLAY compares to Roon and other UPnP players, please allow me a little detour to set the stage.
As I’ve mentioned in other reviews, Roon’s sound quality fluctuates with every update. After a long dip, Roon build 1359 thankfully sounds very good again, but even when performing optimally, Roon has an inherently different character than UPnP, MPD, and Squeeze. In a nutshell, Roon sounds smoother, fuller, and more saturated. Combined with its spacious presentation, I can understand why it may be preferable to some. However, UPnP is inherently crisper, more direct, lively, and expressive. It is still fluid and refined but just not overly smooth or round. Just how individual users feel about these relative differences is a personal matter, but the differences are there.
Roon is not compatible with UPnP but does work with HQPlayer, which is why I am so glad to also have the Aqua LinQ streaming endpoint, which supports both UPnP and HQPlayer. Roon’s sound quality ties in with the server on which it runs, but I can always hear its inherent presentation. Interestingly, the Grimm MU1 achieved a particularly synergistic balance. At some point, that server sounded every bit as crisp and expressive with Roon as the Aqua LinQ did with UPnP. But a lot of Roon updates and a few Grimm updates later, this balance tilted. While the Grimm currently still sounds tighter and more direct than other Roon servers I heard, the Aqua retains the crown in these areas.
The CH Precision C1.2 DAC has provision for UPnP and Roon streaming functionality via optional extension modules that slide in the back. The DAC sure works effortlessly with both formats, but with Roon, I feel it sounds quite laidback and a little soft. With UPnP, however, the C1.2 sounds really good, especially now that I hear it again with the JPLAY app.
So, how do the CH and Aqua endpoints compare using JPLAY, and, more importantly, how does JPLAY compare to other UPnP apps?
JPLAY compared
As hinted at further up, I noticed even in passing that JPLAY sounds beautifully crisp and coherent, streaming from Qobuz. When sitting down and comparing it to Roon, my hunch was immediately proven correct. Sure enough, Qobuz in Roon via Grimm MU1 into C1.2 via a Jorma AES/EBU cable sounds noticeably less incisive and crisp than Qobuz in JPLAY directly to the C1.2’s streaming input. The latter has a beautiful liquidity, refinement, and naturalness, but at the same time also offers the articulation, expression, and communication that I so crave.
I realize the C1.2 is not within everyone’s reach, but fortunately, there are alternatives that are not only much more affordable but perform at the same level or, depending on your preferences, arguably sound even better. My personal reference in this field is the Aqua LinQ.
With UPnP and connected with the same Jorma AES/EBU cable, the LinQ sounds even tighter and more focused than the C1.2, with a less wide, more forward, more upfront soundstage. It does give up a smidgeon of airiness and refinement and is a little drier, but regardless, it sounds so hugely toe-tapping and expressive that the remaining offset is, if not academic, at the very least, no deal-breaker.
With the LinQ, we always had standard UPnP, but the Core + NAA Module adds HQPlayer compatibility and integrates a UPnP renderer. To my surprise, I found that these two input options sound different!
I know HQPlayer may have a bit of a spotty reputation, rightfully praised by dedicated tweakers and understandably loathed by music lovers who just want to hit play. Sure, the HQPlayer software can be tricky to set up on its own and offers more configuration options than some are comfortable with, but the way the software is implemented in the Aqua LinQ (HQPlayer embedded), it is pre-configured by Aqua and basically Plug & Play. In any case, when streaming to the HQPlayer Embedded output in JPLAY, we’re still using UPnP, which is very much Plug & Play. As a result, there is literally nothing the user needs to do. Both of the LinQ’s inputs just appeared in the JPLAY output list immediately after switching the unit on.
With the HQPlayerEmbedded and regular UPnP input (labeled “LinQ”) available, I could freely swap between the two back and forth and back, and it just worked instantly. Moreover, my jaw dropped a little when I heard UPnP via the LinQ’s Core + NAA module. In this mode, JPLAY offered the fluidity, air, spaciousness, and refinement of the C1.2, combined with the robustness, tightness, and focus of the LinQ. How about that?
And now, we’ve arrived at the final part of my comparisons to assess how JPLAY compares to Mconnect. I will admit I was a little worried the difference might not be as large as it seemed while listening casually. But in comparing the same track in Qobuz via Mconnect versus JPLAY, both streaming to the Aqua LinQ, sure enough, JPLAY sounds crisper, more expressive, and more well-rooted. I repeated the test twice but can only confirm these differences exist. Mconnect, by comparison, sounds softer, less incisive, and a little bit more processed/filtered. All things combined, JPLAY sounds more vigorous and alive and, ultimately, more realistic.
Conclusion
Whereas most non-Roon apps make the user give up a lot of convenient functionality, JPLAY combines Qobuz, Tidal, and local content in a single, richly-populated interface while also offering features that you don’t often see outside of Roon, certainly not in a UPnP app.
JPLAY is a wonderful app that offers a rich yet slick and easy-to-use interface combined with superb sound quality. I rarely encounter zero hurdles when trying a new piece of software while effortlessly stumbling on one unexpected and rarely included useful feature after another. JPLAY for iOS offers the cake, adds whipped cream and a cherry on top, and then allows you to eat it!
This app is not only a joy to use, but it is also packed with everything you can think of for controlling your local and streaming libraries via UPnP, and then some. Meanwhile, it offers the best Sound Quality I have heard from a UPnP app. As may come as no surprise, JPLAY is not only Highly Recommended, but effective immediately, also my new favorite UPnP tool!
Availability
The updated JPLAY app with TIDAL MAX integration is available for download in the App Store for devices running iOS, iPadOS, and MacOS (M1 CPU or later).
External Links
Manufacturer’s website front page: JPlay
JPLAY for iOS website: https://jplay.app/
Hi Christiaan,
great review, I appreciate the comparisons.
As you like JPLAY for iOS it would be interesting to know how XACT S1 server with Formula DAC compares to Linq/Formula and CH Precision.
Matt
Hi Matt, that would indeed be interesting to find out! 🙂 There’s a chance I may indeed also review the JPLAY XACT server, but no definitive planning just yet. If/when I do, I will make sure to make those comparisons.
Is it possible to listen to radio stations via Upnp through JPLAY app?
JPLAY for iOS has “radio” as in the automatic queue and shuffle function but it does not currently have internet radio stations like TuneIn and such.
Christiaan,
also for your upcomig Antipodes K22 review some comparisons vs Aqua LinQ would be very nice as both endpoints are roughly in the same price range.
The K22 review is now ready and will be online soon. I’ve not made comparisons with the LinQ as I don’t feel they are the same kind of device. (Pure streaming endpoints). The K22 can perform that function but is also a complete all-in-one server while the LinQ can only be an endpoint. If the LinQ also had a server component, I would naturally have compared them. Nevertheless, I’d be happy to comment on how they compare in the comments after the review is online.
From what I understand the moment I switch off my iPad the music stops.
No matter what I was playing, internet radio, qobuz or local storage on my server.
I that correct ?
That would be a deal braker for me; I had this in the past with the MConnect app and definitely don’t want that again.
When I start playing music, e.g. a ripped cd on my server, I switch off my iPad and switch it on an hour or so later (the moment the music stops).
No problem with the app I’m currently using.
If you switch the iPad completely off (powered down, requiring a reboot) then it cannot send URLs to JPLAY. In that case, the current track will continue to the end but after that, playback stops. If you leave your iPad on (display active or showing lockscreen), so not fully powered down, then the music continues the same was as when leaving it fully on.
Using a Holo Red with HQPlayerEmbedded I wanted to use Jplay. I select the HQPlayerEmbedded as renderer and connect Qobuz but when trying to play a song I get this error message: error sending action to renderer
How to fix this?
Hi Marc, do you only get this error message when you play a song via Qobuz? What happens when playing e.g. local media? Alternatively you could flash a micro SD Card with HQPayer NAA and see if this works ok. You’ll need hqplayer5desktop_5.4.2-12_arm64 download (Red uses a Pi4 Compute module)
In my opinion (during my listening tests) Jplay IS [now] the only [graphic and UI] Roon competitor, a part the InnuOS sense and maybe BluOS.
Fast, beautiful windows and intuitive… Ah, OK: you wrote this! (:-)
Talking about SQ, and specially vs mconnect (old school and almost obsolete today) I found exactly the opposite meaning that you found: mconnect is more neutral, and leaves the “work” to the DAC while Jplay sounds to me like Roon and therefore “softer”.
(Roon is even more so!)
Not having (yet) the TuneIn / Vtuner radio service (flac!) Jplay is not good and especially if you have to pay for the APP.
At this point, innuOS sense is #1, but only works on InnuOS.
I will wait for new releases :))
P.S. Strange that Jplay it continues to play until the end of the song if you close the APP: so does it buffer? But does it have anything to do with the “less data” for the streamer?
No, I saying this because mconnect instantly ends the music (so less data = 0 buffering?) by closing the APP.
Hi Luca, how interesting that your observations are the opposite of mine comparing MConnect to JPLAY. There must be another variable to take into account but because I heard the same differences with the Aqua LinQ as the CH C1.2, I wonder what it might be. Regarding playing the current track until the end even with the control point switched off, as I understand it, JPLAY sends the URL of a track to the Renderer which simply takes it from there, continuing the data connection with the streaming service host for that track. Only a small portion of the track is buffered while new data is transmitted more or less continuously. Without a new URL sent for the next track to play, playback stops after the current track.
Just out of curiosity I tried JPLAY for a few days and then had enough of it.
I want an app where the music continues to play when I switch off my iPad.
Not just one song, but the whole album.
The app I’m currently using works exactly like that. (hurrah).
JPLAY, like mConnect, sadly not.
That’s already a deal breaker for me. Plus several error messages that JPLAY could not detect my local server, despite the fact it was switched on and wired connected to the internet.
So I’ll stick to my dCS app.
Hi John, sorry for a very belated response. I find that the playback with JPLAY continues as long as the app remains active in the background, also with the iPad in lock/sleep with the screen off. I’ve listened to countless albums and assembled playlists of local and Qobuz material unattended, and playback has never stopped. Only when I close the app, playback does stop. I wonder what the delta is between your situation and mine.
Regarding the “server unavailable” error message you mentioned, I have also seen that and this can happen when you’re mixing and swapping between multiple servers and control apps. As long as I use the one app with the one server, operation has been rock-solid. When this message appears, even though the server is visible in the JPLAY app settings, it indicates the connection was lost (for instance after a power cycle). All that needs doing is to tap “Search Devices” to let the app re-establish the connection. After that, the content will play again.
AFAIK, dCS Mosaic also works via UPnP, so I wonder how it differs from JPLAY in terms of continued playback.
Hi Christiaan, thanks for your response.
In another response (not to me) you wrote :
“If you switch the iPad completely off (powered down, requiring a reboot) then it cannot send URLs to JPLAY.
In that case, the current track will continue to the end but after that, playback stops”.
That’s exactly my problem I was trying to explain to you, apparently not clear enough.
My dCS Mosaic app does not have that problem (flaw ?).
e.g. I can start a 2 hour playlist and from the moment the music starts playing I can switch the iPad completely off, the music keeps playing until the end of the playlist, some 2 hours later.
Saves a lot of battery charging.
Hi John, sorry for the late response. Your reply was in spam and I only found it now. Ok, in that case, it seems that dCS uses OpenHome rather than UPnP. In day to day use, I don’t notice the functionality eating into the battery, even if you can look it up in the tablet settings. I do notice it when I have music playing 24/7, for instance, to run in a product or cable. But even then, the tablet still lasts several days on a single charge.
Thanks for such a full presentation of an important option to Roon. As usual, your site does us all a valuable service.
A quick question: I’ll be visiting Amsterdam this Spring and, apart from the links on your site, are there high end dealers you can recommend?
Alas, we don’t have many true high-end dealers left. A10Audio is the only one that springs to mind to offer truly esoteric equipment. We do have HiFi Solutions, iEar, and HiFi Klubben. But most of the ones that offer the top-shelf items are outside of Amsterdam.
Many thanks Christiaan – as it is there it is here. Sad to say. Truly appreciate your quick reply and help. You do us all a real service and it’s much appreciated.
Hi Christiaan, thanks for the interesting review. As an Antipodes User (K22+K41 G4’s) I am becoming more and more aware that Roon with Roon endpoint is not the best sounding option. Using Squeeze with LMS is so much more engaging although Roon is really smooth as you said. Squeeze material skin is nice but on the player side (Web UI or iPeng) I do find it limited and reverted to Roon Server with Squeeze endpoint, which was a bit best of both worlds. And now I tried JPlay and I noticed directly the clarity and crispness and a much better UI then iPeng (and Material). A big advantage over Roon remote on the iPhone by the way is that you can see and manage the songs from the Home Screen (Roon= Unlock first). So I am considering switching to Jplay, MPD, MinimServer on the Antipodes. Would you think it will decrease sound a lot if I keep Roon server running (I use Roon Arc a lot in the car)?
Hi Richard, Antipodes has always advised to enable only the apps you need for best SQ and I agree this is best practice. Roon Server has an effect on the sound when running and connected to the network. But it’s much less evident than when actually using Roon for playback. So, don’t worry about it if you’re happy now using Squeeze as your main app and running Roon simultaneously.
Hi Christiaan, thanks. My choice will be between Roon with Squeeze endpoint and MPD/Minimserver/JPlay then.
Hallo Christiaan,
Ik luister TIDAL Max via NuPrime Omnia 300 en nu met JPlay op mijn IPad3(laatste softwareversie). Het verschil is duidelijk positief waarneembaar dat mij bijna deed besluiten om de app te kopen was het niet dat ik regelmatig een errormessage kreeg, Failed to load data from renderer- (NuPrime). Alle opties die mogelijk zijn heb ik doorlopen tot zelfs het opnieuw installeren van de app. Ik heb nog geen nieuws van NuPrime of JPlay gekregen op mijn probleem.
Heb jij misschien nog ideeën wat ik zou kunnen checken?
Hi Jan, I have never come across that error and suspect it may be something in your network. Does the app stream ok to other endpoints in the same network? Do other UPnP apps work or do they have the same problem? To double-check it’s not the server/NAS or app, you can select the iPad itself as the endpoint and see if that works.
Hi, has anyone compare Rigelian to J-play and mconnect ? Love to see more sound quality evaluations.
I have MconnectHD and JPLAY. JPLAY is way, way better than Mconnect.
Bonjour Christian et merci pour tout ces essais, je suis possesseur d’un Melco N1zh que j’utilisais jusqu’à maintenant avec l’application Linn sur un ipad et grâce à votre analyse je passe sans hésiter à Jplay,après la validation d’une une écoute comparative entre les deux la jplay c’est avérer plus organique et une véracité sur les timbres légèrement meilleure.
Merci et bravo à vous !
Hello Christiaan, wil this also work on a Sonus Faber Omnia streamer?
The Omnia is compatible with AirPlay, Chromecast, Spotify, Tidal, Roon, and Bluetooth. No UPnP, I’m afraid.
Ok, Thanks for the advice.
regards Albert