@chapheading
@end ifnottex
-@unnumberedsec What is behind LilyPond?
+@finalout
+
+@heading What is behind LilyPond?
@sourceimage{hader-collage,,,.jpeg}
them.
@menu
-* introduction:: Introduction -- what's wrong with computer music notation.
-* software:: What's wrong with software -- or how Finale is not the end-all of music software.
+* introduction:: Introduction -- what is wrong with computer music notation.
+* software:: What is wrong with software -- or how Finale is not the end-all of music software.
* problem-statement:: How not to design software -- or modeling music notation.
* divide-and-conquer:: Divide and conqueror -- a blue print for automated notation.
* implementing-notation:: Impressive, but does it also work in theory -- a practical approach to capturing notation.
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
LilyPond 1.4:
@divClass{float-center}
-@divEnd
@c @ref{baer-sarabande-hires.jpeg,
@sourceimage{baer-sarabande,,,.png}
@c }
+@divEnd
@divClass{float-center}
-@divEnd
B@"arenreiter (click to enlarge)
+@divEnd
@divClass{float-center}
-@divEnd
@sourceimage{lily14-sarabande,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
LilyPond 1.4
+@divEnd
The LilyPond output is certainly readable, and for many people it
would be acceptable. However, close comparison with a hand-engraved
score showed a lot of errors in the formatting details:
@divClass{float-center}
-@divEnd
@sourceimage{lily14-sarabande-correct,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
@itemize
@item
Lots of symbols were unbalanced. In particular the trill sign was
@end itemize
+@divEnd
+
(And there were missing notes in the original version for LilyPond)
By addressing the relevant algorithms, settings, and font designs, we
output is very close to publication quality.
@divClass{float-center}
-@divEnd
@sourceimage{lily17-sarabande,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
LilyPond 1.8
+@divEnd
@divClass{float-center}
-@divEnd
@sourceimage{baer-sarabande,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
B@"arenreiter
+@divEnd
Another example of benchmarking is our project for the 2.1 series, a
@ref{schubert,Schubert song}.
@divClass{float-right}
-@divEnd
Next: @ref{typography-features,Cool features},
typographical hoops that we made LilyPond jump through.
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
Hawryluk's writings}, which include Finale and LilyPond notation
benchmarking.
-@divClass{float-right}
-@divEnd
+@c @divClass{float-right}
+@c @divEnd
@c Go @ref{Top,back} to the top.
-
-@bye
-
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
@tab
-@strong{←}
+@result{}
@tab
@end enumerate
@divClass{float-right}
-@divEnd
Next: @ref{implementing-notation,Impressive, but does it also
work in theory}? A practical approach to capturing notation.
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
@end itemize
@divClass{float-right}
-@divEnd
Next: @ref{implementing-typography,Stamping computer
screens?}. Computer hackers take over the engraving business.
-
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
(or left). The second chord has all directions up (right).
@divClass{float-center}
-@divEnd
@sourceimage{directions-updown,,,.png}
+@divEnd
The process of formatting a score consists of reading and writing
object variables.
variables. Changing them gives a different typographical impression:
@divClass{float-center}
-@divEnd
@sourceimage{thickness-tweaks,,,.png}
+@divEnd
@item
Formatting rules are also preset variables: each object has
use to draw their symbol is changed during the music fragment:
@divClass{float-center}
-@divEnd
@sourceimage{mc-squared,,,.png}
+@divEnd
@end itemize
@divClass{float-right}
-@divEnd
Next:
@ref{scoring-esthetics,Beautiful numbers}: how
LilyPond participates in the Miss World contests.
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
The most basic plug-in creates Note-heads:
@divClass{float-center}
-@divEnd
@sourceimage{engraver-noteheads,,,.png}
+@divEnd
This plug-in creates graphical objects from musical events. People
that put graphics to musical ideas are called copyists or engravers,
representing the staff lines.
@divClass{float-center}
-@divEnd
@sourceimage{engraver-staff,,,.png}
+@divEnd
@item
each head should be placed.
@divClass{float-center}
-@divEnd
@sourceimage{engraver-clef,,,.png}
+@divEnd
For the flags and stems we add a @code{Stem_engraver}:
@divClass{float-center}
-@divEnd
@sourceimage{engraver-stem,,,.png}
+@divEnd
This engraver is notified of any note head coming along. Every time
one (or more, for a chord) note head is seen, a stem object is
note heads, etc.:
@divClass{float-center}
-@divEnd
@sourceimage{engraver-slur,,,.png}
+@divEnd
engraver.
@divClass{float-center}
-@divEnd
@sourceimage{engraver-acc,,,.png}
+@divEnd
The @code{Accidental_engraver} is the most complex plug-in: it has
to look at the key signature, note pitches, ties, and bar lines to
share a staff:
@divClass{float-center}
-@divEnd
@sourceimage{engraver-final,,,.png}
+@divEnd
In this situation, the accidentals and staff are shared, but the
stems, slurs, beams, etc. are private to each voice. Hence, engravers
Score context:
@divClass{float-center}
-@divEnd
@sourceimage{engraver-score,,,.png}
+@divEnd
@divClass{float-right}
-@divEnd
Next: @ref{engraving,The art of stamping}:
-how @emph{did} they make hand-made music?
-
-@bye
-
+how @emph{did} they make hand-made music?
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
formatting decisions.
@divClass{float-right}
-@divEnd
Next: @ref{formatting-architecture,Program architecture,
your flexible friend}: tuning, tweaking and developing typography
rules.
-
-@bye
-
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
Are a quarter note C1 and eighth note D1, as in this example:
@divClass{float-center}
-@divEnd
@sourceimage{simple-notation,,,.png}
+@divEnd
On a microscopic scale, such syntax is easy to use. On a larger scale,
syntax also needs structure. How else can you enter complex pieces
@verbatim
- <<c4 d4 e4>>
+ <<c4 d4 e4>>
@end verbatim
@verbatim
- { <<c4 d4 e4>> f4 }
+ { <<c4 d4 e4>> f4 }
@end verbatim
@end ignore
@divClass{float-right}
-@divEnd
Next: @ref{conclusion,wrapping it up}, the conclusion.
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
@node introduction
-@unnumberedsec What's wrong with computer music notation?
+@unnumberedsec What is wrong with computer music notation?
We like to call LilyPond an "automated engraving system." It will
format music notation beautifully without requiring typographical
a fragment of both pieces:
@divClass{float-center}
-@divEnd
@sourceimage{baer-suite1-line,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
Hand-made
+@divEnd
@*
@divClass{float-center}
-@divEnd
@sourceimage{henle-suite1-line,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
Computer-made
+@divEnd
The location of the bar lines is a giveaway. In the new edition,
both barlines are on exactly the same horizontal location. Also, the
to better performances.
@divClass{float-right}
-@divEnd
-Next: @ref{software,What's wrong with software}, or how
+Next: @ref{software,What is wrong with software}, or how
Finale is not the end-all of music software.
-
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
simpler musical concept. Hence, software should reflect that separation.
@divClass{float-right}
-@divEnd
Next: @ref{divide-and-conquer,Divide and conqueror},
a blue print for automated notation
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
@uref{http://lilypond.org/documentation/v2.2/input/mutopia/F.Schubert/out-www/morgenlied.pdf,here}.
@divClass{float-right}
-@divEnd
@ref{benchmarking,Back to the essay}
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
and often not all cases are covered completely.
@divClass{float-center}
-@divEnd
@sourceimage{ross-beam-scan,,,.jpeg}
+@divEnd
@divClass{float-center}
-@divEnd
@emph{Formatting rules defined by example. Image from Ted Ross' The Art of
Music Engraving}
+@divEnd
We have developed a much easier and robust method of determining the
best formatting solution: score based formatting. The principle is the
result is much better, and because it makes our lives easy.
@divClass{float-right}
-@divEnd
Next: @ref{benchmarking,Man is the measure of things}: is a
flexible architecture enough?
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
@node software
-@unnumberedsec What's wrong with music notation software
+@unnumberedsec What is wrong with music notation software
Computers have made music printing accessible to the masses, but they
tend to deliver mediocre typography. Apparently, programmers have
been doing a shoddy job on notation programs. To illustrate that, we
had an amateur user set a piece of music in one of the most popular
-‘professional’ notation programs sold today, Finale
+@quotedblleft{}professional@quotedblright{} notation programs sold today, Finale
2003. It was made with all of the default settings. The music is from
the Sarabande of the 2nd Cello Suite by J. S. Bach.
}
@divClass{float-center}
-@divEnd
@sourceimage{finale-sarabande-full,,,.png}
+@divEnd
This example far surpasses the previous one when it comes to
formatting errors: there are serious errors in literally
@emph{every} measure. The errors come in all sizes: a big one is the
-oddly s p a c e d   o u t last line. A smaller one is the flat in
+oddly s p a c e d @ o u t last line. A smaller one is the flat in
measure 13, which is covered by the note preceding it. Here is a
magnification of that measure:
@divClass{float-center}
-@divEnd
@sourceimage{finale-flat-detail,,,.png}
+@divEnd
The errors go down to the teensy details: below is a blowup of the
beam in that measure. Of course, in proper typography the beam should
lack thereof) with the underlying PostScript technology.
@divClass{float-center}
-@divEnd
@sourceimage{finale-beam-detail,,,.png}
+@divEnd
Now, one could refute that Finale has a graphical interface, and it
lets you easily move about elements to correct errors, or use plug-ins
Did it occur to you that the stem of the last eighth note is too long?
@divClass{float-center}
-@divEnd
@sourceimage{finale-flat-correct,,,.png}
+@divEnd
Unless you are an expert, typographical errors will irk you without
being obvious. Many of them will go uncorrected and will still be in the
@end itemize
@divClass{float-right}
-@divEnd
Next: @ref{problem-statement,How not to design software},
or: modeling music notation.
-
-
-
-@bye
-
+@divEnd
-\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
It is demonstrated in the fragment below.
@divClass{float-center}
-@divEnd
@sourceimage{spacing-with-corr,,,.png}
+@divEnd
@divClass{float-center}
-@divEnd
@sourceimage{spacing-no-corr,,,.png}
+@divEnd
This fragment only uses quarter notes: notes that are played in a
constant rhythm. The spacing should reflect that. Unfortunately, the
@item
@sourceimage{henle-ledger,,,.png}
-
-
@tab
-@sourceimage{baer-ledger,,,.png}
+@sourceimage{baer-ledger,,,.png}
lines, and they are shortened when there is an accidental.
@divClass{float-right}
-@divEnd
-Next: @ref{input-format,Use the Source, Luke}, or: what
+Next: @ref{input-format,Use the Source Luke}, or: what
goes into LilyPond.
-
-@bye
-
+@divEnd