JPLAY: beginner’s guide

JPLAY: beginner’s guide

May 31, 2011
No Comments Yet

New to JPLAY? Here’s the best place to start!

First steps

The first step will be downloading the right version of the player. If you are on 64bit OS download 64bit version – otherwise downalod 32bit version. If you don’t know which one you have, open ‘control panel’ -> System & Security-> ‘system’. Look for the line ‘system type’.Otherwise download the 32-bit version.

After you download it, unzip and install JPLAY. The installer will put JPLAY in C:\Program Files (x86)\JPLAY\ folder by default, but you can specify your own path. Do not attempt to install it on removable devices like memory sticks – it won’t work. After installation make sure you have read the ‘Readme’ file or keep reading this article :) Next step is to reboot (restart) your computer. When Windows starts up again, JPLAY will run automatically in background as a Windows Service – JPLAY is the first and only audio player that operates like that. This way it can get to non-fragmented memory sooner than with former approach of manually tweaking loading order of startup programs. No user intervention is required as Windows guarantees JPLAY will be started at earliest possible moment for best results.

JPLAY is the first audiophile player providing direct integration with JRiver Media Center, foobar2000 and iTunes. GUI panel is also included for quick & easy adjustment of most important settings. This now makes JPLAY easier to use than ever and leverages hosts’ GUI with JPLAY’s Award-Winning audio playback technology.

Mind you that only one app can be connected to JPLAY Audio Service – start either JPLAY for iTunes, foobar or JPLAYmini.

Using JPLAY with JRiver

Initial setup (needs to be done once)
a) Start JRiver Media Center

b) Double-click JPLAY for JRiver shortcut in Start Menu or jplay_for_jriver.exe in JPLAY’s installation folder (default is C:\Program Files (x86)\JPLAY\).

c) JPLAY will ask you now to adjust few things in 2 simple steps

Configuration Step 1 of 2

Step 1: JPLAY will create new Zone in JRiver. Right-click on the newly created Zone (in my case on Zone 2) -> Rename and type ‘JPLAY’ (without quotes)

Rename new Zone

Type 'JPLAY' (without quotes)

Step 2:

Configuration Step 2 of 2

1) Set Output Mode to Null Output (available in Media Center 17) or DirectSound (Media Center 16 or earlier)

Output mode

2) Set Prebuffering to 2 seconds.

Prebuffering

3) Set Switch Tracks method to Standard (gapped) – 0,1s

Track change

4) Once all above options has been set, you can finish jplay for jriver configuration by clicking Yes on the dialog window.

Configuration completed

Usage
a) Start JRiver Media Center

b) Double-click JPLAY for JRiver shortcut in Start Menu or jplay_for_jriver.exe in JPLAY’s installation folder (default is C:\Program Files (x86)\JPLAY\).

c) Make sure you have selected JPLAY zone (to use JRiver switch to any other zone). You can switch JRiver zones by pressing CTRL-T or by clicking Playing Now -> desired zone.

d) Use JRiver as usual: when you attempt to play a lossless track (WAV, AIFF, FLAC, Apple Lossless) JPLAY will automatically take over control and play instead of JRiver – it’s that simple!

e) You can access JPLAY’s settings by double-clicking JPLAY icon in Notification Area (Taskbar).

JPLAY icon in Notification Area

Known limitations:
    • To play lossy formats (MP3, AAC, etc…), switch to JRiver zone (press CTRL-T or click Playing now -> Zone 1).
    • Seekbar and Volume control slider are currently not supported. You can use ‘Bitperfect volume’ setting on JPLAY’s control panel if you do not have a preamplifier (just double-click JPLAY icon in Notification Area).


Using JPLAY with foobar2000

a) Right-click & copy foo_jplay.dll from JPLAY’s installation folder (default is C:\Program Files (x86)\JPLAY\) into your foobar’s components folder (default is C:\Program Files (x86)\foobar2000\components\ and restart foobar.

foo_jplay.dll component inside foobar2000/components folder

b) JPLAY will be automatically activated whenever you play a lossless track (WAV, AIFF, FLAC, Apple Lossless) – it’s that simple! No setup in foobar is needed, output settings are irrelevant – JPLAY will take over playback anyway.

c) You can access JPLAY’s settings by double-clicking JPLAY icon in Notification Area (Taskbar).

JPLAY icon in Notification Area

When you play unsupported formats or compressed tracks (e.g. MP3) JPLAY will automatically give control back to foobar.

Known limitations:
    • Standard foobar installation is recommended. ColumnsUI plugin is known to get confused by not having exclusive access to audio device especially while pausing/unpausing. If you must use ColumsUI plugin (via e.g. skin) you can get rid of these errors by switching foobar to use ‘Null Output’ device. (drawback is that you need to switch output device back in order to listen to compressed formats)
    • When playback is going via JPLAY, foobar will be reporting ‘Paused’ as state even though music is playing – this is OK: foobar IS indeed paused as music is being played via JPLAY engine. This may cause some remote control apps for iPhone/Android to not display elapsed time correctly.
    • Seekbar and Volume control slider are currently not supported. You can use ‘Bitperfect volume’ setting on JPLAY’s control panel if you do not have a preamplifier.


Using JPLAY with iTunes

a) Double-click JPLAY for iTunes shortcut in Start Menu or JPLAY_for_iTunes.exe in JPLAY’s installation folder (default is C:\Program Files (x86)\JPLAY\). If iTunes is not already started JPLAY will start it (allow for couple seconds until iTunes starts up)

b) Use iTunes as usual: when you attempt to play a lossless track (WAV, AIFF, Apple Lossless) JPLAY will automatically take over control and play instead of iTunes – it’s that simple!

c) You can access JPLAY’s settings by double-clicking JPLAY icon in Notification Area (Taskbar).

JPLAY icon in Notification Area

If iTunes is running already, run JPLAY_for_iTunes to switch to JPLAY Audio Engine. To deactivate JPLAY simply restart iTunes.

Known limitations:
    • Once JPLAY starts playing you will not be able to play compressed files (MP3 & AAC) until you restart iTunes! We would love to give you an option of activating/deactivating JPLAY without having to restart iTunes, but it’s really not up to us: it seems iTunes has a bug when sound card is ‘locked’ by any other player – unlocking sound card does not help and iTunes needs a restart :( If you need seamless transition between lossless & compressed tracks please try JPLAY for Foobar!
    • Seekbar and Volume control slider are currently not supported. You can use ‘Bitperfect volume’ setting on JPLAY’s control panel if you do not have a preamplifier (just double-click JPLAY icon in Notification Area).
    • If you click really fast on different buttons or tracks you may notice that iTunes can get ‘stuck’ for couple seconds – This is also related to iTunes ‘bug’ mentioned above i.e. seems to be completely out of our control :(


Best way to use iTunes with JPLAY is to simply let it play a playlist and minimize double-clicking tracks. Check out JPLAY for Foobar plugin if you are really ‘impatient’ – foobar does not have these issues…

Using JPLAYmini

Fans of ultra-minimalistic interfaces are not forgotten: new JPLAYmini has the familiar non-GUI interface now internally reworked to utilize JPLAY v4 Service Engine. Three different UIs cater for different needs/tastes but audiophiles have also controversially debated if different UIs have some sort of sonic influence? Since all three interfaces use the same, completely decoupled, JPLAY Audio Engine, comparisons are made easy – test this controversy and share your findings in our Forum!

Double-click JPLAYmini shortcut in Start Menu or JPLAYmini.exe in JPLAY’s installation folder (default is C:\Program Files (x86)\JPLAY\).

JPLAYmini presents an ultra-minimalistic non-GUI interface:
    • mini is nowhere near as easy to use as iTunes/foobar plugins
    • mini is using the same JPLAY Engine as plugins


So, why bother? Because many people claim mini sounds the best!
Yes, we heard it already: ‘How in the world can UI influence sound quality? That’s a bunch of hooey!’
Well, at least now you have a unique chance to compare three different UIs driven by identical (and completely decoupled) audio engine, listen and make up your own mind :)

JPLAYmini’s main window consists of two logical zones. The first one shows the program version (32 or 64-bit build), license info and current player settings. The second lists all the options, which can be adjusted in most directly in the application by pressing the key displayed next to the setting.

Once you run JPLAYmini, go to a folder where you keep your lossless music files (using Windows Explorer or any other file manager, e.g. Total Commander), select track or tracks you want to play, right-click and copy them (or use the ‘ctrl’+'c’ keyboard shortcut), activate JPLAYmini’s window and press ‘space’. The playback should start in a while – depending on how many tracks you’ve selected and how large they are.
During playback you can:
    • jump to next track by pressing ‘space’
    • pause (‘p’ or ‘Enter’)
    • stop the playback (‘m’)


Press ‘m’ after all tracks has been played to go back to menu and to be able to load new tracks.

Settings

Below you can see the player’s new GUI panel which allows for quick & easy adjustment of most important JPLAY settings. The GUI panel is available only only from within JRiver, Foobar or iTunes. To open the GUI panel, double-click JPLAY icon in Notification Area (Taskbar).

JPLAY icon in Notification Area



Here is the description of all JPLAY settings (click on the button to adjust):

Playing via: [Kernel Streaming,WASAPI]. WASAPI may be compatible with greater number of devices, but Kernel Streaming offers much lower latency. KS is the lowest audio engine level in Windows, allowing more efficient, real-time streaming. For the ultimate playback experience, we recommend KS.

Buffer: [DirectLink=1-256]. This is the crucial parameter that impacts sound quality, so you should take a while to determine the lowest possible value in your system, which depends on overall performance of your PC and performance of the driver of your audio interface. For the first time CD material is guaranteed to work with lowest latency of 1 sample (DirectLink) on most PCI or USB audio interfaces! (note some DACs e.g. Antelope Zodiac work fine with DirectLink for CD format, but need bigger buffer of 192 samples for 192kHz files)

Memory: [250MB-12GB]. Minimum 250 Megabytes (32 Megabytes) up to 14GB (if you have 16GB RAM or more). Bigger cache allows for longer gapless playback. Note that the minimum must be at least equal to the size of a track you want to play. For 16/44 tracks it shouldn’t be lower than 128 and for hi-rez 512. The default Memory setting is 1GB.

Bitstream: [native,24,32]. Some DACs support 32 bits, others 24 bits and some support both. It seems that at least some DACs have a ‘preference’ for Bitstream size. This means that even if you play e.g. CD 16-bit material it may be better to expand it to 24 or 32-bits by adding zeroes. If your DAC supports multiple Bitstream sizes, JPLAY now makes it possible to specify exactly which Bitstream to use. Note that if desired bitstream is not supported by DAC, JPLAY will automatically revert to one which is.

Bitperfect Volume [-6dB,-12dB,-18dB,-24dB,-30dB]. Digital volume control for CD format is available only if DAC supports more than 16 bits. People with no pre-amp, i.e. no ability to control volume, have been asking for this for a long time. Note: only ~6dB steps are allowed in order to preserve ‘bit-perfect’ output. Also note that if you apply volume to HiRez tracks, they won’t be bit-perfect anymore (unless your DAC can process 32 bits) – in theory that’s not ideal but in practice it may not matter due to huge dynamic range of 24-bit material – we thought it is best to leave it up to you, to listen and decide for yourself.

Polarity [normal,inverted]. Unfortunately some albums are recorded with ‘inverted’ polarity i.e. ‘plus’ and ‘minus’ have been connected the ‘wrong’ way. Most albums are OK and most people don’t notice the difference anyway – just like most people don’t notice if left & right channels are reversed… but those who do will immediately spot that music sounds ‘dull’ or that bass is ‘boomy’ or ‘slow’ (to quote our reviewer Bill Gaw from EnjoyTheMusic.com) – reversing polarity will ‘fix’ those albums… Mind you that listening to albums, where polarity is ‘right’ with the option enabled (i.e. inverted polarity) will most likely compromise sound quality and is not recommended.

Engine: [River,Beach]. JPLAY offers two unique playback engines. Both offer bit-perfect playback; only different caching algorithms. Beach seems closer to live performance; more resolving, direct, providing better resolution and focus on micro details. River is calm, presenting more coherent and effortless image. You should try both and decide which one is closer to your preferences and which one works better in your system.

DedicatedCore: [OFF,ON]. All processes will be moved out from JPLAY’s CPU core when this option is enabled. When activated, this feature has positive effect on sound quality.

Throttle [OFF,ON]. When Throttle mode is activated, JPLAY will reduce to absolute minimum both CPU and I/O priorities of all running processes and individual threads in the system it can get to, without risking the stability of Windows. Note that this will reduce system’s responsiveness! (e.g. mouse may become ‘jerky’ and machine may appear ‘stuck’ at times when CPU intensive tasks are activated) If you’re doing CPU intensive work, it’s best to turn off Throttle mode, but if you are ‘just browsing’, we advise to leave it ‘ON’.

Overdrive: [OFF,ON]. Overdrive mode applies only to Kernel Streaming in Hibernate mode. It pushes your CPU to the limits, providing the highest sound quality possible. Please note that this feature is extreme and using it with ‘ultrathin’ laptops and small HTPC cases with poor cooling capabilities may lead to instability (blue screens, restarts).

Hibernate mode:[OFF,FullScale,TurboCore,ViaUSB]. Hibernate mode eliminates dozens of OS jitter-inducing processes & hundreds of threads, providing best possible sound quality. Please note Hibernate is ‘extreme’ mode and may not work on all computers. For more details please read article below.

Hibernate mode

Hibernate is _extreme_ mode: Truth is Windows ecosystem is so incredibly varied it is impossible to conceive that every combination of hardware/software/driver/firmware would react in the same way to Hibernate ‘treatment’.

And that treatment is harsh: everything we can possibly shut down, we shut down… On average, that means dozens of processes and hundreds upon hundreds of threads of execution. Why in the world do we do it?

Because we have to: Consumer OS like Windows (or OSX for that matter) simply isn’t a real-time OS. Yes, it can do a lot of things ‘at the same time’ but it cannot guarantee it will do the right thing at _exact_ point in time…..

So by eliminating all that extra ‘noise’ we simply make OS more likely to respond to real-time requirements of digital audio instead of being ‘scheduled’ to do god knows what kind of nonsense at worst possible moment… Is this approach elegant? Clearly not as we have to violate basic principles of a consumer OS (multi-this multi-that multi-blahblah) and attempt to dumb it down to do one thing and one thing only but do it as efficient & accurate as possible.
Is this approach effective? Judging from feedback it most certainly seems so!

But why doesn’t Hibernate work for all?
Because there are just too many things that can go wrong…e.g.:
If you have an anti-virus you’re set for trouble: since Hibernate stops _all_ processes it inevitably will try to stop your anti-virus too: surprisingly, some anti-virus products won’t complain (we leave it to you to figure out what it means for your sense of ‘security’ i.e. if a music-player can stop anti-virus what’s stopping the real virus from doing the same?)
Better ones will resist to the point of crashing the system – so, there you go: no anti-virus, please… (one more reason why we recommend a dedicated audio-pc)

Drivers: obviously, we can’t shut down sound driver otherwise there’ll be no sound – but is that simple? not exactly…
Proprietary drivers are usually easiest to handle as they were written for a specific device in mind (M2Tech, Audiophilleo etc). Some may be a bit tricky as they could have multiple dynamic threads and we need to make sure we don’t stop any of them but we figured out over time how to deal with that.
Common drivers like built-in Microsoft USB driver used by HRT, V-Link, SonicWeld (24/96) and countless others are a different matter. _Same_ MS driver will happily work in Hibernate with one USB/SPDIF interface but NOT with other! So if it isn’t a driver, it must be device’s firmware…(and so complexity increases…) To make it more fun, through experimentation (mostly with help from our users because we’re just two guys and not a multi-national corporation that can buy every interface/dac on the planet), we found exact combinations of OS modules still required for Hibernate to work with ‘problematic’ interfaces – and combinations may differ!
OK, now that we have those combinations we’re done, right?
Not exactly – There are dozens of other drivers in every pc: we don’t need them so we shut them down – most are written properly and can handle such situations – but some can’t… Problem is, since all drivers run in Kernel mode, Windows cannot protect itself from a misbehaving driver – result is a BSOD (and we discovered some even in sound drivers when pushed to lowest latencies!) or a freeze which only a reboot can fix.

What are ‘other’ drivers?
Can be anything on your motherboard, even a graphic card driver: for example, on one system user was able to Hibernate only if we didn’t turn off the screen otherwise graphic driver would get confused and freeze the system!

Bottom line:
Over time we have developed tools that helped many a customer/tester identify a ‘problematic’ driver and achieve a stable Hibernate mode.

We used that knowledge to classify 4 different Hibernation levels and put them all in JPLAY: from best-sounding but most aggressive and hence least compatible (FullScale), down to most convenient and almost universally compatible (ViaUSB+USBMode 1) (but not sounding the same as FullScale…)

We simply do not know which (if any) will work on any particular system!
Hopefully the above explains why the nature of the beast is such that you can find out only if you try… But in the end it’s just another reason why there’s a fully-functioning free trial: If e.g. FullScale works on your system you get one additional bonus on top of already great sound…
If not, well, reboot, enjoy ‘normal’ mode and better luck next time with a different hardware/software setup…

Join the forum discussion on this post

About the Author

Marcin_gps

Comments are closed.

  • Twitter feed loading...