<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>Score is a (single) compound musical expression - GNU LilyPond Learning Manual</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Learning Manual"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="How-LilyPond-input-files-work.html#How-LilyPond-input-files-work" title="How LilyPond input files work"> <link rel="prev" href="Introduction-to-the-LilyPond-file-structure.html#Introduction-to-the-LilyPond-file-structure" title="Introduction to the LilyPond file structure"> <link rel="next" href="Nesting-music-expressions.html#Nesting-music-expressions" title="Nesting music expressions"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 by the authors Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled ``GNU Free Documentation License''. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="Score-is-a-(single)-compound-musical-expression"></a> <a name="Score-is-a-_0028single_0029-compound-musical-expression"></a> Next: <a rel="next" accesskey="n" href="Nesting-music-expressions.html#Nesting-music-expressions">Nesting music expressions</a>, Previous: <a rel="previous" accesskey="p" href="Introduction-to-the-LilyPond-file-structure.html#Introduction-to-the-LilyPond-file-structure">Introduction to the LilyPond file structure</a>, Up: <a rel="up" accesskey="u" href="How-LilyPond-input-files-work.html#How-LilyPond-input-files-work">How LilyPond input files work</a> <hr> </div> <h4 class="subsection">3.1.2 Score is a (single) compound musical expression</h4> <p><a name="index-g_t_005cscore-198"></a><a name="index-g_t_005cscore-199"></a> <a name="index-score-200"></a><a name="index-Compound-music-expression-201"></a><a name="index-Music-expression_002c-compound-202"></a> We saw the general organization of LilyPond input files in the previous section, <a href="Introduction-to-the-LilyPond-file-structure.html#Introduction-to-the-LilyPond-file-structure">Introduction to the LilyPond file structure</a>. But we seemed to skip over the most important part: how do we figure out what to write after <code>\score</code>? <p>We didn't skip over it at all. The big mystery is simply that there <em>is</em> no mystery. This line explains it all: <blockquote> <em>A </em><code>\score</code><em> block must begin with a compound music expression.</em> </blockquote> <p class="noindent">To understand what is meant by a music expression and a compound music expression, you may find it useful to review the tutorial, <a href="Music-expressions-explained.html#Music-expressions-explained">Music expressions explained</a>. In that section, we saw how to build big music expressions from small pieces – we started from notes, then chords, etc. Now we're going to start from a big music expression and work our way down. <pre class="example">\score { { % this brace begins the overall compound music expression \new GrandStaff << <var>...insert the whole score of a Wagner opera in here...</var> >> } % this brace ends the overall compound music expression \layout { } } </pre> <p>A whole Wagner opera would easily double the length of this manual, so let's just add a singer and piano. We don't need a <code>GrandStaff</code> for this ensemble, which simply groups a number of staves together with a brace at the left, so we shall remove it. We <em>do</em> need a singer and a piano, though. <pre class="example">\score { << \new Staff = "singer" << >> \new PianoStaff = piano << >> >> \layout { } } </pre> <p>Remember that we use <code><< ... >></code> instead of <code>{ ... }</code> to show simultaneous music. And we definitely want to show the vocal part and piano part at the same time, not one after the other! Note that the <code><< ... >></code> construct is not really necessary for the Singer staff, as it contains only one sequential music expression; however, using <code><< ... >></code> instead of braces is still necessary if the music in the Staff is made of two simultaneous expressions, e.g. two simultaneous Voices, or a Voice with lyrics. We'll add some real music later; for now let's just put in some dummy notes and lyrics. <blockquote> <pre class="verbatim"> \score { << \new Staff = "singer" << \new Voice = "vocal" { c'1 } \addlyrics { And } >> \new PianoStaff = "piano" << \new Staff = "upper" { c'1 } \new Staff = "lower" { c'1 } >> >> \layout { } } </pre> <p> <a href="../01/lily-9d813cc3.ly"> <img align="middle" border="0" src="../01/lily-9d813cc3.png" alt="[image of music]"> </a> </p> </blockquote> <p>Now we have a lot more details. We have the singer's staff: it contains a <code>Voice</code> (in LilyPond, this term refers to a set of notes, not necessarily vocal notes – for example, a violin generally plays one voice) and some lyrics. We also have a piano staff: it contains an upper staff (right hand) and a lower staff (left hand). <p>At this stage, we could start filling in notes. Inside the curly braces next to <code>\new Voice = vocal</code>, we could start writing <pre class="example">\relative c'' { r4 d8\noBeam g, c4 r } </pre> <p>But if we did that, the <code>\score</code> section would get pretty long, and it would be harder to understand what was happening. So let's use variables instead. These were introduced at the end of the previous section, remember? So, adding a few notes, we now have a piece of real music: <blockquote> <pre class="verbatim"> melody = \relative c'' { r4 d8\noBeam g, c4 r } text = \lyricmode { And God said, } upper = \relative c'' { <g d g,>2~ <g d g,> } lower = \relative c { b2 e2 } \score { << \new Staff = "singer" << \new Voice = "vocal" { \melody } \addlyrics { \text } >> \new PianoStaff = "piano" << \new Staff = "upper" { \upper } \new Staff = "lower" { \clef "bass" \lower } >> >> \layout { } } </pre> <p> <a href="../13/lily-d5c98f0c.ly"> <img align="middle" border="0" src="../13/lily-d5c98f0c.png" alt="[image of music]"> </a> </p> </blockquote> <p>Be careful about the difference between notes, which are introduced with <code>\relative</code> or which are directly included in a music expression, and lyrics, which are introduced with <code>\lyricmode</code>. These are essential to tell LilyPond to interpret the following content as music and text respectively. <p>When writing (or reading) a <code>\score</code> section, just take it slowly and carefully. Start with the outer level, then work on each smaller level. It also really helps to be strict with indentation – make sure that each item on the same level starts on the same horizontal position in your text editor. <p class="noindent"> <h5 class="subsubheading">See also</h5> <p class="indent"> <p>Notation Reference: <a name="index-Structure-of-a-score-203"></a><a href="../lilypond/Structure-of-a-score.html#Structure-of-a-score">Structure of a score</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> <a name="Score-is-a-_0028single_0029-compound-musical-expression"></a> Next: <a rel="next" accesskey="n" href="Nesting-music-expressions.html#Nesting-music-expressions">Nesting music expressions</a>, Previous: <a rel="previous" accesskey="p" href="Introduction-to-the-LilyPond-file-structure.html#Introduction-to-the-LilyPond-file-structure">Introduction to the LilyPond file structure</a>, Up: <a rel="up" accesskey="u" href="How-LilyPond-input-files-work.html#How-LilyPond-input-files-work">How LilyPond input files work</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> This page is for LilyPond-2.11.57 (development-branch). <br> <address> Report errors to <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a>. </address> <br> Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome. </font> </p> </div> <P> Other languages: <a href="Score-is-a-_0028single_0029-compound-musical-expression.fr.html">français</a>, <a href="Score-is-a-_0028single_0029-compound-musical-expression.es.html">español</a>, <a href="Score-is-a-_0028single_0029-compound-musical-expression.de.html">deutsch</a>. <BR> </P> </BODY></html>