Over the last few years, the list of "audiophile" audio players on the Mac has gradually increased. Do they sound the same if set to bit-perfect output? Let's have a look at the candidates I'll be considering here:
1. Decibel: I bought this program more than a year ago. It's a no-nonsense program that plays a nice range of file formats without fuss. It's able to take exclusive access of the audio device, and memory playback. As with all the commercial offerings, it can switch sample rate automatically. PCM only, no DoP for DSD at this time. I upgraded to the latest version 1.2.11 for these tests. Memory playback was activated.
2. Audirvana Plus: Current version is 1.4.6. I bought this one about 6 months ago. It's got a nice, fancy GUI. Able to handle DSD files with DST and was able to play DSD64 and DSD128 over the USB interface to my TEAC UD-501 without problem. "Under the hood", it's also got some extra features like memory playback, "Direct Mode" apparently bypassing CoreAudio as well as "Integer Mode". Since the software supposedly bypasses CoreAudio, I would have thought that "Integer Mode" would be an obvious given. They also talk about 64-bit processing which is great if one has need for the SRC and dithering (iZotope-based)... For these tests, I'm using Direct, Integer Mode with memory playback to the TEAC. The green "INT" indicator turns on. Also, I have SysOptimizer turned on (disables Spotlight, Time Machine, some USB tweaks).
3. JRiver Media Center for Mac - Well known media player originating from the Windows world. I measured the beta 18.0.177 build for this test. Bit-perfect from the start so I didn't fool with any of the default settings. It's capable of DSD playback to the TEAC using DoP.
4. Pure Music - I'm not as familiar with this one. I installed the trial version 1.89g. It literally "wraps" around the iTunes interface. Can handle DSD but I didn't bother trying since it looks like there were some contortions needed to get these files recognized under iTunes. "Memory Play" was activated for playback. My subjective opinion is that I did not like the UI and using iTunes means no native FLAC support.
5. TEAC HR Audio Player - Release version 1.0 for Mac. Just a freebie I can run with the TEAC DAC. Handles FLAC. Will do DoP for DSD playback. Unable to decompress DST though. Does have an "Expand to RAM" mode which I did not use for these tests.
6. iTunes 11.0.2 - The "standard" Mac music player. Should be "bit-perfect" so long as volume at 100% and none of the DSP plug-in's are activated. A lot of uncertainly out there about this program with folks jumping up and down with each version claiming that sound has changed for better or worse... Version 11 was released in November 2012 with some folks claiming volume and sound quality changes compared to version 10. The BIG negative about iTunes for audiophiles is the lack of automatic sample rate switching - need to go into the "Audio MIDI Setup" panel to change sampling rates and bit depth (yuck). IMO, the other BIG negative about iTunes is that it does not support FLAC... Seriously, after 11 versions, to not support the universal lossless audio format is just stupid and has been a reason why I do not buy music from Apple.
Over the years I have tried Play, Amarra, and Fidelia as well, but figure the above was enough to look at for a sense of the field out there around Mac music players. I see there's also BitPerfect for iTunes - again, FLAC limitation sucks.
Setup:(Note that this is same as previous DMAC Test.)
MacBook Pro (*running audio player*) --> shielded USB --> TEAC UD-501 DAC --> shielded 6' RCA --> E-MU 0404USB --> shielded USB --> Win8 laptop
MacBook Pro is the 17" early-2008 model previously described. Nothing fancy, and in fact relatively "old" 2.6GHz Core 2 Duo processor. Running OS X Mountain Lion with no OS tweak for audio.
Win8 laptop is the Acer Aspire 5552 which has been my measurement "work horse". Again, nothing fancy, just 2.2GHz AMD Phenom X4 processor to grab data from the E-MU 0404USB and process the data through DiffMaker, RightMark, or jitter FFT analysis.
Part I: RightMark 6.2.5 (PCM 16/44, 24/96, and DSD64)All the measurements done with the test signal encoded as FLAC except for those based on iTunes (iTunes, Pure Music) where AIFF was used.
DSD64 (via DoP) - for the programs that support DSD:
Note that this is achieved using the 24/96 test signal encoded into DSD64 using KORG AudioGate, then played back to the TEAC UD-501 DAC using DSD Over PCM (DoP) protocol and measured with RightMark. As usual, we see the effect of noise shaping in DSD up in the ultrasonic range.
Part II: Dunn J-Test for jitter (16-bits shown for brevity)Decibel:
Part III: DMAC ProtocolTime to let the machine have a listen to the music and see what kind of correlation it finds using the standard 24/44 audio sample with Audio DiffMaker... Reference for all these "correlational null depth" measurements is Decibel FLAC recording. Each audio player was measured 3 times.
I threw in comparison measurements for MP3 320kbps and 192kbps. Also to show what happens with some DSP processing - Pure Music with volume reduction of -1dB (with dither), and turned on the EQ in iTunes and dropped 8kHz slider just by 1 "click" lower.
I found it quite remarkable the drop in null depth by just turning on the iTunes EQ plug-in and using it to adjust just 1 notch (don't know how many dB's this is supposed to represent) [see addendum]! Pure Music -1dB volume control changed the measurement slightly but not much. DiffMaker has amplitude compensation so it is trying its best to compare the audio quality beyond the volume difference.
Part IV: ConclusionWell everyone, unless I missed something obviously subtle here, what I see is that bit-perfect is indeed bit-perfect playing the audio through my TEAC UD-501 DAC with all these programs.
Now of course I cannot overgeneralize these findings to all Mac computers, all DAC's, all player programs, all drivers, all DAC's, etc... But I think I can say with some assurance given similar setups as mine that:
1. With bit-perfect playback, all the player software performed equivalently. This is supported by every measurement method used. Subjectively with headphones attached to the DAC, I did not notice a difference listening to the music being played back while doing the DMAC Test.
2. No evidence of anomalies in the Dunn jitter test signal. This is not surprising as I had already previously reported that I was unable to detect more jitter with increased processor load as some seem to believe. From what I can tell, jitter is primarily a hardware property and software timing issues lead to obvious audio drop-out rather than subtle pico- or nano-second changes in the audio output.
3. Although I did not do an equivalent DMAC (DiffMaker) test with the DSD audio, it looks like all 3 programs tested with DoP capability performed equivalently using the RightMark test. Still waiting for more DSD content for this to matter. :-)
4. I see no evidence that special features like memory playback, "direct mode", "integer mode", "SysOptimizer" made any difference compared to the output from the no-frills TEAC player where I did not even turn on the memory playback feature with the 2008 MacBook Pro.
Bottom line is that these programs work well to output bit-perfect audio. The MAIN feature over iTunes is the ability to automatically adjust the sample rate. Beyond that, I'm happy to own both Decibel for its simplicity and flexibility in playing all kinds of formats as well as Audirvana Plus for the full feature set including DSD playback and DST decoding. I just don't see any evidence that they sound any different...
Again, let me know if you have any evidence otherwise.
I was E-mailed shortly after publishing the TEAC UD-501 review if I've tried JPLAY - not yet, but in the weeks ahead may find some time to hook up the Windows setup and have a look... Until then, I recommend reading Mitch's excellent writeup between JPLAY and JRiver.
Enjoy the tunes :-).
Addendum - June 9, 2013:
To answer that question of why even just -1 click at 8kHz with the iTunes equalizer resulted in such a low DMAC correlation null... Here's the answer: