ly-fu - play or display lilypond snippets


  $ 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 -


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.) and in particular the Learning and Notation manuals should be consulted to understand the lilypond syntax.


This script currently supports the following command line switches:


Assume lilypond absolute notation.


Set MIDI instrument (see lilypond docs and ZSH compdef script).


Save the MIDI and other various files (they are unlinked by default).


Show the score via the SCORE_VIEWER program.

--partial=lilypond fragment

A lilypond fragment played once at the beginning.


Specify what note the input is relative to.


How many times to repeat the (non-partial) input.


Do not play the MIDI.


Kluge sleep before unlinking temporary files (if SCORE_VIEWER slow, or so forth).


What the tempo is (in quarter notes, e.g. 120 or the like).


Show output from lilypond and the MIDI player.


A ZSH completion script is available in the zsh-compdef/ directory of the App::MusicTools distribution. Install this to a $fpath directory.


Reporting Bugs

If the bug is in the latest version, send a report to the author. Patches that fix problems or add new features are welcome.

Known Issues

STDERR hidden by default, so if you feed lilypond bad input, you will not see or hear anything.



Jeremy Mates


Copyright (C) 2012 by Jeremy Mates

This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.16 or, at your option, any later version of Perl 5 you may have available.