MUSICXML2LY(1)

πŸŽ€ NAME πŸŽ€

okay so bestie, this is musicxml2ly β€” it lives in the User Commands part of the LilyPond manual fam, and it's version 2.26.0. literally its whole job is turning MusicXML into LilyPond input. that's it. that's the gig. πŸ’…


✨ SYNOPSIS ✨

musicxml2ly [OPTION]... FILE

πŸ¦‹ DESCRIPTION πŸ¦‹

Convert FILE with MusicXML data to a LilyPond input file. slay.

By default, the output file is called FILE.ly for input file FILE.xml. (yes, it just swaps the extension, king behavior πŸ‘‘)

If FILE is -, read from standard input (and write to standard output). so like, pipe it, rainbow it, whatever. 🌈

If FILE cannot be found, FILE.xml, FILE.musicxml, and FILE.mxl are also tried as input files. it's giving "she'll find you don't worry" energy fr fr. πŸ”


πŸ’– OPTIONS πŸ’–

  • -h, --help β€” show this help and exit. the classic.
  • --version β€” show version number and exit. tell me who you are, queen.
  • -v, --verbose β€” be verbose. she will NOT stop talking and honestly? we love that for her.
  • --lxml β€” obsolete. that's literally all it says. it's obsolete, bestie. leave her alone. πŸ’€
  • -z, --compressed β€” input file is a compressed MusicXML file (by default, activate if file extension is .mxl). so .mxl gets this automatically, no cap.
  • -r, --relative β€” convert pitches in relative mode (default). this is the one you get if you don't say anything. 🫢
  • -a, --absolute β€” convert pitches in absolute mode. the other vibe.
  • -l, --language=LANG β€” use LANG for pitch names, e.g., deutsch for note names in German. πŸ‡©πŸ‡ͺ
  • --loglevel=LOGLEVEL β€” Print log messages according to LOGLEVEL (NONE, ERROR, WARN, PROGRESS (default), DEBUG). pick your volume. πŸ”Š
  • --oe, --ottavas-end-early=t[rue]/f[alse] β€” expect <octave-shift> end elements before the associated <note> (as in Finale). Default is f[alse]. lowkey a Finale coping mechanism.
  • --nd, --no-articulation-directions β€” do not convert directions (^, _ or -) for articulations, dynamics, etc. keep those little marks out of it.
  • --nrp, --no-rest-positions β€” do not convert exact vertical positions of rests. rests get to float, free and unbothered. 🧚
  • --nsb, --no-system-breaks β€” ignore system breaks.
  • --npb, --no-page-breaks β€” ignore page breaks.
  • --npm, --no-page-margins β€” ignore page margins.
  • --npl, --no-page-layout β€” do not convert the exact page layout and breaks (shortcut for --nsb --npb --npm options). three-in-one, iconic.
  • --nsd, --no-stem-directions β€” ignore stem directions from MusicXML, use lilypond's automatic stemming instead. let lilypond decide, she's got taste.
  • --ds, --dynamics-scale=FACTOR β€” scale <dynamics> elements by a non-negative FACTOR; value 0 means to use lilypond's standard size for dynamics. non-negative only, bestie, don't get weird with it.
  • --afs, --absolute-font-sizes β€” use absolute font sizes in markup (default is to use font sizes based on score size).
  • --nb, --no-beaming β€” do not convert beaming information, use lilypond's automatic beaming instead. again: trust the algorithm. 🫑
  • -o, --output=FILE β€” set output filename to FILE, stdout if -.
  • -m, --midi β€” activate midi-block in .ly file. sound ON. 🎧
  • --cp, --credit-page=N β€” use <credit> information from page N to fill the fields of the \header block. Default is value 1.
  • --transpose=TOPITCH β€” set pitch to transpose by the interval between pitch c and TOPITCH. key change moment πŸ’…
  • --sd, --shift-durations=VALUE β€” shift durations and time signatures by VALUE; for example, value -1 doubles all durations, and value 1 halves them. yes, negative doubles it. it's giving math but make it music. 😭
  • --sm, --shift-meter=BEATS/BEATTYPE β€” ignored; use --shift-duration instead. she's deprecated, she's off the roster, use the other one.
  • --tc, --tab-clef=TABCLEFNAME β€” switch between two versions of tab clefs ("tab" and "moderntab").
  • --sn, --string-numbers=t[rue]/f[alse] β€” control output of string numbers; value f[alse] disables them. Default is t[rue].
  • --fb, --fretboards β€” convert '<frame>' events to a separate FretBoards voice instead of markups. guitar girlies rise 🎸
  • --book β€” put top-level score into '\book'.
  • --nt, --no-tagline β€” don't emit a LilyPond tagline. no credit, no note, just vibes.

πŸ› REPORTING BUGS πŸ›

Report bugs via bug-lilypond@gnu.org. don't suffer in silence bestie, tell the devs. πŸ’Œ


Copyright Β© 2005--2026 by

Han-Wen Nienhuys <hanwen@xs4all.nl>, Jan Nieuwenhuizen
<janneke@gnu.org>, Reinhold Kainhofer <reinhold@kainhofer.com>,
Patrick L. Schmidt <pls@philomelos.net>, and Werner Lemberg
<wl@gnu.org>

This program is free software. It is covered by the GNU General Public License and you are welcome to change it and/or distribute copies of it under certain conditions. Invoke as lilypond --warranty for more information. 🫢


🌸 SEE ALSO 🌸

The full documentation for musicxml2ly is maintained as a Texinfo manual. If the info and musicxml2ly programs are properly installed at your site, the command

info musicxml2ly

should give you access to the complete manual. iykyk. πŸ“–


okay that's the whole page, go make some sheet music, you absolute main character. ⭐

and that's a wrap, bestie β€” musicxml2ly (LilyPond) version 2.26.0, dated May 2026. πŸ’œπŸŽ€

πŸ“¦ where this page comes from