NAME
ly-fu - play or display lilypond snippets
SYNOPSIS
Set the MIDI_EDITOR and SCORE_VIEWER environment variables to suitable MIDI playing and PDF opening utilities, or adjust the source to your liking.
$ export MIDI_EDITOR=timidity
$ export SCORE_VIEWER=xpdf
$ ly-fu --instrument=banjo c des ees c des bes c aes
$ ly-fu -i=trumpet --open "c8 g'4 c,8 g'4 c,8 g'2"
$ echo c e g | ly-fu -
Or, to instead save the generated lilypond somewhere:
$ ly-fu --show-code e e e c1 > masterpiece.ly
DESCRIPTION
Plays and possibly displays lilypond snippets entered at the command line. The MIDI_EDITOR
environment variable should be set to a program that can play MIDI files, and the SCORE_VIEWER
optionally set to a PDF viewer. (Or edit the source code as necessary.)
https://www.lilypond.org/ and in particular the Learning and Notation manuals should be consulted to understand the lilypond syntax.
OPTIONS
This program currently supports the following command line switches:
- --absolute
-
Assume lilypond absolute notation.
- --instrument=instrument
-
Set MIDI instrument (see lilypond docs and ZSH compdef script).
- --language=language
-
Specify the lilypond language to use, by default the
lilypond
default ofnederlands
. If using note names from Music::PitchNum::German,... | ly-fu --language=deutsch ...
may be of some use. "Note names in other languages" in the lilypond notation reference contains the full list of supported languages.
- --layout
-
Save the MIDI and other various files (they are unlinked by default).
- --open
-
Show the score via the
SCORE_VIEWER
program. - --partial=lilypond fragment
-
A lilypond fragment played once at the beginning.
- --relative=note
-
Specify what note the input is relative to.
- --repeats=count
-
How many times to repeat the (non-partial) input.
- --rhythmic-staff
-
Make the staff a lilypond
RhythmicStaff
instead of the usual one. - --show-code
-
Prints the generated lilypond data to standard out, then exits the program. The score is not shown, nor the music played.
- --silent
-
Do not play the MIDI.
- --sleep=seconds
-
Kluge sleep before unlinking temporary files (might be handy if
SCORE_VIEWER
is slow to start). - --tempo=tempo
-
What the tempo is (in quarter notes, e.g.
120
or the like). - --verbose
-
Show output from lilypond and the MIDI player.
FILES
NOTE This program makes heavy use of temporary files. On a shared system, the lilypond generated output files might introduce /tmp security problems (arbitrary file clobber or unlink against the user running the code). These can be avoided by employing a private temporary directory, for example by pointing the TMPDIR
environment variable to such a directory.
A ZSH completion script is available in the zsh-compdef/
directory of the App::MusicTools distribution. Install this to a $fpath
directory.
SEE ALSO
COPYRIGHT
Copyright 2012 Jeremy Mates
This program is distributed under the (Revised) BSD License: https://opensource.org/license/bsd-3-clause/