squishyball

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

DownloadTagReleasedInfo
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]

Install

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.

License

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.

Sources

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

Downloads

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)
MD5973a2c835f141b99d5173549cae7bc24
SHA18e9a2744e1a24b4f7a6b3aa922a0c8742a924e4a
SHA2566117b624f5093c19a4c82d67a77ece5d498788b261642762dd61af23fceff221
squishyball-20130313.dmg Mac OS X 10.4+ universal installer package (tag: r18881)
MD52c5dcd64efb7c468a54066f0e98a1636
SHA1677f9154bf50b6e2374d96cd262b32761c553024
SHA2561a5e557d81ba2e873912bb09d84b5da6fa970ceed85cc5c172eda0df16ddee95
squishyball-20130312.dmg Mac OS X 10.4+ universal installer package (tag: r18878)
MD52d3c04c1a2dcf22235024f546b7f6bfd
SHA10e98b7f1bb9e9390d6a8895b81eac2d414b05eba
SHA256e62d4afaa576431944d75878e3e5bce33fb79794597df1c94cd08c82ccfce5c6
squishyball-20130305.dmg Mac OS X 10.4+ universal installer package (tag: r18680)
MD5dd0c1981017d241e5d178b9f7f072c3c
SHA1c30b3be61518595a264decfdd35442abae2909a6
SHA2565de8a57d1e5254b9beb99e8a41a073f515de87a62a9363133c2be530e3992292
osx_plugin_endian_patch.txt OS X endian patch for libao 1.1.0
MD595d729faaaa724fc4c7e0db1f76942a8
SHA1808586ce3a31147b0465a21d48c2095fb273962e
SHA256463b677630decc6584e5158165d17dcedfabaa6a7dc43f2ba1ab6578bb7f83ca
osx_plugin_devname_patch.txt OS X --device patch for libao 1.1.0
MD54b67b9b2ec1bdac019d0dfd4bbbb73d3
SHA113ab984956f44702bd55740ef3fd56d014168191
SHA2563122250ce5825388eaea19a9ceb4c09fff1caf93c49ecf4fa66ca2378cccd788

See also the project’s downloads area.

See Also

Git Repository Browser

Repository browsers are available at: