]> git.donarmstrong.com Git - lilypond.git/commitdiff
Explanation about Clefs from Trevor Daniels, thanks!
authorGraham Percival <graham@percival-music.ca>
Sun, 7 Oct 2007 20:23:18 +0000 (13:23 -0700)
committerJohn Mandereau <john.mandereau@gmail.com>
Fri, 2 Nov 2007 08:48:36 +0000 (09:48 +0100)
Also clarify some things in the README.

Documentation/user/README.txt
Documentation/user/macros.itexi
Documentation/user/music-glossary.tely
Documentation/user/pitches.itely

index fa03b57a6092003b0c6e2225294fb0e265c74cb3..0f787e930184948b92c5da1406c36e1335b7c06c 100644 (file)
@@ -3,8 +3,9 @@ Info for Documentation
 
 %%%%% BOOKS
 
-There are three parts to the documentation: the Learning Manual,
-the Notation Reference, and the Technical Details.
+There are four parts to the documentation: the Learning Manual,
+the Notation Reference, the Program Reference, and the Music
+Glossary.
 
 * Learning Manual: long, chatty, friendly explanations go here.
   This is aimed at users learning something for the first time --
@@ -30,7 +31,9 @@ start-to-finish.
 Users are not expected to read this manual from start to finish.
 However, they should be familiar with the material in the Learning
 Manual (particularly ``Fundamental Concepts''), so do not repeat
-that material in this book.
+that material in this book.  Also, you should assume that users
+know what the notation means; explaining musical concepts happens
+in the Music Glossary.
 
 
 * Program Usage: information about using the program lilypond with
@@ -41,6 +44,12 @@ that material in this book.
 Users are not expected to read this manual from start to finish.
 
 
+* Music Glossary: information about the music notation itself.
+  Explainations and translations about notation terms go here.
+
+Users are not expected to read this manual from start to finish.
+
+
 %%%%% SECTION ORGANIZATION
 
 The order of headings inside documentation sections should be:
index 695e951bb0bed53fb18aaaefa08e6876dbd5dd23..a5790a69e445fb4c3fd6e09e6bc2aaa46078909b 100644 (file)
@@ -6,7 +6,6 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-
 @c   ***** Displaying text *****
 
 @c we need this since @q{\} doesn't work with makeinfo 4.8 --
index 80f0ebe39108f4ecf0967697f5a3a0d34ef3a44b..4a3ae418de3d8f18addf0114ff3fda003fe69e06 100644 (file)
@@ -1225,6 +1225,267 @@ FI: avain, nuottiavain.
 
 @aref{C clef}, @aref{F clef}, @aref{G clef}.
 
+The clef indicates which lines of the staff correspond to which
+pitches.  The three clef symbols in common use are:
+
+@lilypond[ragged-right,verbatim,quote]
+\markup {
+ \column {
+  \line { "The Treble or G clef:   " \musicglyph #"clefs.G" }
+  \line { "The Bass or F clef:     " \musicglyph #"clefs.F" }
+  \line { "The Alto or C clef:     " \musicglyph #"clefs.C" }
+ }
+}
+@end lilypond
+
+Imagine a large staff of 11 lines centered on middle C, 
+sometimes called a @qq{grand staff}, with
+the bottom line representing low G and the top line high F:
+
+@lilypond[ragged-right,verbatim,quote]
+\score {
+ <<
+%-- Treble Staff --%
+  \new Staff = "G" {
+% Allow this staff to be placed close to the others
+   \override Staff.VerticalAxisGroup 
+    #'minimum-Y-extent = #'(0 . 0)
+% Allow the treble clef to overlap the lower staves:
+%   \override Staff.Clef #'Y-extent = #'(0 . 0)
+   \override Staff.Clef #'stencil = ##f  % No clef required
+   \clef "G"
+   s1^\markup { "g," \transparent "g" }
+   s^ \markup { "b," \transparent "g" }
+   s^ \markup { "d"  \transparent "g" }
+   s^ \markup { "f"  \transparent "g" }
+   s^ \markup { "a"  \transparent "g" }
+   s^ \markup { \with-color #red c' \transparent "g"}
+   e'^\markup { "e'" \transparent "g" }
+   g'^\markup { "g'" \transparent "g" }
+   b'^\markup { "b'" \transparent "g" }
+   d''^\markup { "d''" \transparent "g" }
+   f''^\markup { "f ''" \transparent "g" }
+  }
+%-- Alto Staff reduced to a single line on middle C --%
+  \new Staff = "C" {
+   \override Staff.StaffSymbol #'line-count = 1  % One line only
+   \override Staff.StaffSymbol #'color = #red    % Coloured red
+   \override Staff.Clef #'stencil = ##f       % No clef required
+   \clef "C"
+
+% Allow this staff to be placed close to the others
+   \override Staff.VerticalAxisGroup 
+    #'minimum-Y-extent = #'(0 . 0)
+% Specify height to give correct spacing between the staves
+   \override Staff.VerticalAxisGroup #'Y-extent = #'(-1 . 1)
+
+   s1 s s s s  % Space along to align horizonatally
+   \override NoteHead #'color = #red
+    c'1 % A middle C
+    s1 s s s s  % Keep staff (ie the red line) showing
+  }
+%-- Bass Staff --%
+  \new Staff = "F" {
+% Allow this staff to be placed close to the others
+   \override Staff.VerticalAxisGroup 
+    #'minimum-Y-extent = #'(0 . 0)
+   \override Staff.Clef #'stencil = ##f  % No clef required
+   \clef "F"
+   g,1 b, d f a
+   s s s s s s  % Keep staff showing
+  }
+ >>
+ \layout {
+% Reduce horizontal spacing so semibreves can be 
+% used without exceeding 1 line
+  \context { \Score \override SpacingSpanner 
+   #'base-shortest-duration = #(ly:make-moment 1 1)
+  }
+% Reduce apparent vertical size of note heads to 
+% permit them to overlap other grobs vertically
+  \context { \Score \override NoteHead #'Y-extent = #'(0 . 0)
+  }
+% Remove all barlines
+  \context { \Score \override BarLine #'stencil = ##f
+  }
+% Remove time signature from all staves
+  \context { \Staff \remove Time_signature_engraver
+  }
+ }  % End layout
+}  % End score
+@end lilypond
+
+Staves of five lines are usually used, and the clef superimposed
+on them indicates
+which five lines have been selected from this @qq{grand staff}.
+For example, the treble or G clef indicates that the top five
+lines have been selected:
+
+@lilypond[ragged-right,verbatim,quote]
+\score {
+ <<
+%-- Treble Staff --%
+  \new Staff = "G" {
+% Allow this staff to be placed close to the others
+   \override Staff.VerticalAxisGroup 
+    #'minimum-Y-extent = #'(0 . 0)
+% Allow the treble clef to overlap the lower staves:
+%   \override Staff.Clef #'Y-extent = #'(0 . 0)
+   \override Staff.Clef #'stencil = ##f  % No clef required here
+   \clef "G"
+   s1^\markup { "g," \transparent "g" }
+   s^ \markup { "b," \transparent "g" }
+   s^ \markup { "d"  \transparent "g" }
+   s^ \markup { "f"  \transparent "g" }
+   s^ \markup { "a"  \transparent "g" }
+   s^ \markup { \with-color #red c' \transparent "g"}
+   \stopStaff \startStaff
+   \clef "C"  % Dummy to force next clef to be printed
+   s  % Need at least one note for \clef to take effect
+   \override Staff.Clef #'stencil = ##t  % Clef now required
+   \override Staff.Clef #'Y-extent = #'(0 . 0)  % Permit overlap
+   \clef "G"
+   e'^\markup { "e'" \transparent "g" }
+   g'^\markup { "g'" \transparent "g" }
+   b'^\markup { "b'" \transparent "g" }
+   d''^\markup { "d''" \transparent "g" }
+   f''^\markup { "f ''" \transparent "g" }
+  }  % End staff G
+%-- Alto Staff reduced to a single line on middle C --%
+  \new Staff = "C" {
+   \override Staff.StaffSymbol #'line-count = 1  % One line only
+   \override Staff.StaffSymbol #'color = #red    % Coloured red
+   \override Staff.Clef #'stencil = ##f      % No clef required
+   \clef "C"
+
+% Allow this staff to be placed close to the others
+   \override Staff.VerticalAxisGroup 
+    #'minimum-Y-extent = #'(0 . 0)
+% Specify height to give correct spacing between the staves
+   \override Staff.VerticalAxisGroup #'Y-extent = #'(-1 . 1)
+
+   s1 s s s s  % Space along to align horizonatally
+   \override NoteHead #'color = #red
+    c'1 % A middle C
+%    s1 s s s s  % Keep staff (ie the red line) showing
+  }  % End staff C
+%-- Bass Staff --%
+  \new Staff = "F" {
+% Allow this staff to be placed close to the others
+   \override Staff.VerticalAxisGroup 
+    #'minimum-Y-extent = #'(0 . 0)
+   \override Staff.Clef #'stencil = ##f     % No clef required
+   \clef "F"
+   g,1 b, d f a
+%   s s s s s s  % Keep staff showing
+  }  % End staff F
+ >>
+ \layout {
+% Reduce horizontal spacing so semibreves can be used 
+% without exceeding 1 line
+  \context { \Score \override SpacingSpanner 
+   #'base-shortest-duration = #(ly:make-moment 1 1)
+  }
+% Reduce apparent vertical size of note heads to 
+% permit them to overlap other grobs vertically
+  \context { \Score \override NoteHead #'Y-extent = #'(0 . 0)
+  }
+% Remove all barlines
+  \context { \Score \override BarLine #'stencil = ##f
+  }
+% Remove time signature from all staves
+  \context { \Staff \remove Time_signature_engraver
+  }
+ }  % End layout
+}  % End score
+@end lilypond
+
+Note the @qq{curl} of the G clef in centered on the
+line which represents the pitch G.
+
+In the same way, the bass or F clef indicates that
+the bottom five lines have been selected from the
+@qq{grand staff}, and the alto or C clef indicates
+the middle five lines have been selected.  This
+relationship is shown below, where the notes show
+an arpeggio on a C major chord.
+
+@lilypond[ragged-right,verbatim,quote]
+\score {
+<<
+%-- Treble Staff --%
+ \new Staff = "G" \with {
+  \remove Time_signature_engraver
+ }
+ {
+% The following two overrides are required to make the two middle C's overlap
+  \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(0 . 0)
+  \override Staff.VerticalAxisGroup #'Y-extent = #'(-2 . 2)
+
+  \override Staff.Clef #'Y-extent = #'(0 . 0)
+  \clef "G"
+  s1 s s s s e' g' c''
+ }
+%-- Alto Staff --%
+ \new Staff = "C" \with {
+  \remove Time_signature_engraver
+ }
+ {
+  \override Staff.StaffSymbol #'line-count = 1
+  \override Staff.StaffSymbol #'stencil = ##f
+  \once \override Staff.Clef #'stencil = ##f
+  \clef "G"  % A frig. This clef is invisible; use G to force the later C clef to be shown
+  \override Score.BarLine #'stencil = ##f
+
+  % The following two overrides are required to align the C staff to the G and F staves
+  \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(0 . 0)
+  \override Staff.VerticalAxisGroup #'Y-extent = #'(-1 . 1)
+
+  s1 s s s
+  \stopStaff \startStaff
+  \override Staff.VerticalAxisGroup #'Y-extent = #'(-1 . 1)
+  \revert Staff.StaffSymbol #'stencil
+  \override Staff.StaffSymbol #'color = #red
+   b'1 % A frig.  This really shows as a middle C in the score
+   s1 s s s
+  \stopStaff \startStaff
+  \override Staff.StaffSymbol #'line-count = 5
+  \override Staff.StaffSymbol #'Y-extent = #'(0 . 0)
+  \override Staff.Clef #'Y-extent = #'(0 . 0)
+  \revert Staff.StaffSymbol #'color
+  \stopStaff \startStaff
+  \clef "C"
+  s1 s s c e g c' e' g' c''
+ }
+%-- Bass Staff --%
+ \new Staff = "F" \with {
+  \remove Time_signature_engraver
+ }
+ {
+  \override Staff.Clef #'Y-extent = #'(0 . 0)
+% The following two overrides are required to make the two middle C's overlap
+  \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(0 . 0)
+  \override Staff.VerticalAxisGroup #'Y-extent = #'(-2 . 2)
+
+  \clef "F"
+  c1 e g s s s s s
+ }
+>>
+\layout {
+ \context {
+  \Score \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 2 1)
+  }
+ \context {
+  \Score \override NoteHead #'Y-extent = #'(0 . 0)
+  }
+ \context {
+  \Score \override NoteHead #'minimum-Y-extent = #'(0 . 0)
+ }
+}
+}
+@end lilypond
+
+
 @node cluster
 @section cluster
 
index b97a9637fc9b0a801bc17315512f5751da888065..005122210326171035a3eed5c030155ba70356be 100644 (file)
@@ -615,11 +615,10 @@ a @code{\transpose}.
 
 @funindex \clef
 
-The clef indicates which lines of the staff correspond to which
-pitches.  The clef is set with the @code{\clef} command
+The clef is set with the @code{\clef} command
 
 @lilypond[quote,ragged-right,fragment,verbatim]
-{ c''2 \clef alto g'2 }
+{ \clef treble g'1^G \clef alto c'1^C \clef bass f1^F }
 @end lilypond
 
 @cindex treble clef
@@ -634,9 +633,14 @@ pitches.  The clef is set with the @code{\clef} command
 @cindex varbaritone clef
 @cindex subbass clef
 
+The same clef symbols are used in different positions on
+the staff to change the range of notes shown by that staff.
+The treble (alto, bass) clef is always positioned to show
+the line on which a G (C, F) note is shown.
 Supported clefs include
 
-@multitable @columnfractions .33 .66
+@multitable @columnfractions .4 .6
 @headitem Clef @tab Position
 @item @code{treble}, violin, G, G2 @tab
 G clef on 2nd line