JPLAY is piece of Windows software targeted directly at audiophiles who want the best sound performance with their computer-stored music. But JPLAY isn’t really a music player, although it has a minimal player called JPLAYmini just in case you need one. It’s actually an environment designed to allow your preferred quality audio player for Windows to operate better than it might otherwise.

The Problem
Computer music playing software has a major limitation. It has to be run on computers and computers are multipurpose devices. They not only can do many things, these days they must do many things, and must do quite a few of those things at the same time.

Many of those things are largely invisible to you or me as users. Mostly invisible, anyway. But you will have clues. For example, you click on something and instead of it instantly responding there’s a pause. Perhaps half a second, and barely noticeable. Perhaps several seconds and quite irritating. It may be due to the computer having to spin up a hard drive that was resting, but it may be that resources are busy doing other stuff. Maintenance tasks, perhaps. Monitoring tasks. Who knows?

Right now as I’m writing this, I can see from Windows Task Manager that I have seven applications running… and 110 ‘Background processes’. Some of them are related to the running applications (fifteen of them are Adobe, so I guess they’re to do with Acrobat or Photoshop. Several are due to my display driver. But a few of them are to do with Windows, because there’s a separate list of an additional 34 ‘Windows processes’.

Music Can’t Wait
If you’re playing music, interruptions and delays are totally unacceptable. Computer systems for playing music typically provide a degree of buffering—reading ahead and storing source data for ready access. But they can only do so much and if just one single sample of audio is missed, or if there’s a delay of just 23 microseconds, (assuming CD-standard 44.1kHz sampling), you’ll likely hear it.

And that’s where JPLAY comes in. It is a Windows program that manages the process of getting music from your computer to your digital to analogue converter, and manages the computer to eliminate delays, and indeed the possibility of delays, should you wish.
But it is not intended to be player software. You will need a competent player on your computer.

 One that allows you to select the audio output method independently of Windows’ built-in facilities. In particular, it must allow you to select ASIO drivers. ASIO stands for Audio Stream Input/Output and was developed by pro music software company Steinberg a very long time ago to work around the limitations of Windows audio handling.
Windows has improved over the years with the introduction of such things as WASAPI (Windows Audio Session Application Programming Interface), but ASIO has such a huge support base in pro audio it makes sense to keep on using it.

When people talk about ASIO, they tend to talk about its ‘low latency’ virtues. When you’re, say, recording an additional track in a multi-track recording, playing along as the existing tracks are played back, that’s precisely what you want: ‘low latency’. If the playback audio and recording audio are unduly delayed they won’t be synchronised with each other. But the good thing about ASIO has been what you might call ‘adjustable latency’. You can change the size of the buffer to get a balance between uninterrupted audio and few delays. With pro stuff, you’re going to want the delay as short as possible as is consistent with no interruption. But there’s no reason in our listening context, where we’re generally not trying to synchronise with anything, why we shouldn’t employ a larger buffer, and thus longer delays.

JPLAY
So what you see of JPLAY isn’t a play list or anything of that kind. What you see is a settings panel. You install it, invoke the settings panel, choose the output device that you want the music to go to—typically that will be your DAC, as defined by its driver, and choose from the various settings options provided by JPLAY as to how the audio should be handled.

Then you go to your actual player software and choose ‘JPLAY Driver’ as your output device. It is implemented as an ASIO driver. So instead of your player sending music direct to the driver which runs your DAC, your music goes to the JPLAY driver which does its stuff and then forwards the audio onto your DAC’s driver. It’s in essence something in between.
I have two criticisms of this user model and one limitation I should stress. First, when it’s invoked, the Settings panel can’t be moved on the screen. That’s probably more of a problem for people like me who are writing about it rather than for people who are using it. That’s because of my second and more substantial criticism: it doesn’t have an ‘Apply’ button. 

You make changes to settings and the only way to make them work is to hit ‘Okay’, which invokes them but also makes the JPLAY Settings panel go away. There are quite a few settings and some of them will have at most very subtle effects, and some interact with each others in different ways. That calls for a lot of experimentation. It would have been nice to have been able to hit ‘Apply’, have a listen, change a setting, hit ‘Apply’ again and so on. I put a link to the JPLAY Settings app on my task bar to make it easier to start up again.
Finally, because it depends on ASIO, it can’t be a system-wide audio manager. You use the JPLAYmini player or a player which supports ASIO, such as Foobar2000 (my player of choice) or MusicBee (both free) or JRiver Media Center (which costs money). But Windows itself doesn’t support ASIO and there are a lot of music players that only work through Windows. So music played by your browser (e.g. when you’re playing YouTube videos) or iTunes or Spotify, cannot run through JPLAY. TIDAL music can because its app allows one to select a specific audio device.

That said, the manual at the JPLAY website describes a number of workarounds using third party software, including the beta version of a product called Fidelify, which is a Spotify client.

There can also be practical difficulties associated with all this, especially if you’re planning on using your computer as a multipurpose device. You may have just one audio device—your DAC and the high-quality audio system into which it’s plugged. If that’s the case, you will want to be able to play YouTube videos and whatnot through the system. So you can have the DAC selected through the regular Windows ‘Manage Audio Devices’ so that it works when you’re not playing music with your player software running through the JPLAY driver. Of course, if your JPLAY-delivered music is going, you won’t get sound from those other apps.

This switching between the two generally worked well, but you should be careful. If I tried to start Foobar2000 playing music through the JPLAY driver while something else—say a YouTube video—was playing, then not only would it not work, I’d also get an error message after a while from Foobar, and the JPLAY Settings panel would not open, giving a message about an inability to communicate over some IP address on the local network. IP address? What’s all that about? It required a reboot to get JPLAY working again.
Anyway, you have to manage yourself a bit while letting JPLAY manage the sound. (I was using Version 6.2.)

Settings
In addition to choosing the output driver for your DAC there are ten main settings. Some are fairly obvious, such as ‘Bitperfect Volume’ which allows you to reduce the output level without loss of resolution, and ‘Polarity’. You can have the output in the source bit-depth (e.g. 16 bits for CD standard music) or force it to 24 or 32 bits.

More importantly, there’s a ‘Throttle’ mode, which should be set to ‘On’, which makes sure Windows know that this must be treated as a high priority process, rather than being sacrificed to other processes. That alone ought to ensure that your stream is never interrupted. You can set the buffer size—the length of music lined up, ready and waiting.
Then there are three choices for ‘Engine’. I’m not sure of the difference between ‘Classic’ and ‘UltraStream’, but one of particular interest is ‘Xtream’.

Another setting is called ‘XtreamSize’, and this can have a numerical value of up to 5000. What it does is take over sufficient RAM in your computer to store the music in RAM, rather than streaming it from some other storage. It would seem that 5000 equals five seconds. When I chose that setting, the computer set aside a quarter of a gigabyte in RAM for a process called ‘jplay.exe’, which is where I assume the data is maintained. My main computer runs 16GB of RAM so that presented not the slightest problem, but if you’re using an older computer with limited RAM, that may impact significantly on other uses. The online manual also describes some tweaks to the Windows registry for those brave at heart.
There’s also a kind of help system when you click on an option, but it uses the Windows notifications box which pops up in the bottom right of the screen. This tends to disappear a bit too quickly to allow one to absorb its contents, and some of the text was too long for the box, so the tail end of the information couldn’t be absorbed at all… on my computer anyway.

JPLAYmini
I must not forget the little player that comes with JPLAY. It’s not so much ‘mini’ as minimal. It is simply a window with a kind of text interface. 

It doesn’t have any settings since it always outputs to JPLAY. To use it, you use standard Windows methods (select and Control-C) to copy some tracks. Then you select the JPLAYmini window and press the space bar. It loads in the tracks and starts playing. You can skip to the next track, pause/play or stop. 

But that’s it.  No other functions and all that is displayed is the file name and the play time.
I could make fun of it, but if you’re OK with selecting tracks (or a folder, so long as the tracks are the next level down within the folder) it worked perfectly well, and provided gapless play, even when using the XStream ‘Engine’, which can take up to five seconds to start while it loads up a bulletproof steam of audio.

JPLAY — The Fine Print
The price for a single JPLAY license is €99 (A$150 at the time of writing in June 2017). Free and trial versions are also available. The version used for evaluation to produce this review was V6.2. The full paid-for license includes 32-bit and 64-bit installers, free lifetime updates, and personal support directly from the authors. A single license is valid for a whole family; any family member is free to use JPLAY on any computer they own belonging to them in the one household. To run JPLAY a computer should fulfil the following minimum criteria: Windows Vista, 7 or 8 or Windows 2012 Server, at least 2 GB of RAM, network adapter (Wi-Fi or Ethernet). All versions of JPLAY can be downloaded from http://jplay.eu. There is also a comprehensive manual online at http://jplay.eu/manual/

Sound
I am not one that leans towards the different-hard-disks-produce-different-quality-audio school. For me, digital is digital and all sounds the same so long as it is competently handled. JPLAY most certainly handles digital music competently, and makes sure that the rest of your system also handles it competently.

Those who adhere to the other school are going to find a superb set of functions and settings in JPLAY to make sure that their preferred digital audio handling is provided, along with plenty of opportunity to explore different ways of handling the data. There’s certainly a school of thought that regards the pre-loading of music into RAM and playing from there as a definite enhancement.

For everyone else, JPLAY provides an assurance of interruption-free playback and a complete absence of missing audio samples. # Stephen Dawson