Simple command-line utility for performing casual, double-blind A/B, A/B/X or X/X/Y audio testing on the command line.

The squishyball sources have been imported from Xiph.org's svn source repository located at http://svn.xiph.org/trunk/squishyball.

There is some discussion of double-blind testing along with a nice screen shot of a running copy of squishyball in the very excellent 24/192 Music Downloads are Very Silly Indeed article.

There’s another screen shot of a running copy of squishyball and some discussion of using it as a comparison utility in the quite informative next generation audio: CELT update 20101223 article.

Quick Download

squishyball-20140211.dmg r19085 2014-02-11 Mac OS X 10.4+ universal squishyball 2014-02-11 Installer package [hashes]
squishyball-20130313.dmg r18881 2013-03-13 Mac OS X 10.4+ universal squishyball 2013-03-13 Installer package [hashes]
squishyball-20130312.dmg r18878 2013-03-12 Mac OS X 10.4+ universal squishyball 2013-03-12 Installer package [hashes]
squishyball-20130305.dmg r18680 2013-03-05 Mac OS X 10.4+ universal squishyball 2013-03-05 Installer package [hashes]


Download a pre-built Mac OS X installer from the the squishyball project’s downloads area (see link above).

Or clone the source code from https://bitbucket.org/mackyle/squishyball.git and build from scratch.

Note that a successful build will require libFLAC, libao, libogg, libvorbis, opus and opusfile. Also, a newer ncurses will have to be built for older systems. The pre-built Mac OS X installer already has these dependencies taken care of. MacPorts can be used to build most of these library dependencies for OS X (opusfile will probably have to be built separately).

OS X libao 1.1.0 Patches

Two patches are available for the libao 1.1.0 library release tarball. Both have been incorporated into the libao svn repository as revision 18868 and revision 18881 and are included as part of the libao 1.2.0 library release tarball so there’s really no reason to use the libao version 1.1.0 tarball.

  1. The 1.1.0 libao library tarball requires a patch for the OS X libao plugin to work properly with squishyball on big-endian machines (the bug is still present just not triggered by squishyball on little-endian machines). r18868
  2. The 1.1.0 libao library tarball requires a patch in order for squishyball -d/--device selection to work on OS X. (Should be applied after the previous patch.) r18881

    After applying this patch, you can use device names (or partial names) or, if you have it, the audio device UID (audio device UIDs usually look something like “AppleHDAEngineOutputDP:8,5,1,0:0:{2D4C-05ED-00000000}”) with the squishyball -d/--device option. With the partial matching feature you can also use “-d speaker” or “-d headphones” or “-d hdmi” or “-d spdif” or “-d iMic” etc. to select the output device. Matching is case insensitive.

The diffs are available in the file osx_plugin_endian_patch.txt (#1) and the file osx_plugin_devname_patch.txt (#2). Both files can be applied with the patch tool.


GPL v2.0

The squishyball source code is licensed under the GNU General Public License v2.0 (GPLv2). The library dependencies are licensed under GPLv2, BSD and MIT licenses.


You can download this project’s source code in either tar or zip formats.

You can also clone the project with Git by running:

git clone https://bitbucket.org/mackyle/squishyball.git


Pre-built universal binary installers of the squishyball executable (including required support libraries) runnable on Mac OS X 10.4 or later (including 10.7+) are available from the squishyball project’s downloads area.

Here are some convenient download links:

squishyball-20140211.dmg Mac OS X 10.4+ universal installer package (tag: r19085)
squishyball-20130313.dmg Mac OS X 10.4+ universal installer package (tag: r18881)
squishyball-20130312.dmg Mac OS X 10.4+ universal installer package (tag: r18878)
squishyball-20130305.dmg Mac OS X 10.4+ universal installer package (tag: r18680)
osx_plugin_endian_patch.txt OS X endian patch for libao 1.1.0
osx_plugin_devname_patch.txt OS X --device patch for libao 1.1.0

See also the project’s downloads area.

See Also

Git Repository Browser

Repository browsers are available at: