**abxtest** is a tool for conducting listening (or other subjective) tests to determine
whether a listener can discern a difference between two subjects under test,
denoted
**A** and
**B**.
The listener conducts several trials in which an unknown subject,
**X**, is randomly chosen to be either
**A** or
**B**. The probability that
**X** is
**A** or
**B** is the same. The listener must decide whether
**X** sounds the same as
**A** or the same as
**B**. The listener may repeat
**A**,
**B**, and
**X** as many times as necessary before reaching a verdict.

In order to prove the hypothesis that a difference can be discerned between
**A** and
**B**, the listener must disprove the null hypothesis that
**A** sounds the same as
**B**. This is accomplished by correctly identifying
**X** often enough that randomly guessing correctly the same number of times would
be statistically improbable.

The
**A** and
**B** subjects for
**abxtest** are actually arbitrary shell commands. The normal mode of use would be to give
commands which play two slightly different sounds. The standard output and
standard error from each command are suppressed so as not to reveal the
identity of
**X**. The listener may interrupt an executing command (usually by pressing
**^C**) without terminating the test.