12.07.2015 Views

Lilypond, a system for automated music engraving - CiteSeerX

Lilypond, a system for automated music engraving - CiteSeerX

Lilypond, a system for automated music engraving - CiteSeerX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Proceedings of the XIV Colloquium on Musical In<strong>for</strong>matics (XIV CIM 2003), Firenze, Italy, May 8-9-10, 2003and current work focuses on implementing the variety of printingstyles of Gregorian notation. ♭ ♭ ♯♯Figure 8: The same fragment of <strong>music</strong> in three ancient layoutstyles: historical print (top), contemporary mensural notation(middle), and modern notation with ligature brackets (bottom).Finally, this paper itself shows an application of LilyPond: textand <strong>music</strong> can easily be mixed in the same document. The input<strong>for</strong>mat is ASCII based, so one can enter snippets of LilyPond inputin other ASCII based document <strong>for</strong>mats, such as L A TEX and HTML.With the aid of a small helper program, these fragments can bereplaced in the output by the corresponding <strong>music</strong> notation, in the<strong>for</strong>m of pictures (<strong>for</strong> HTML) or TEX (<strong>for</strong> L A TEX). For example,Figure 1 was created by entering the following in the L A TEX sourcefile\begin[verbatim]{lilypond}\notes { c’4 d’8 }\end{lilypond}5. DISCUSSION AND FUTURE WORKWe have presented our progress on LilyPond, a free <strong>music</strong> <strong>engraving</strong><strong>system</strong>, which converts a <strong>music</strong> representation to high quality<strong>music</strong> typography. For some pieces, LilyPond output is comparableto hand-engraved <strong>music</strong>. The program is focused on producinghigh quality notation automatically. This makes it an excellenttool <strong>for</strong> users who are not notation experts.LilyPond can run without requiring keyboard or mouse input.This makes it an excellent candidate <strong>for</strong> generating <strong>music</strong> notationon the fly, e.g., on webservers. The degree of automation alsomakes it a suitable candidate <strong>for</strong> trans<strong>for</strong>ming large bodies of <strong>music</strong>to print automatically: <strong>for</strong> example, LilyPond has been used toproduce an <strong>automated</strong> rendering of a database of 3,500 folk songsstored in ABC [13]. This is helped by the fact that LilyPond includes(partial) convertors <strong>for</strong> a number of <strong>music</strong> <strong>for</strong>mats, amongothers MusicXML [14], MIDI, Finale’s ETF, and ABC.Beaming, line breaking and spacing are the strong points of the<strong>for</strong>matting engine. In some areas the engine still falls short. Forinstance, placing fingering indications, articulation and dynamicmarks together is a complex problem. We plan to improve collisionhandling such that manual adjustments are no longer necessary<strong>for</strong> complex configurations of these notation elements. Otherplans <strong>for</strong> future work include improving <strong>for</strong>matting of slurs andadding page layout to the <strong>system</strong>.The program has no graphical user interface, and always producesall pages of the final output. To see the result of a change, theprogram has to be rerun on the entire score. In effect, this trans<strong>for</strong>ms<strong>music</strong> editing into a debug-compile cycle, and fine-tuninglayout details is a slow process. We plan to explore solutions thatmake manual adjustments with LilyPond a more interactive andefficient process.6. ACKNOWLEDGEMENTSOur sincere thanks go out to all our developers, bug-reporters andusers; without them LilyPond would not have been possible. Inparticular, we would like to thank Jürgen Reuter <strong>for</strong> contributingligature support, and providing the mensural notation example <strong>for</strong>this paper.7. REFERENCES[1] “Revised 5 report on the algorithmic language scheme,”Higher-Order and Symbolic Computation, vol. 11, no. 1,September 1998.[2] Free Software Foundation, “GUILE, GNU’s UbiquitousIntelligent Language <strong>for</strong> Extension,” http://www.gnu.org/software/guile/, 2002.[3] Allen Parish, Wael A. Hegazy, John S. Gourlay, Dean K.Roush, and F. Javier Sola, “MusiCopy: An <strong>automated</strong> <strong>music</strong><strong>for</strong>matting <strong>system</strong>,” Tech. Rep., Department of Computerand In<strong>for</strong>mation Science, The Ohio State University, 1987.[4] Donald Knuth, The TEXbook, Addison-Wesley, 1987.[5] Daniel Taupin, Ross Mitchell, and Andreas Egler, “Musixtex,”2002.[6] Bill Schottstaedt, Beyond MIDI. The handbook of <strong>music</strong>alcodes, chapter Common Music Notation, MIT Press, 1997.[7] H. H. Hoos, K. A. Hamel, K. Renz, and J. Kilian, “TheGUIDO <strong>music</strong> notation <strong>for</strong>mat—a novel approach <strong>for</strong> adequatelyrepresenting score-level <strong>music</strong>,” in Proceedings ofInternational Computer Music Conference, 1998, pp. 451–454.[8] Paul Hudak, Tom Makucevich, Syam Gadde, and Bo Whong,“Haskore <strong>music</strong> notation—an algebra of <strong>music</strong>,” Journal ofFunctional Programming, 1996.[9] Helene Wanske, Musiknotation — Von der Syntax desNotenstichs zum EDV-gesteuerten Notensatz, Schott-Verlag,Mainz, 1988.[10] Ted Ross, Teach yourself the art of <strong>music</strong> <strong>engraving</strong> andprocessing, Hansen House, Miami, Florida, 1987.[11] Wael A. Hegazy and John S. Gourlay, “Optimal line breakingin <strong>music</strong>,” in Proceedings of the International Conferenceon Electronic Publishing, Document Manipulation andTypography. Nice (France), J. C. van Vliet, Ed. April 1988,Cambridge University Press.[12] Johann Sebastian Bach, Sechs Suiten für Violoncello solo,Number BA 320. Bärenreiter, 1950.[13] Erich Rickheit, “Yet another digital tradition page,” http://sniff.numachi.com/˜rickheit/dtrad/.[14] Guido Amoruso, “Xml2ly,” http://www.nongnu.org/xml2ly/.CIM-5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!