4.3.2 Invoking musicxml2ly

MusicXML is an XML dialect for representing music notation.

musicxml2ly extracts notes, articulations, score structure and lyrics from ‘part-wise’ MusicXML files then writes them to a .ly file. It is run from the command line as follows;

musicxml2ly [option]… file.xml

Note that by ‘command line’, we mean the command line of the operating system. See Converting from other formats, for more information about this.

If - is used instead of file.xml, musicxml2ly reads all input directly from the command line.

The following options are supported by musicxml2ly:

-a, --absolute

convert pitches in absolute mode.

--fb --fretboards

converts <frame> events to a separate FretBoard voice instead of markups.

-h, --help

print usage and a summary of all the available command-line options.

-l, --language=LANG

use LANG for pitch names, e.g. deutsch for note names in German.


Sets the output verbosity to LOGLEVEL. Possible values are NONE, ERROR, WARN, PROGRESS (default) and DEBUG.

-m, --midi

activate the midi block in the .ly file.

--nb, --no-beaming

do not convert beaming information, use LilyPond’s automatic beaming instead.

--nd, --no-articulation-directions

do not convert directions (^, _ or -) for articulations, dynamics, etc.

--nrp, --no-rest-positions

do not convert exact vertical position of rests.

--nsb, --no-system-breaks

ignore system breaks.

--npl, --no-page-layout

do not convert the exact page layout and breaks (shortcut for --nsb --npb --npm options).

--npb, --no-page-breaks

ignore page breaks.

--npm, --no-page-margins

ignore page margins.

--nsd, --no-stem-directions

ignore stem directions from MusicXML, use lilypond’s automatic stemming instead.

-o, --output=FILE

set the output file name to FILE. If file is -, the output will be printed to stdout. If not given, xmlfile.ly will be used instead.

-r, --relative

convert pitches in relative mode (default).


the interval between pitch c and TOPITCH to transpose by.

--sm, --shift-meter=BEATS/BEATTYPE

change the length|duration of notes as a function of a given time signature to make the score look faster or slower, (e.g. 4/4 or 2/2).

--tc, --tab-clef=TABCLEFNAME

switch between two versions of tab clefs (tab and moderntab).

--sn --string-numbers=t[rue]/f[alse]

deactivate string number stencil with --string-numbers false. Default is true.

-v, --verbose

be verbose.


show version number and exit.

-z, --compressed

input file is a zip-compressed MusicXML file.

LilyPond Application Usage v2.25.14 (development-branch).