Minpair's graphical user interface


  1. Description
  2. Details
  3. Environment
  5. Localization
  6. Bugs
  7. Change Log


minpair generates a complete list of minimal pairs (words differing in exactly one segment) from a list of words. The input should consist of one entry per line in UTF-8 Unicode. By default, each entry consists of two parts, separated by a tab. The first field is the word. The second field is an identifier. Typically this will be a gloss or record number.

The output lists the two segments contrasting in the minimal pair, then the two words, each followed by its identifier, if supplied, and then the context for the difference, with a difference site marker (by default an underscore) marking the site of the difference. The segments differing are listed in a fixed order (that of the character codes) so that all tokens of the same pair will sort together.

By default minpair searches only for pairs of words of the same length differing in exactly one segment. Command line options allow the addition of single insertions/deletions and single transpositions.

In order to find all minimal pairs it is normally necessary for the input notation to use one character for each segment. Even in IPA transcription, this is often not the case. minpair provides for this situation by accepting definitions of multigraphs. For instance, if you put the sequences p', t', and k', representing glottalized /p/, /t/, and /k/, in the multigraph definition file, minpair will treat them as single segments. The multigraph definition file should consist of the character sequences that are to be treated as single segments, one per line. Like all other input, this file should be encoded in UTF-8 Unicode. Sequences declared as multigraphs are compressed to a single UTF-32 codepoint so that they will compare as single segments, then decompressed on output.

The basic program has a command-line interface. mpg provides an optional graphical interface. mpg will also arrange for the output of minpair to be sorted if a suitable sort utility is available. Standard sort utilities like Unix sort will do, but if the data contains multigraphs, the best results will be obtained using msort since it can read and use the same multigraph definitions as does minpair.

It is also possible to use mpg without minpair. mpg can find minimal pairs involving substitutions but currently cannot handle indels and transpositions. mpg is much slower than minpair. On a list of 10,000 words, for example, minpair took 4 seconds while mpg took 321 seconds. The difference is much less significant for shorter word lists.

mpg is also able to find pairs of words that differ in two positions, which minpair does not know how to do. This is useful when looking for phonological rules. The maximum distance between the two positions may be specified.

Back to Top


LanguageC (main program), Tcl/Tk (GUI)
Dependencies (weak)dillo [used by some help functions by default - other browsers may be used instead]
 msort [Recommended if sorted output is desired.]
LicenseGNU General Public License, Version 3
Current version5.2
Last modified2009-11-14

Back to Top


minpair should compile and run without difficulty on any POSIX-conformant system. It is known to compile and run without modification under GNU/Linux, FreeBSD, and SunOs. If the internationalization and localization libraries used by minpair are not available, as under Mac OS X, the autoconfiguration system will omit them.

mpg should run anywhere that Tcl/Tk is available, including GNU/Linux, FreeBSD, Mac OS X, and Microsoft Windows. However, a few features may not work on non-Unix systems. In particular, the Abort Minpair command depends on the existence of a Unix-style kill program that can be used to send a signal to another process. mpg will run properly under Mac OS X if you have installed X11 and use Tk-X11. (As of Mac OS X 10.4 "Tiger", X11 is an optional install provided on the distribution CD.) mpg now adapts itself to Tk-Aqua sufficiently well as to be usable but necessarily behaves somewhat differently.

Back to Top


FileSize (Bytes)MD5 Sum
minpair-5.2.tar.bz2 121,055 a3bcac93cd9f66f2d134885628bc26e4
minpair-5.2.tar.gz 147,018 1506ea021f7c7ecf5821376a61587192
minpair-5.2.zip 157,545 e9c14a9fc073a832394c45b724360edc

Microsoft Windows users who do not need minpair (the C program) and do not know how to install Tcl/Tk may download mpg.exe, which is a single-file executable containing mpg and the Tcl/Tk interpreter. (This executable will not work on 64 bit processors.)

If you would like to be notified of new releases, subscribe to minpair at Freshmeat.

Back to Top


Both minpair and mpg are internationalized using the GNU gettext system. A French message catalog is provided for minpair.

Back to Top


No bugs are known.

Back to Top

Change Log

5.2 - 2009-11-14


The changes affect only mpg.







3.1 - 2005-02-19

3.0 - 2005-02-10

2.0 - 2003-12-13

1.0 - 1993-6-17

Back to Top

Back to Bill Poser's software page.