PMW is a computer program for high quality music typesetting. Originally written for Acorn RISC OS computers, the current version runs on Unix and Unix-like systems. It can also be made to run on MacOS and on Windows in the Cygwin environment. PMW is distributed as a source tarball and licenced under the GNU GPL.
Download the source for the latest release: pmw-5.22.tar.gz (released 21 December 2023)
The author of PMW is Philip Hazel, whose email address is in the README file in the PMW distribution. There is a Google Groups discussion list called PMW_Music which you can find here.
PMW operates by reading an input file containing an encoded description of the music; such a file can be constructed using any text editor or word processor. The music encoding is compact, and quick to enter once the format has been learned. The downside is the time needed to learn the format. However, there are benefits to using textual input, especially when setting music with lots of repetition. PMW has facilities for repeating notes, bars, or arbitrary input fragments, and it also supports macros and included files. Conditional if-then-else sections can be used to encode differences between a score and individual parts. Textual input also allows for precise control over the positioning of items.
The output of PMW is a PostScript file that can be printed on a PostScript printer, or viewed on screen, printed on a non-PostScript printer, or turned into a PDF by the use of GhostScript or similar software. PMW can also output Encapsulated PostScript, which is suitable for fragments that are to be included in another document.
PMW has its own PostScript outline font that contains all the musical shapes that it requires. There is a man page for the command line options, and a 200-page manual that is distributed as a PDF file. This contains both introductory sections and full reference documentation.
The links to sample output are to PDF files. You should be able to view them using any PDF viewer if your browser doesnt automatically display them.
PMW supports all common forms of notation, including half sharps and flats, with up to 63 staves per system. Any combination of staves can be selected, thus allowing the extraction of individual parts or groups of parts from a score. Headings etc. can be varied according to the selection.
PMW supports transposition, which applies to notes, key signatures, and key/chord names in text. There is a special key signature with no accidentals which does not transpose.
Bar lengths are automatially checked against the time signature, but this can be overridden. By default, PMW lays out the bars, splits the sequence of bars up into systems, and allocates the systems to pages. Space can be forced into a bar at any point; line breaks and page breaks can be forced after any bar. Alternatively, a pre-imposed layout in terms of the number of bars for each system and the number of systems for each page can be specified.
Page length and width can be specified as required. Common paper sizes such as A3, A4 and letter are built-in. The music can be magnified or reduced, and individual staves can be larger or smaller than others. The spacing between staves and betwen systems is individually controllable, and can be varied within the piece. A stave spacing of zero can be set to allow two parts to share a stave.
Several different styles of note head, bar line, repeat marking, clef, and half accidental are available, and staves can have from zero to six lines. You can also specify stemless note heads or stems without note heads.
There are a number of automatic processing features that can be disabled if not required. These include collapsing a sequence of rest bars into a many-bars rest, and cautionary time and key signatures. Features that can be requested include overall bar numbering and local numbering of repeated bars.
There is some support for laying out music from right to left, something that is sometimes needed in countries whose language is written that way.Philip Hazel