Most streamers and DAC/Streamers are “remote-controlled” by means of apps to be installed on Smart Devices, i.e., tablets or phones. Some of these apps are developed with dedication and great effort by the companies that produce the hardware on which they are to be installed; this is the case, for example, with the now defunct AURALiC, which developed the excellent Lightning for years, or with the apps of Linn, Lumin and dCS. Other companies prefer instead to rely on software made by external developers, such as Bubble UPnP, mConnect, etc. JPlay for iOS is the proposal, presented for quite some time now and therefore fully matured, of the Polish company JPlay, which for years has been making the program of the same name for Windows, as well as the popular JCat-branded hardware that I use with satisfaction in my audio PCs.

General framework
I begin by premising that the topic of UPnP(Universal Plug and Play) is rather complicated and lends itself well to “informational slips” on the part of those – yours truly in this case – who, in an attempt to make complex concepts understandable, might oversimplify. So I will be forgiven by readers who are more knowledgeable about this specific subject and have a higher technical background than I do.
UPnP: some brief hints
Originally created by Microsoft in October 1999 as a protocol package, UPnP was further developed by the Open Connectivity Foundation (OCF), which has been managing its developments since 2016. In its AV version, it is to date the most widely used protocol in the audio video industry. This basically explains why JPlay for iOS works with almost any network streamer or DAC on the market. Before we get into the merits of the app, I think it is useful to recall once again the basic concepts of the UPnP standard. A digital audio system based on this architecture consists of the following components Software side: Media Server, Media Renderer and Control Point. Music files are stored on the media server. The Media Renderer receives the music files from the server and converts them into a digital audio data stream, which is then sent to the digital analog converter (DAC). The Control Point acts as a “control center” between the media server and the renderer and displays the music tracks stored on the server. It does not actually affect the quality of audio playback directly, since the audio files are not sent from the media server to the renderer through the Control Point, but directly albeit with its intermediation. Nevertheless, a Control Point communicates with the server and the renderer through the network infrastructure. Keep this in mind, because we will return to it shortly.

Description
JPlay for iOS is a Control Point compatible with the UPnP/AV standard, running on both Apple iOS and iPadOS; this implies that Android OS users are cut off; sorry, but they are. Actually, it also works on Macs as long as they have an M1 processor or higher. On the audio hardware side, compatibility is assured with almost all network DACs on the market. By this I mean those DACs that have a wired or WiFi network port. In case they do not have it, I am therefore referring to “pure DACs,” one can resort to an external component that adds such functionality, such as a WiiM or a Volumio Rivo Plus or a properly configured Raspberry, just to name a few. Consistent with its role as a Control Point JPlay scans content on one or more UPnP servers, finds UPnP renderers on the same network, and-if desired-connects to streaming platforms (Tidal and Qobuz). Beyond this there is to report a beautiful graphical interface through which one interacts with one’s music collection. The interesting thing is that JPlay does not need a Core (server) to work as is the case with, for example, Roon or Logitech Media Server.

Context of the evidence
Below I will describe the context in which I routinely use JPlay for iOS and in which my testing took place. This is by way of example only and with the purpose of providing useful elements to understand how, eventually, this app might integrate into your usage scenario and system architecture:
- JPlay running on iPad or iPhone;
- Local music stored on two (aging) QNAP NAS on which MinimServer 2 runs;
- Streaming music from Qobuz;
- Intel based audio PC with AudioLinux Operating System (MPD+UPNP DCLI) as UPnP media renderer with USB audio output ( JCat USB XE PCI sound card);
- Aqua La Scala MKII DAC that receives the audio signal via the USB input.
As an alternative to the last two items:
- Network interface Playback Design STREAM – IF (equipped with Ethernet port and UPnP compatible);
- DAC Playback Design MPD-8 connected by optical fiber (P Link protocol) to the STREAM – IF;
Or again:
Technique
Before I report on the interface and usability of the app I would like to write something with respect to its technical rationale , summarizing what I was told by Marcin Ostapowicz, i.e., the developer as well as owner of JPlay/JCat. Typically a UPnP control point generates quite a lot of traffic on the network, constantly communicating with the server, renderers, streaming platforms and other entities (e.g., switches, routers, etc.). JPlay’s goal is to keep the traffic coming from the Control Point to an absolute minimum. To this end, on the settings page, we find the “Update Time” parameter, which is used to adjust the cadence at which JPlay performs playback status checks. The range of the parameter is from 1 to 12000–I ignore the unit of measure to which the number refers–and the developer urges using a value close to, but before, the point at which JPlay loses control of playback.

My limited computer skills do not allow me to argue about how determinate this parameter can be with respect to playback quality. I merely report that JPlay outclassed in terms of pure sonic quality my usual reference in this area, namely mConnect. As for Roon, whose sonic quality is in my opinion relatively inconstant between versions, only with the latest upgrades can one say that there has been some competition. Transparency, detail, timbral balance, harmonic richness, everything in JPlay for iOS is at excellent levels. The “real competition,” assuming we can talk about it, is only with HQPlayer, which, however, requires dedicated hardware that can still be somewhat integrated by JPlay as we will see later.
User interface
My experiences of use with the control points mentioned in the opening of this article are mixed: while I appreciate their ease of use-assuming everything works smoothly, otherwise you’d be from listening tocomputer troubleshooting in no time at all-and their compatibility with a wide variety of hardware, they cannot, however, in any way compete with the completeness of the interface of the best software such as, as an obvious example, Roon. JPlay follows a different trajectory: I summarize the concept by reporting that, in most cases, friends who saw me using it thought it was Roon. And indeed, there is no denying that the reference is just that. Which, for yours truly, is the highest compliment I could pay, as I continue to consider Roon a reference in terms of user interface, search capability, and usability. JPlay for iOS shines in terms of quality of graphics, rational organization of content, richness of content with artist-referenced biographical notes, song lyrics, cross-references, in short, a richness that you really wouldn’t expect from a “simple” UPnP Control Point.

Populating the JPlay for iOS database with content is very simple: basically you just select one or more media servers from the Settings page, and/or login to your TIDAL or Qobuz account (or both) if you have a subscription to them. Then JPlay will be the one to download the list of content (just the list, not the files themselves) and index it. The first aspect I want to bring to your attention is that JPLAY integrates streaming services and local content into a single interface. This allows for much more effective and easier navigation and search than players that drastically divide the sources. Nevertheless, for more traditionalist users-I know many of them-you can always enable navigation based on the hierarchy of folders on the server. A hierarchy that, especially some users who are particularly demanding with respect to this aspect, take years to fine-tune.
The home screen shows at the top the total number of: albums, tracks, artists, composers, and playlists present. A click on each of the panes takes us to the respective list view pages. Very convenient. Also on the home page is a list of the latest tracks played, Qobuz Top Albums and Playlists, favorite albums and tracks as well as the latest albums uploaded. For each item a small icon identifies its origin, i.e., whether from local server or streaming platform. I want to point out that the home contents mentioned above can still be edited and/or rearranged from the settings page. In practice, therefore, one can adapt JPlay to one’s own needs by “tailoring” its interface.

Moving to the album display page, it is possible to access the filtering function, which turned out to be really well done: not only can one perform searches by artist and composer, but also set up multi-criteria searches referring to different parameters-even technical ones-of the file. For example, “Find files in DSD format, Classical genre, period 1900.” The operation of the filters can also be somewhat customized by the settings that can be applied to metadata management from the appropriate settings page.

JPlay supports automatic contextual search, meaning that if I am listening to a Miles Davies album I will be offered other albums by the artist, or different versions of the same album, even suggestions of albums by different artists but somehow related to Miles Davies.

The page of the album being played, in addition to the list of tracks, contains useful information regarding the technical characteristics of the file being played, as well as its provenance (server or streaming platform). Clicking on the artist’s name then opens (if available) a page with relevant biographical notes, discography and whatnot.

Although I don’t happen to use it on a regular basis I must point out the presence of the JPLAY Radio option that takes charge of continuing to search for music consistent with what we were listening to at the end of a track, album or playlist. This option, very convenient when you listen to background music, he proposed tracks that were “consistent” with the previous ones and with my musical interests, which, in the course of the rehearsal, he somehow managed to learn.
Since I received the test version, which was followed by the purchase of a license, I have been using JPLAY for a very long time in my own system and in others’ systems, and it has always worked absolutely flawlessly, without freezing or faltering. The developer also constantly updates the app by fixing bugs and adding/improving features. Gapless playback, typically one of the aspects on which many playback systems fall apart, has also been perfect whether it is a 24/192 file coming from Qobuz or one coming from my QNap NAS running MinimServer. Finally, I like to mention how JPlay has recently started a certification program with some partner companies so that they can give absolute certainty regarding the compatibility of the app with different hardware. It will be a long road but it seems to me to be a serious approach to the problem.
JPlay for iOS and HQPlayer
As of the December 2024 update, Signalyst’s HQPlayer is directly integrated into JPlay for iOS, allowing users to take action on Qobuz, Tidal, and locally stored audio streams. This, of course, provided there is an instance of HQPlayer running on the same network in which JPlay is located. In my case this condition is met because one of the two computing cores within the Antipodes Audio K30 server is dedicated to this function. However, for the sake of completeness of the test, I configured a Raspberry Pi 4 with AudioLinux running embedded HQPlayer and everything worked perfectly. The nice thing is that the JPlay app allows for seamless integration and remote control of HQPlayer that would otherwise have to be managed through its cryptic and poorly understood web interface. For those who have never heard of it, HQPlayer enables advanced upsampling and audiophile-grade filtering, elevating the quality of playback to very high levels. Combined with JPlay”s intuitive interface, users can now experience the powerful features of HQPlayer more easily than ever before

JPlay for iOS and Minimserver
As can be seen from the attached images and as written above, on my two QNAP NASes there is running Minimserver, an ultra-proven software that operates in a UPnP environment with a Media Server function. I think it is useful to point out that on the JPlay site there is a special section(Metadata and Sync Options) that illustrates how Minimserver should be configured so that the various metadata can be transmitted to JPlay in the best way possible, so that certain search keys can be taken advantage of. One of these is the Label TAG, which allows tracks to be searched by record label, or a long series of TAGs typically referring to the Classical music field such as Conductor, Orchestra Name, Movement, Movement Name, Date and Place of Recording, etc. It should be quite obvious, however, that where such metadata are missing, searches through them will be impossible. In that case software solutions such as SongKong or Bliss show their usefulness, which are able to integrate the missing metadata to your file collection just as Roon would do automatically and “behind the scenes.”

Conclusions
As far as I am concerned JPlay for iOS is the ultimate UPnP Control Point. Browsing and listening to your music library without having to think about computer technicalities is a real pleasure. The interface is comprehensive, elegant, and free of unnecessary frills. It comforts me to know that many of the friends to whom I have reported JPlay have had the same impressions as me, proceeding without delay to purchase it. It is worth mentioning in this regard how it is possible to try the app for a period of 15 days before deciding whether or not to purchase it, so that you can see for yourself its performance. As a reminder, JPlay has an annual subscription fee of US$49.99 to be paid in a lump sum. The subscription is automatically renewed, but can be cancelled at any time up to one day before the annual expiration. There is also the option to purchase a
Giulio Salvioni




GIPHY App Key not set. Please check settings