Skip to content
A command-line interface for printing musical scores from MuseData files.
C DM Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Muse2ps is a command-line program for typesetting MuseData files. The program incorporates three interpreted zbex programs (autoset, mskpage and pspage) which are typically run inside the dmuse editor. The muse2ps program contains a stand-alone version of the zbex interpreter as well as fonts necessary to print music as PostScript files.

See the main webpage for muse2ps for detailed documentation on running muse2ps such as a list of its command-line options.

The bin directory contains pre-compiled version of dmuse for linux, OS X and Windows.

Printing from online data

Sample data for testing muse2ps can be found in the [src/tests] directory.
Online data is available for several repertories:

Composer Repertory MPG MuseData
Beethoven String Quartets all all
Corelli Opp. 1–6 op. 1, op. 2, op. 3, op. 4, op. 5 op. 6 op. 1 op. 2 op. 3 op. 4 op. 5 op. 6

As an example web-based application of muse2ps, you can print Beethoven's first quartet from data downloaded directly from the web with this muse2ps. Muse2ps outputs PostScript data, so you will need software to convert PostScript into PDF. The ps2pdf program which is part of the GhostScript software package typically comes included on linux operating systems, and can be downloaded for free on other computer platforms.

Using wget to download data on linux computers:

wget -O- | muse2ps =p | ps2pdf -sPAPERSIZE=letter - - > beethoven-op018n1.pdf

Or with curl on Apple OS X computers:

curl | muse2ps =p | ps2pdf -sPAPERSIZE=letter - - > beethoven-op018n1.pdf

The =p option for muse2ps will set the input data type to "Music Page Files". This format of MuseData has already been typeset for printing, so muse2ps only does a simple translation from the MPG format into PostScript when printing such data.

The muse2ps program can also typeset "Stage 2" MuseData files, although the layout will be totally automatic and not as polished as printing the Music Page files. Here are examples of printing the first movement of Beethoven's first string quartet:

wget -O-| muse2ps =z16j | ps2pdf -sPAPERSIZE=letter - - > beethoven-op018n1-msd.pdf

curl| muse2ps =z16j | ps2pdf -sPAPERSIZE=letter - - > beethoven-op018n1-msd.pdf

In this case the muse2ps options =z16j means typeset at size 16 (16 pixels between staff lines) and right justify the last system of music.

You can’t perform that action at this time.