From: Graham Percival Date: Sun, 7 Oct 2007 20:23:18 +0000 (-0700) Subject: Explanation about Clefs from Trevor Daniels, thanks! X-Git-Tag: release/2.11.35-1~46^2~65 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=db2357171b61960a16309f547117719ea0c70765;p=lilypond.git Explanation about Clefs from Trevor Daniels, thanks! Also clarify some things in the README. --- diff --git a/Documentation/user/README.txt b/Documentation/user/README.txt index fa03b57a60..0f787e9301 100644 --- a/Documentation/user/README.txt +++ b/Documentation/user/README.txt @@ -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: diff --git a/Documentation/user/macros.itexi b/Documentation/user/macros.itexi index 695e951bb0..a5790a69e4 100644 --- a/Documentation/user/macros.itexi +++ b/Documentation/user/macros.itexi @@ -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 -- diff --git a/Documentation/user/music-glossary.tely b/Documentation/user/music-glossary.tely index 80f0ebe391..4a3ae418de 100644 --- a/Documentation/user/music-glossary.tely +++ b/Documentation/user/music-glossary.tely @@ -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 diff --git a/Documentation/user/pitches.itely b/Documentation/user/pitches.itely index b97a9637fc..0051222103 100644 --- a/Documentation/user/pitches.itely +++ b/Documentation/user/pitches.itely @@ -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