<!-- header_tag --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Copyright C 1999-2009 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". --> <!-- Created on December 15, 2009 by texi2html 1.82 texi2html was written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people. Send bugs and suggestions to <texi2html-bug@nongnu.org> --> <head> <title>GNU LilyPond Learning Manual: 2.3.1 Music expressions explained</title> <meta name="description" content="GNU LilyPond Learning Manual: 2.3.1 Music expressions explained"> <meta name="keywords" content="GNU LilyPond Learning Manual: 2.3.1 Music expressions explained"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.82"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="index.html#Top" rel="start" title="GNU LilyPond — Learning Manual"> <link href="LilyPond-index.html#LilyPond-index" rel="index" title="D. LilyPond index"> <link href="index_toc.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="index_abt.html#SEC_About" rel="help" title="About This Document"> <link href="Multiple-notes-at-once.html#Multiple-notes-at-once" rel="up" title="2.3 Multiple notes at once"> <link href="LilyPond-index.html#LilyPond-index" rel="next" title="D. LilyPond index"> <link href="Multiple-notes-at-once.html#Multiple-notes-at-once" rel="previous" title="2.3 Multiple notes at once"> <link rel="stylesheet" type="text/css" title="Patrick McCarty's design" href="lilypond-mccarty.css"> <link rel="alternate stylesheet" type="text/css" href="lilypond.css" title="Andrew Hawryluk's design"> <link rel="alternate stylesheet" type="text/css" href="lilypond-blue.css" title="Kurt Kroon's blue design"> <!--[if lte IE 7]> <link href="lilypond-ie-fixes.css" rel="stylesheet" type="text/css"> <![endif]--> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <div id="main"> <a name="Music-expressions-explained"></a> <table class="nav_table"> <tr><td valign="middle" align="left" colspan="1">[<a href="Tutorial.html#Tutorial" title="Beginning of this chapter or previous chapter"> << Tutorial </a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.html#Top" title="Cover (top) of document" rel="start">Top</a>][<a href="index_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LilyPond-index.html#LilyPond-index" title="Index" rel="index">Index</a>][<a href="index_abt.html#SEC_About" title="About (help)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Fundamental-concepts.html#Fundamental-concepts" title="Next chapter"> Fundamental concepts >> </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Multiple-notes-at-once.html#Multiple-notes-at-once" title="Previous section in reading order" accesskey="p" rel="previous"> < Multiple notes at once </a>]</td><td valign="middle" align="center" colspan="1">[<a href="Multiple-notes-at-once.html#Multiple-notes-at-once" title="Up section" accesskey="u" rel="up"> Up : Multiple notes at once </a>]</td><td valign="middle" align="right" colspan="2">[<a href="Multiple-staves.html#Multiple-staves" title="Next section in reading order" accesskey="n" rel="next"> Multiple staves > </a>]</td></tr></table> <a name="Music-expressions-explained"></a> <h3 class="subsection">2.3.1 Music expressions explained</h3> <a name="index-music-expression"></a> <a name="index-expression_002c-music"></a> <a name="index-compound-music-expression"></a> <a name="index-music-expression_002c-compound"></a> <p>In LilyPond input files, music is represented by <em>music expressions</em>. A single note is a music expression: </p> <blockquote><pre class="verbatim">a4 </pre><p> <a href="../a8/lily-1265379a.ly"> <img align="middle" border="0" src="../a8/lily-1265379a.png" alt="[image of music]"> </a> </p> </blockquote> <p>Enclosing a note in braces creates a <em>compound music expression</em>. Here we have created a compound music expression with two notes: </p> <blockquote><pre class="verbatim">{ a4 g4 } </pre><p> <a href="../72/lily-48c50cd8.ly"> <img align="middle" border="0" src="../72/lily-48c50cd8.png" alt="[image of music]"> </a> </p> </blockquote> <p>Putting a group of music expressions (e.g. notes) in braces means that they are in sequence (i.e. each one follows the previous one). The result is another music expression: </p> <blockquote><pre class="verbatim">{ { a4 g } f g } </pre><p> <a href="../03/lily-0832009b.ly"> <img align="middle" border="0" src="../03/lily-0832009b.png" alt="[image of music]"> </a> </p> </blockquote> <a name="Analogy_003a-mathematical-expressions"></a> <h3 class="subheading">Analogy: mathematical expressions</h3> <p>This mechanism is similar to mathematical formulas: a big formula is created by composing small formulas. Such formulas are called expressions, and they can contain other expressions, so you can make arbitrarily complex and large expressions. For example, </p> <blockquote><pre class="example">1 1 + 2 (1 + 2) * 3 ((1 + 2) * 3) / (4 * 5) </pre></blockquote> <p>This is a sequence of expressions, where each expression is contained in the next (larger) one. The simplest expressions are numbers, and larger ones are made by combining expressions with operators (like <code>+</code>, <code>*</code> and <code>/</code>) and parentheses. Like mathematical expressions, music expressions can be nested arbitrarily deep, which is necessary for complex music like polyphonic scores. </p> <a name="Simultaneous-music-expressions_003a-multiple-staves"></a> <h3 class="subheading">Simultaneous music expressions: multiple staves</h3> <a name="index-multiple-staves"></a> <a name="index-staves_002c-multiple"></a> <a name="index-polyphony-1"></a> <a name="index-combining-expressions-in-parallel"></a> <a name="index-parallel-expressions"></a> <a name="index-expressions_002c-parallel"></a> <a name="index-relative-notes-and-simultaneous-music"></a> <a name="index-relative-notes-and-parallel-expressions"></a> <a name="index-simultaneous-music-and-relative-notes"></a> <a name="index-parallel-expressions-and-relative-notes"></a> <a name="index-_003c_003c"></a> <a name="index-_003c_003c-1"></a> <a name="index-_003e_003e"></a> <a name="index-_003e_003e-1"></a> <a name="index-_003c_003c-_002e_002e_002e-_003e_003e"></a> <a name="index-_003c_003c-_002e_002e_002e-_003e_003e-1"></a> <p>Music Glossary: <a name="index-polyphony-2"></a> <a href="../music-glossary/polyphony.html#polyphony">polyphony</a>. </p> <p>This technique is useful for <var>polyphonic</var> music. To enter music with more voices or more staves, we combine expressions in parallel. To indicate that two voices should play at the same time, simply enter a simultaneous combination of music expressions. A ‘simultaneous’ music expression is formed by enclosing expressions inside <code><<</code> and <code>>></code>. In the following example, three sequences (all containing two separate notes) are combined simultaneously: </p> <blockquote><pre class="verbatim">\relative c'' { << { a4 g } { f e } { d b } >> } </pre><p> <a href="../72/lily-6ff397d7.ly"> <img align="middle" border="0" src="../72/lily-6ff397d7.png" alt="[image of music]"> </a> </p> </blockquote> <p>Note that we have indented each level of the input with a different amount of space. LilyPond does not care how much (or little) space there is at the beginning of a line, but indenting LilyPond code like this makes it much easier for humans to read. </p> <table class="cartouche" border="1"><tr><td> <p><b>Note:</b> each note is relative to the previous note in the input, not relative to the <code>c''</code> in the initial <code>\relative</code> command. </p></td></tr></table> <a name="Simultaneous-music-expressions_003a-single-staff"></a> <h3 class="subheading">Simultaneous music expressions: single staff</h3> <p>To determine the number of staves in a piece, LilyPond looks at the beginning of the first expression. If is a single note, there is one staff; if there is a simultaneous expression, there is more than one staff. </p> <blockquote><pre class="verbatim">\relative c'' { c2 <<c e>> << { e f } { c <<b d>> } >> } </pre><p> <a href="../69/lily-a9e64f48.ly"> <img align="middle" border="0" src="../69/lily-a9e64f48.png" alt="[image of music]"> </a> </p> </blockquote> <hr size="6"> <table class="nav_table"> <tr><td valign="middle" align="left" colspan="1">[<a href="Tutorial.html#Tutorial" title="Beginning of this chapter or previous chapter"> << Tutorial </a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.html#Top" title="Cover (top) of document" rel="start">Top</a>][<a href="index_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LilyPond-index.html#LilyPond-index" title="Index" rel="index">Index</a>][<a href="index_abt.html#SEC_About" title="About (help)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Fundamental-concepts.html#Fundamental-concepts" title="Next chapter"> Fundamental concepts >> </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Multiple-notes-at-once.html#Multiple-notes-at-once" title="Previous section in reading order" accesskey="p" rel="previous"> < Multiple notes at once </a>]</td><td valign="middle" align="center" colspan="1">[<a href="Multiple-notes-at-once.html#Multiple-notes-at-once" title="Up section" accesskey="u" rel="up"> Up : Multiple notes at once </a>]</td><td valign="middle" align="right" colspan="2">[<a href="Multiple-staves.html#Multiple-staves" title="Next section in reading order" accesskey="n" rel="next"> Multiple staves > </a>]</td></tr></table> <!-- footer_tag --> <div class="footer"> <p class="footer_version"> This page is for LilyPond-2.12.3 (stable-branch). </p> <p class="footer_report"> Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome, please report errors to our <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">bug list</a>. </p> </div> <p id="languages"> Other languages: <a href="Music-expressions-explained.fr.html">français</a>, <a href="Music-expressions-explained.es.html">español</a>, <a href="Music-expressions-explained.de.html">deutsch</a>. <br> </p> <!-- FOOTER --> <!-- end div#main here --> </div> <div id="tocframe"> <p class="toc_uplink"><a href="../index.html" title="Documentation Index"><< Back to Documentation Index</a></p> <h4 class="toc_header"> <a href="index.html#Top" title="Start of the manual">Learning Manual</a></h4> <div class="contents"> <ul class="toc"> <li><a name="toc-Preface-1" href="Preface.html#Preface">Preface</a> </li> <li><a name="toc-Introduction-1" href="Introduction.html#Introduction">1. Introduction</a> <ul class="toc"> <li><a name="toc-Background-1" href="Background.html#Background">1.1 Background</a> </li> <li><a name="toc-About-the-documentation-1" href="About-the-documentation.html#About-the-documentation">1.2 About the documentation</a> </li> </ul> </li> <li class="toc_current"><a name="toc-Tutorial-1" href="Tutorial.html#Tutorial">2. Tutorial</a> <ul class="toc"> <li><a name="toc-First-steps-1" href="First-steps.html#First-steps">2.1 First steps</a> </li> <li><a name="toc-Single-staff-notation-1" href="Single-staff-notation.html#Single-staff-notation">2.2 Single staff notation</a> </li> <li class="toc_current"><a name="toc-Multiple-notes-at-once-1" href="Multiple-notes-at-once.html#Multiple-notes-at-once">2.3 Multiple notes at once</a> <ul class="toc"> <li class="toc_current"><a name="toc-Music-expressions-explained-1" href="Music-expressions-explained.html#Music-expressions-explained">2.3.1 Music expressions explained</a> </li> <li><a name="toc-Multiple-staves-1" href="Multiple-staves.html#Multiple-staves">2.3.2 Multiple staves</a> </li> <li><a name="toc-Staff-groups-1" href="Staff-groups.html#Staff-groups">2.3.3 Staff groups</a> </li> <li><a name="toc-Combining-notes-into-chords-1" href="Combining-notes-into-chords.html#Combining-notes-into-chords">2.3.4 Combining notes into chords</a> </li> <li><a name="toc-Single-staff-polyphony-1" href="Single-staff-polyphony.html#Single-staff-polyphony">2.3.5 Single staff polyphony</a> </li> </ul> </li> <li><a name="toc-Songs-1" href="Songs.html#Songs">2.4 Songs</a> </li> <li><a name="toc-Final-touches-1" href="Final-touches.html#Final-touches">2.5 Final touches</a> </li> </ul> </li> <li><a name="toc-Fundamental-concepts-1" href="Fundamental-concepts.html#Fundamental-concepts">3. Fundamental concepts</a> <ul class="toc"> <li><a name="toc-How-LilyPond-input-files-work-1" href="How-LilyPond-input-files-work.html#How-LilyPond-input-files-work">3.1 How LilyPond input files work</a> </li> <li><a name="toc-Voices-contain-music-1" href="Voices-contain-music.html#Voices-contain-music">3.2 Voices contain music</a> </li> <li><a name="toc-Contexts-and-engravers-1" href="Contexts-and-engravers.html#Contexts-and-engravers">3.3 Contexts and engravers</a> </li> <li><a name="toc-Extending-the-templates-1" href="Extending-the-templates.html#Extending-the-templates">3.4 Extending the templates</a> </li> </ul> </li> <li><a name="toc-Tweaking-output-1" href="Tweaking-output.html#Tweaking-output">4. Tweaking output</a> <ul class="toc"> <li><a name="toc-Tweaking-basics-1" href="Tweaking-basics.html#Tweaking-basics">4.1 Tweaking basics</a> </li> <li><a name="toc-The-Internals-Reference-manual-1" href="The-Internals-Reference-manual.html#The-Internals-Reference-manual">4.2 The Internals Reference manual</a> </li> <li><a name="toc-Appearance-of-objects-1" href="Appearance-of-objects.html#Appearance-of-objects">4.3 Appearance of objects</a> </li> <li><a name="toc-Placement-of-objects-1" href="Placement-of-objects.html#Placement-of-objects">4.4 Placement of objects</a> </li> <li><a name="toc-Collisions-of-objects-1" href="Collisions-of-objects.html#Collisions-of-objects">4.5 Collisions of objects</a> </li> <li><a name="toc-Further-tweaking-1" href="Further-tweaking.html#Further-tweaking">4.6 Further tweaking</a> </li> </ul> </li> <li><a name="toc-Working-on-LilyPond-projects-1" href="Working-on-LilyPond-projects.html#Working-on-LilyPond-projects">5. Working on LilyPond projects</a> <ul class="toc"> <li><a name="toc-Suggestions-for-writing-LilyPond-input-files-1" href="Suggestions-for-writing-LilyPond-input-files.html#Suggestions-for-writing-LilyPond-input-files">5.1 Suggestions for writing LilyPond input files</a> </li> <li><a name="toc-When-things-don_0027t-work-1" href="When-things-don_0027t-work.html#When-things-don_0027t-work">5.2 When things don’t work</a> </li> <li><a name="toc-Scores-and-parts-1" href="Scores-and-parts.html#Scores-and-parts">5.3 Scores and parts</a> </li> </ul> </li> <li><a name="toc-Templates-1" href="Templates.html#Templates">A. Templates</a> <ul class="toc"> <li><a name="toc-Single-staff-1" href="Single-staff.html#Single-staff">A.1 Single staff</a> </li> <li><a name="toc-Piano-templates-1" href="Piano-templates.html#Piano-templates">A.2 Piano templates</a> </li> <li><a name="toc-String-quartet-2" href="String-quartet.html#String-quartet">A.3 String quartet</a> </li> <li><a name="toc-Vocal-ensembles-1" href="Vocal-ensembles.html#Vocal-ensembles">A.4 Vocal ensembles</a> </li> <li><a name="toc-Ancient-notation-templates-1" href="Ancient-notation-templates.html#Ancient-notation-templates">A.5 Ancient notation templates</a> </li> <li><a name="toc-Jazz-combo-1" href="Jazz-combo.html#Jazz-combo">A.6 Jazz combo</a> </li> <li><a name="toc-lilypond_002dbook-templates-1" href="lilypond_002dbook-templates.html#lilypond_002dbook-templates">A.7 lilypond-book templates</a> </li> </ul> </li> <li><a name="toc-Scheme-tutorial-1" href="Scheme-tutorial.html#Scheme-tutorial">B. Scheme tutorial</a> <ul class="toc"> <li><a name="toc-Tweaking-with-Scheme-1" href="Tweaking-with-Scheme.html#Tweaking-with-Scheme">B.1 Tweaking with Scheme</a> </li> </ul> </li> <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">C. GNU Free Documentation License</a> </li> <li><a name="toc-LilyPond-index-1" href="LilyPond-index.html#LilyPond-index">D. LilyPond index</a> </li> </ul> </div> </div> </body> </html>