User Manual

Introduction

BitPerfect is a high-quality music player for Intel Macs running Snow Leopard, Lion, or Mountain Lion.  BitPerfect integrates with iTunes to improve sound quality.

BitPerfect supports playing stereo music in all formats supported by iTunes as well as the popular FLAC format.  However, please note that you will need to use a third-party application, such as Fluke, to import FLAC files into iTunes.  Unfortunately, at the time of writing, it appears that Fluke is no longer functioning, and its developer is no longer active.  We are looking to identify an alternative App to fulfill this function.

This manual applies to the 1.0.7 release of BitPerfect.


Getting Started

BitPerfect sports a very simple, unobtrusive interface.  When you run BitPerfect, look for a small, black BitPerfect icon in the top right corner of your screen, near the date and time.  This is called the "status bar icon."

BitPerfect comes pre-configured with sensible defaults for most users.  To start using BitPerfect, simply run the program, find and click the status bar icon and go to "Preferences".  From here you can choose the sound device you would like BitPerfect to use from the drop-down marked "Audio Output Device".  Note that if you wish to choose an external sound device which has been temporarily disconnected or switched off, then it may not appear on the list.  Re-connect the device, switch it on, and then close and re-open the Preferences menu.

As soon as you start playing music in iTunes, BitPerfect will assume control of the audio playback through the device you have chosen.  While BitPerfect is playing music, it will take exclusive control of the device it is using (so-called "hog" mode).  This means other applications (Browsers, Movie Players, etc...) will not be able to output sound through that device until BitPerfect releases control.  When BitPerfect has taken control of an output device, its status bar icon changes to green.  To release control, either stop or disable BitPerfect.  Both of these actions can be accessed by clicking the status bar icon.

You still use iTunes to direct all the usual aspects of playback, such as pausing playback, or moving the track position slider forwards and backwards as you require.


Access Permissions

Apple has introduced new requirements for Apps to be sold on the App Store.  These now require us to ask for your explicit permission to read certain files on your computer.  Obviously, we need to read your music files in order to be able to play them.  Apple requires that we seek those permissions in the following manner.

When BitPerfect launches for the first time, provided you have not previously granted permissions via a previous version of BitPerfect, you will be presented with a dialog box taking you through the process of granting the necessary permissions.  This dialog box presents you with three options:
  1. If you select “Next”, BitPerfect scans through iTunes to find out where your music files are located.  This can take up to 30 minutes if your music collection is very large.  After the scan is complete, BitPerfect sorts through the results and identifies a common file path below which all of your music files can be located.  It then presents you with a “File Open” Window, opened to that path, with an option for you to “Open”.  By selecting Open you are granting BitPerfect permission to access your music files.  If you do not select Open, BitPerfect will not be able to play any of your music.  It is important that you just click on Open, and do NOT navigate away from the location where the window has opened.
  2. With some systems, BitPerfect becomes unresponsive during the automatic Permissions Scan.  In those cases it is necessary to manually select a root folder from which to grant permissions.  To select this manually, select “Open”.  BitPerfect will then present you with a “File Open” Window.  You must then navigate to a directory from which all of your music files can be accessed.  If your music is stored in many different places, you can select the system root, and this will grant you universal access permissions.  The system root is the Hard Disk that is usually called "Macintosh HD", but you may have re-named it to something else.
  3. If you do not wish to perform either of these actions, select “Cancel”.  However, if you have not previously set Access Permissions, BitPerfect will not be able to play any of your music.
If at any time you add additional files to your iTunes Library, located in a directory to which these access permissions have not previously been granted, BitPerfect will not be able to play those files.  To correct this, you can re-run the permissions dialog at any time by selecting “Change Music Directory” from the BitPerfect status bar menu.  Please note that this only affects users who have specifically set up iTunes to have the music files managed by the user.  If you are uncertain, look in iTunes’ Preferences, under the Advanced section – if you have checked “Copy files to iTunes Media Folder when adding to library”, then you will not have to worry about this.

Finally, the whole Permissions Scan process is not required (in fact it is not supported) under OS X 10.6.x (Snow Leopard).  If you are running Snow Leopard, the Permissions Scan process will not be initiated upon first launch, and the "Change Music Directory" option will not appear in BitPerfect's status bar menu.


AirPlay

If you are using OS X 10.8 (“Mountain Lion”) you will have the ability to use BitPerfect to play music through an AirPlay device.  There are, however, some limitations to BitPerfect’s ability to support AirPlay due to the way Apple has elected to configure the interface.  AirPlay allows multiple devices to operate off the same AirPlay interface (for example, Airport Express and Apple TV).  Users can normally select between these devices both from within iTunes and using the Audio Midi Setup console.  However, Apple does not permit BitPerfect to make this selection.  To compound this problem, the way the AirPlay device responds is different depending on whether you are using iTunes or a third-party App such as BitPerfect.  What you will find is that when you use BitPerfect to play through AirPlay, it will only direct sound to the one AirPlay device selected in the Audio Midi Setup console.  Changing the selected device within iTunes will have no effect on BitPerfect.  We hope Apple will rectify this behavior in a future OS X update.

**Please read the above paragraph once more, to be sure you understand it  ...  :)**


DRM, Home Sharing & iTunes Match

BitPerfect cannot support Home Sharing or iTunes Match.  This is because BitPerfect needs to receive from iTunes the full path and name of the music file in order to be able to load it into memory.  With a Home Sharing network, iTunes does not supply BitPerfect with an accessible file path.  BitPerfect cannot therefore load the file, and so it returns playback responsibility to iTunes.  With iTunes Match, music is streamed from the Cloud – so there is no file anywhere for BitPerfect to load.  When using either of those services, even if BitPerfect is running, it will be iTunes that is playing the file (the BitPerfect status bar icon will be black).

Also, BitPerfect does not support files containing Digital Rights Management (DRM).  These tend to be older files downloaded from Apple, and usually have the extension ".m4p".


Volume Control

There are two ways to use iTunes and BitPerfect to control the playback volume:
  1. The iTunes volume control continues to function normally.  When BitPerfect is playing, it uses the setting on this slider to perform digital volume control inside its own playback engine.
  2. BitPerfect also has its own volume control slider in the drop-down menu from the status bar icon.  This slider uses your DAC's own built-in volume control.  However, some DACs do not support internal volume control, and in these cases this slider will be disabled.  (Note:  Some DACs tell BitPerfect that they support internal volume control, but then fail to do so.  In such cases BitPerfect's volume control slider will function, but will not affect the volume).

Optimizing BitPerfect

BitPerfect comes with a few options you can use to find the perfect sound with your system.

Because BitPerfect is designed primarily to be a cutting edge audiophile music player, some of these options allow you to make compromise choices between the best sound quality, and the overall effectiveness of the integration with iTunes.  For many users, these options will deliver subtle improvements in sound quality that may not be resolved by their equipment.


Integer Mode

Integer Mode on the Mac platform is considered by many audiophiles to be the most sonically accurate playback mode.  Integer Mode is only available under OS/X 10.6 (Snow Leopard), for supported DACs.  Starting with OS/X 10.7 (Lion), and continuing with OS/X 10.8 (Mountain Lion), Apple has discontinued support for Integer Mode.  We expect this to continue to be the case with future versions of OS/X, although Apple has never to our knowledge commented on its position regarding this.  If your version of OS/X does not support Integer Mode, this option will be greyed out.


To find out if your DAC supports Integer Mode, make sure the "Integer Mode" check box is selected, start playing a track and then close and reload the Preferences window.  If your DAC supports Integer Mode, Device Capability will display "Integer Mode: YES", otherwise it will show "Integer Mode: NO".  If Device Capability is showing "Integer Mode: N/A", this means the Preferences window was opened when BitPerfect was not playing through the selected device.

If your DAC does not support Integer Mode and the option is enabled, BitPerfect will simply ignore it.

Recommendation:  Enabled.  Integer Mode, if available generally improves sound quality.
Troubleshooting:  If your system supports Integer Mode and you are getting static instead of music, or persistent clicks, disable Integer Mode.  Please contact BitPerfect support and include the output of the "Device Info" screen.


Buffer Size

Buffer Size controls how much RAM BitPerfect should use to store decoded and processed music for memory playback.  The default value of 256MB is sufficient for most CD quality music.  If you listen to high-resolution music or long classical tracks you may want to increase the buffer size.  Generally you should not increase it beyond one quarter of the total amount of RAM in the system.

Recommendation:  If your system has 4GB of RAM, use 512MB or 1024MB.  If your system has at least 8GB of RAM and you listen to high-res and/or classical music, 1024MB or 2048MB might be a better option for you.  However, there will be little or no sonic improvement.
Troubleshooting:  Make sure Buffer Size is not more than one quarter of your total RAM.  If you know other applications are using lots of RAM, you may need to decrease this further.  Sound quality is not significantly affected by this option, so if in doubt it is safe to err on the side of a lower number.  Always bear in mind that the sound quality of BitPerfect will be at its best if your computer is doing as little as possible other than playing music.


SRC

SRC is an acronym, standing for Sample Rate Conversion.  A sample rate converter is an algorithm that changes the sampling rate of your music.  BitPerfect will automatically downsample any tracks that cannot be played at their native sample rate if your selected output device will not support it.  This option controls which algorithm will be used for both upsampling and downsampling.


Recommendation:  SoX VHQ Intermediate.  The intermediate setting provides a good balance between minimizing pre-ring without too much post-ring.  If you don't know what this means, try the various options and see which one you prefer.
Troubleshooting:  N/A, there are no known cases where the choice of sample rate converter can cause a problem.


Upsampling

Upsampling controls whether BitPerfect will increase the sample rate of the music you're playing to the value you choose.  If the option to "Upsample by powers of two" is selected then BitPerfect will only double, quadruple, etc ... the sample rate.  For example, if "Maximum Supported" is selected and your DAC will support 192kHz, BitPerfect will upsample all tracks to 192kHz.  If you select "Upsample by powers of two", BitPerfect will upsample all CD quality files (CD sample rate is 44.1kHz) to the highest power of two supported by your DAC, such as 176.4kHz (i.e. 44.1kHz x 4). 
There is an option to disable upsampling on a per-track basis (see below). 

Recommendation:  This is a matter of taste.  The sample rate converter will generally perform better when upsampling by powers of two, but many DACs will automatically upsample the incoming signal internally by design.  The best option is to try the different converters and upsampling rates and decide what you like best.  It may boil down to whether you prefer BitPerfect's upsampling algorithm to your DAC’s.
Troubleshooting: If you have an optical DAC which you plug into a USB to optical converter, be aware that the converter may support sample rates higher than the DAC itself will support, and that BitPerfect has no way of knowing this.


Dithering

If you use BitPerfect to perform volume control or sample rate conversion, this work is done in our 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.

Recommendation:  This is again a matter of taste, but Triangular High Pass Dither should give best results.
Troubleshooting:  N/A, there are no known cases where dither can cause a problem.


Maximum Sample Rate

If you are using an optical DAC connected to a USB to optical converter, the converter may support a higher sample rate than the DAC itself.  The optical converter will report to BitPerfect the sample rates it supports rather than those supported by the connected DAC.  If this is case in your system, be sure to set this option to the maximum sample rate supported by your DAC.

Recommendation:  Unless you are using an optical converter, set this to "Maximum Supported".
Troubleshooting:  N/A unless you are using an optical converter.


Maximum Bit Depth

If you are using an optical DAC connected to a USB to optical converter, the converter may support a higher bit depth than the DAC itself.  The optical converter will report to BitPerfect the bit depths it supports rather than those supported by the connected DAC.  If this is case in your system, set this option to the maximum bit depth supported by your DAC.

Recommendation:  Unless you are using an optical converter, set this to "Automatic (Optimal)". "Maximum" may be a better choice if you often use the iTunes (software) volume slider.
Troubleshooting:  N/A unless you are using an optical converter.


Use Maximum Device Buffer Size
This is NOT the same thing as the playback buffer whose size is set by the "Buffer Size" setting.  This is the output buffer allocated by the USB driver for data being sent to the audio output device.  Although you might be forgiven for imagining otherwise, it is NOT normally a good idea to set this to its maximum size.  When selected, this will configure BitPerfect to send as much data to the DAC as possible at a time. The idea is that this reduces CPU use in BitPerfect and can improve sound quality.  However, in practice, it often causes more problems than it solves.  Use this setting only as a diagnostic tool.

Recommendation:  Disabled.
Troubleshooting:  This setting is very much DAC-dependent.  If you have problems with clicks, then you can try checking this setting.  However, you would be better off contacting BitPerfect Support for guidance.


Sound Check

This gives you the option to use the Sound Check data gathered by iTunes to equalize volume.  This is a software volume control function that will be performed by BitPerfect's audio engine.  Of course, it will have no effect unless “Sound Check” is enabled within iTunes itself (in the Playback section of iTunes’ Preferences menu).  Before using this, be sure you understand what iTunes' Sound Check functions does.  It is something which evolves from version to version of iTunes.

Recommendation:  Disabled.  This compromises sound quality.  Use this option if you are using your system to play background music, party music, or in other circumstances where convenience factors override your need for sound quality.
Troubleshooting:  N/A, there are no known problems associated with this option.


Minimize iTunes Interaction

This option reduces CPU use in BitPerfect and iTunes by reducing interaction between the two programs.  For users concerned about minimizing hard disk activity during playback, enable this option.  This option also has the effect of stopping iTunes from running muted in the background (see “Stop iTunes using AirPlay Devices” below), and means that BitPerfect now takes control over the position of the iTunes track progress bar, which, as a consequence, is only updated once per second.

Recommendation:  Enabled.  Minimizing iTunes interaction should increase sound quality subtly.
Troubleshooting:  If you are experiencing problems with tracks repeating parts, not advancing correctly, suddenly stopping or starting, disable this option.  Please report any such issues to BitPerfect support so we can fix these problems and improve this option over time.


iTunes Response Speed

Controls how often BitPerfect checks iTunes' status.  This determines how quickly or slowly BitPerfect responds to changes like pausing a track or dragging the volume control slider.  Faster response speed increases CPU use, and may have an adverse affect on sound quality.

This option is disabled when "Minimize iTunes Interaction" is enabled.


Recommendation:  The default setting of 1-tick left from "Fast".
Troubleshooting:  If you are experiencing problems with tracks repeating certain parts in a loop, move this option towards "Slow", or enable "Minimize iTunes Interaction".


Adaptive Overload Recovery

For users of certain types of DAC, "Overload!" messages (in the console log) are unavoidable.  This option is provided for these users.  We recommend that you do not use this option unless directed to do so by BitPerfect support.  However, since "Overload!" messages can be caused by many different factors, it is strongly recommended to use this setting only for diagnostic purposes.

Recommendation:  Disabled.
Troubleshooting:  If you have disabled "Use Maximum Device Buffer Size" and "Integer Mode" and the advanced sliders are in the default position and you still get "Overload!" messages, you can try enabling this option.  However, it is preferable to contact BitPerfect Support so we can better understand the circumstances leading to this problem.


Stop iTunes using AirPlay Devices

BitPerfect can only play the audio output through an “exposed” device, i.e. one that is listed in Audio Midi.  In OS X 10.7 (Lion) and earlier versions, AirPlay was proprietary to Apple, and was not made available as an exposed device – BitPerfect and other third party Apps could not use it.  With the release of OS X 10.8 (Mountain Lion) this changed, and AirPlay is now an exposed device, and BitPerfect can access it.

When BitPerfect is playing a track, iTunes is also playing the track in the background.  The iTunes playback is directed to an unused output device, but the sound is muted.  Which unused output device is selected is determined by OS X, and depends on how you have set up your system.  If OS X selects the AirPlay device, this can have some unintended consequences, such as turning on, or unexpectedly muting, an Apple TV for example.  At the time of writing, we are still hearing from BitPerfect customers who are encountering these issues, so we have not yet identified and resolved all of the outstanding issues.

If you check “Stop iTunes using AirPlay devices”, BitPerfect will attach itself in the background to the AirPlay device in such a way that no other Apps can use it, thereby preventing some of these issues.

Recommendation:  Enabled.  Please contact BitPerfect Support and provide us with a detailed description of the problem you are encountering if you find you need to disable this.
Troubleshooting:  N/A, there are no known specific problems associated with this option.



Default to Fixed Indexing  

BitPerfect relies on iTunes telling it what track is due to play next, so that it can manage gapless playback.  Unfortunately, sometimes iTunes provides incorrect information to BitPerfect, and when it is time to start the next track BitPerfect suddenly finds it has the wrong track queued up and playing.  This causes stuttering at worst, and gaps in gapless playback at best.  Checking “Default to Fixed Indexing” relies on an undocumented feature of iTunes, and can on occasions be a useful fix for this problem.  Additionally, try playing the album from within a fixed playlist, and not from a dynamic (‘Smart’) playlist or from within iTunes’ music library.  Sometimes deleting and re-importing the album can work (particularly re-importing the album one track at a time, in track order).  Finally, it appears that iTunes 10.7 is slightly better in this regard, and iTunes 11 is slightly worse.

Default to Fixed Indexing” works on your whole music library.  Alternatively, you can use the ‘fixedinexing’ iTunes comment field (see below) on individual tracks within an album.


Recommendation: Leave it unchecked unless you encounter the problems described above.
Troubleshooting: 
N/A, there are no known problems associated with this option.


Disable Gapless Playback  

BitPerfect manages Gapless Playback in the theoretically best possible way - while a track is playing, the next track is loaded into memory.  This way, switching between tracks is instantaneous, since playback is simply switched between two memory buffers.  This method relies upon BitPerfect receiving accurate information from iTunes, identifying which is the next track to be cued up.  For reasons described in more detail here, iTunes sometimes provides BitPerfect with the wrong information.  This can result in glitches, or fragments of the wrong track being played, as BitPerfect detects - and then corrects for - the error.  If the music you listen to does not require true Gapless Playback (i.e. if there is a distinct break in the music between tracks), you can check the Disable Gapless Playback checkbox, and BitPerfect will no longer attempt to pre-load the next track into memory.

Recommendation:
Leave it unchecked unless you encounter the problems described above.
Troubleshooting: 
N/A, there are no known problems associated with this option.



I/O Procedure Duration and I/O Thread Priority


Both of these options operate at the fundamental levels of BitPerfect's sound engine and its interaction with the computer's operating system.  Moving the sliders left can provide improved sound quality in high-resolution audio systems, but could also cause "Overload!" messages in the Console Log, sound corruption, and other unexplained problems.  These are areas in which perhaps the greatest optimizations in sound quality can be realized using BitPerfect, but will require great patience and determination on the part of the user.  Users experimenting with these sliders should be taking great care to ensure that the computer is used only for audio playback in order to achieve maximum benefit.



Recommendation: Start with both sliders all the way to the right.  Try gradually moving the sliders left and see if you notice an improvement, without encountering unexplained problems.  Each time you move a slider, you have to re-start playback to initiate the change.  If this level of tweaking leaves you feeling uncomfortable, leave both sliders at their right-most position and ignore them!

Troubleshooting: Before trying any other troubleshooting measures, make sure to move these sliders all the way to the right, the default position.


iTunes Comments

BitPerfect can interpret text in the iTunes Comments field to play a particular track in a different way. BitPerfect supports the ‘invertpolarity’, ‘monophonic’, ‘donotupsample’, ‘volume’,  ‘fixedindexing’, and 'invertchannels' comments in the track’s iTunes Comments field.  All comments are case insensitive, and can appear anywhere within the comments field:

invertpolarity
Add ‘invertpolarity’ to invert the polarity of the track.

monophonic
Add ‘monophonic’ to play the track in mono.

donotupsample
Add ‘donotupsample’ to disable upsampling for a particular track.

volume:[adjustment]dB
Add ‘volume:[adjustment]dB’ to boost or attenuate volume for a particular track.  Specifying a negative number attenuates volume, a positive number boosts volume.  The number must end in ‘dB’ (case insensitive).  For example, ‘volume:-5.5dB’ will lower the volume by 5.5dB for this track.  Be very careful using this feature to boost the volume, as system damage may occur.

fixedindexing
Add ‘fixedindexing’ to change the playlist indexing system.

invertchannels
Add ‘invertchannels’ to swap the left and right channels of the track.