OnWorks favicon

ly - Online in the Cloud

Run ly in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command ly that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



ly - Manipulate LilyPond source files


ly [options] commands file, ...

A tool for manipulating LilyPond source files


-v, --version
show version number and exit

-h, --help
show this help text and exit

-i, --in-place
overwrite input files

-o,--output NAME
output file name

-e,--encoding ENC
(input) encoding (default UTF-8)

--output-encoding ENC
output encoding (default to input encoding)

-l,--language NAME
default pitch name language (default to "nederlands")

-d <variable=value>
set a variable

The special option -- considers the remaining arguments to be file names.


The command is one argument with semicolon-separated commands. In most cases you'll quote
the command so that it is seen as one argument.

You can specify more than one LilyPond file. If you want to process many files and write
the results of the operations on each file to a separate output file, you can use two
special characters in the output filename: a '*' will be replaced with the full path name
of the current input file (without extension), and a '?' will be replaced with the input
filename (without path and extension). If you don't want to have '*' or '?' replaced in
the output filename, you can set -d replace-pattern=false.

If you don't specify input or output filenames, standard input is read and standard output
is written to.


Informative commands that write information to standard output and do not change the file:

mode print the mode (guessing if not given) of the document

print the LilyPond version, if set in the document

print the pitch name language, if set in the document

Commands that change the file:

indent re-indent the file

reformat the file

translate <language>
translate the pitch names to the language

transpose <from> <to>
transpose the file like LilyPond would do, pitches are given in the 'nederlands'

convert absolute music to relative

convert relative music to absolute

write [filename]
write the file to the given filename or the output variable. If the last command
was an editing command, write is automatically called.

Commands that export the file to another format:

musicxml [filename]
export to MusicXML (in development, far from complete)

highlight [filename]
export the document as syntax colored HTML

hl [filename]
alias for highlight

Between commands, you can set or unset a variable using:

set a variable to value. Special values are true, false, which are interpreted
as boolean values, or digits, which will be interpreted as integer values.

unset a variable


The following variables can be set to influence the behaviour of commands. If there is a
default value, it is written between brackets:

mode mode of the file to read (default automatic) can be one of: lilypond, scheme,
latex, html, docbook, texinfo.

output [-]
the output filename (also set by -o argument)

encoding [UTF-8]
encoding to read (also set by -e argument)

default-language [nederlands]
the pitch names language to use by default, when not specified otherwise in the

encoding to write (defaults to encoding, also set by the --output-encoding

in-place [false]
whether to overwrite input files (same as -i)

backup-suffix [~]
suffix to use when editing files in-place, if set, backs up the original file
before overwriting it

replace-pattern [true]
whether to replace '*' and '?' in the output filename.

indent-tabs [false]
whether to use tabs for indent

indent-width [2]
how many spaces for each indent level (if not using tabs)

filename to reference as an external stylesheet for syntax-highlighted HTML.
This filename is literally used in the <link rel="stylesheet"> tag.

inline-style [false]
whether to use inline style attributes for syntax-highlighted HTML. By default
a css stylesheet is embedded.

number-lines [false]
whether to add line numbers when creating syntax-highlighted HTML.

These variables influence the output of information commands:

prints the filename next to information like version, etc. This is true by
default if there is more than one file specified.


Here is an example to re-indent and transpose a LilyPond file:

ly "indent; transpose c d" -o output.ly file.ly

Examples using the '*' in the output file name:

ly "transpose c d" *.ly -o '*-transposed.ly'
ly highlight *.ly -o 'html/?.html'

Use ly online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    OfficeFloor provides inversion of
    coupling control, with its: - dependency
    injection - continuation injection -
    thread injection For more information
    visit the...
    Download OfficeFloor
  • 2
    DivKit is an open source Server-Driven
    UI (SDUI) framework. It allows you to
    roll out server-sourced updates to
    different app versions. Also, it can be
    used fo...
    Download DivKit
  • 3
    Utility to convert between various
    subscription format. Shadowrocket users
    should use ss, ssr or v2ray as target.
    You can add &remark= to
    Telegram-liked HT...
    Download subconverter
  • 4
    SWASH is a general-purpose numerical
    tool for simulating unsteady,
    non-hydrostatic, free-surface,
    rotational flow and transport phenomena
    in coastal waters as ...
    Download SWASH
  • 5
    VBA-M (Archived - Now on Github)
    VBA-M (Archived - Now on Github)
    Project has moved to
    Features:Cheat creationsave statesmulti
    system, supports gba, gbc, gb, sgb,
    Download VBA-M (Archived - Now on Github)
  • 6
    Linux System Optimizer and Monitoring
    Github Repository:
    Audience: End Users/Desktop. User
    interface: Qt. Programming La...
    Download Stacer
  • More »

Linux commands