Follow Brian Li (@DecryptoBL) on Twitter.
Follow Brian Li (@bwhli) on Instagram.

BitPerfect App Review — Getting the Best Sound Quality from iTunes

March 24, 2014

Getting the Best Sound Quality from iTunes


I had a rare day off a few weeks ago, and decided the goal for the day would be to figure out how to maximize my Mac’s sound quality. Yes, I am aware that this sounds incredibly nerdy. A few recent purchases, which included an AudioQuest DragonFly USB DAC and a pair of Shure SE846s, successfully put into another one of those maximum sound quality moods that approximately 0.001% of the world’s population experience at any point in their lives.

I had this strange idea that iTunes was lying to me and delivered only 99.999% of the maximum possible sound quality in my library. I needed that remaining minuscule fraction of sound quality, and that’s how I found BitPerfect.

What is BitPerfect?

Here’s what happens behind the scenes when you press play in iTunes. The audio file is streamed from the hard drive to a DAC (digital to analog converter). The DAC takes those 0’s an 1’s and converts it into an electrical signal that can be amplified and heard.

In digital audio, jitter and interference can cause imperfect streaming of data to the DAC, which can be perceived as degradation in sound quality. BitPerfect acts as the middleman and does its best to transfer perfect data between the music library and the DAC.

There are actually many apps on the market that promise to do the exact same thing as BitPerfect. Amarra, Decibel, and Aurivana are three examples. I ultimately decided to go with BitPerfect because it integrates perfectly with iTunes, and it was also the most affordable option.

Integration with iTunes

iTunes is a fantastic piece of software and ditching it for a whole new application would be silly. BitPerfect runs quietly (haha) in the background without any changes to iTunes interface we all know and maybe even love. The BitPerfect icon in the menu bar tells all. When it’s green, BitPerfect is running and making the world a better place. When it’s grey, it’s not running.

Sound Quality

Below is a screenshot of BitPerfect’s general preferences window. BitPerfect works in “hog mode”. This means BitPerfect as exclusive control over the chosen audio output device. In my case, the AudioQuest DragonFly can only be used to listen to my iTunes library when BitPerfect is active. Here are two reasons as to why hog mode is a good thing.

The first is so that when you are listening to your music, which may be playing at high volume, you do not want system noises (such as “You’ve got Mail!”) interrupting playback. The second is that, in order for other Apps to be able to send sounds to the same output device, the playback chain has to include the capability to mix extraneous sounds in with the music, and the elimination of such extraneous subroutines from the playback chain is a key element of what we do to make BitPerfect sound so good. via BitPerfect

Integer mode is a feature that was missing in OS X Lion and Mountain Lion. Luckily, Apple has included it Mavericks. Without going into too much detail, integer mode streams audio data in a way that bypasses conversion between integer and float. This maximizes sound quality and minimizes sonic degradation because unnecessary arithmetic operations are not performed.

I’ve listened through Daft Punk’s Random Access Memories with integer mode on and off. It was indeed a blind test with the help of a friend, and I was able to identify integer mode every time. This particular recording sounds punchier with an overall warmer presentation. I also noticed an increase in soundstage making the music more engaging to listen to. I perceived all of these characteristic as positive things, and this is why I keep integer mode enabled.

BitPerfect’s sound preferences menu is where you can specify options for sample rate conversion (SRC), upsampling, dithering, max sample rate, and max bit depth. The default SRC algorithm is Apple’s Core Audio, but I prefer SoX 14.3.2 VHQ Intermediate after doing a good amount of testing. Some might argue that upsampling reduces sound quality, but I actually prefer the sound of the SoX SRC algorithm. If you leave the upsampling option on default, the SRC algorithm won’t come into play at all.

Dithering is related to BitPerfect’s audio processing. Here’s a blurb from the BitPerfect blog.

If you use BitPerfect to perform volume control or sample rate conversion, this work is done in our 3rd-Generation 64-bit audio engine to ensure maximum quality. Digital audio data, whether 16-bit or 24-bit, acquires additional bits of data precision as a result of this processing, after which the original 16 or 24 bit structure needs to be recreated. Dithering is an optimized mathematical process for accomplishing this, which many listeners find improves the sound.

So…audio data is processed in 64 bit, and it needs to be dithered back down to 16 or 24 bit before being delivered to the DAC. I’ve chosen Triangular High Pass Dither because it’s the best sounding option for my listening setup and preferences.

Alright, let’s go back and talk about sample rate conversion again. If you’re a sound quality nerd like me, you probably have a lossless music library filled with files of varying sample rates and bit depths. CD quality audio is 44.1 kHz/16 bit and DVD audio is 48 kHZ/24 bit. Even higher quality files (88.2/24, 96/24, 192/24) can be easily purchased from online retailers like HDTracks.

The majority of my files are either 44.1/16 or 96/24. While I would love to have everything in 96/24, I need to keep the lower resolution files around to sync to my iPhone. Thus, my compromise has been to purchase my favorite albums in 96/24 if possible. Before BitPerfect, switching between sample rates was a pain. Listening to music at their native sample rates required manually selecting the correct value in Audio/MIDI Preferences.

If you’re not into upsampling, BitPerfect automatically changes your DAC’s sample rate if needed. This feature doesn’t really effect me because all of my 44.1 kHz files get upsampled to 88.2 kHz out of preference, but it’s immensely useful if upsampling isn’t for you.

I imagine the BitPerfect’s audible differences would be even more apparent with higher end audio equipment, but I’m very satisfied with my AudioQuest Dragonfly and Future Sonics mg6pro IEMs. It makes for a great portable setup. While I believe BitPerfect actually works, some people may dismiss it, calling it a scam.

As with anything sound quality-related, there probably is some kind of psychological bias happening. In my opinion, that’s totally okay. In the grand scheme of things, $10 is a small price to pay for more musical enjoyment. With that said, I am convinced that BitPerfect actually does something good to audio after all the blind tests I’ve done.

Conclusion

I’m really happy with BitPerfect. I appreciate it’s minimal footprint and it’s positive effects on my idea of sound quality. I know there’s this elitist attitude surrounding the audiophile world, but don’t be put off by BitPerfect’s price. It really does not reflect the quality of the app whatsoever. It’s a well-designed and implemented piece of software, and there is nothing cheap about it besides the price.

The other apps I mentioned earlier are all more expensive, some moreso than others. I think BitPerfect’s price and availability on the Mac App Store is telling of the developer’s philosophy towards the world of audiophiles – it should be open to everyone.

BitPerfect is available on the Mac App Store for $9.99


Questions?

Find me on Twitter, or send me an email.