I had been trying to use Finale for handbells but kept running into an
issue when I wanted handchimes ( x-notehead) and handbells (regular
notehead). Lilypond has been just the thing - thank you, thank you, thank
you!
I have worked up two templates for when I start a new piece, which are
definitely works in progress. I do have the Finale percussion font on my PC
so I am using the damp symbol (and others) from this font, rather than
building my own.
Both of these should compile on 2.18.2 which is what I have downloaded and
am using.
On 31 May 2018 at 07:44, Stanton Sanderson <stans...@gmail.com> wrote:
> I’ve attempted some handbell pieces for our bell choir. Attached is one
> which has a few special symbols. Not intended as samples of “good practice!”
>
> Stan
>
>
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
\version "2.18.2"
\language "english"
\header {
% dedication = \markup { \italic "dedication text - use percent sign if no dedication" }
title = "TITLE"
subtitle = "for 3 octaves Handbell trio"
composer = "name of composer"
arranger = "Arranged by name of arranger"
copyright = \markup { \column { " " "Copyright © date name of copyright holder" } }
tagline = ##f
% tagline = "transcribed 201x-xx-xx by S Buckingham using lilypond version 2.18.2"
}
\paper { #(set-paper-size "letter")
system-system-spacing #'basic-distance = #14
last-bottom-spacing = #20
ragged-bottom = ##f
top-margin = 10
bottom-margin = 10
left-margin = 15
right-margin = 15
% first-page-number = 2 % use to change page numbering
}
\layout { \context { \Voice \consists "Melody_engraver" } }
% function parentheAll allows for accidental symbol to be included in parentheses
parentheAll = #(define-music-function (parser location note) (ly:music?)
#{
\once \override ParenthesesItem.font-size = #-1
\once \override ParenthesesItem.stencil = #(lambda (grob)
(let* ((acc (ly:grob-object (ly:grob-parent grob Y) 'accidental-grob))
(dot (ly:grob-object (ly:grob-parent grob Y) 'dot)))
(if (not (null? acc)) (ly:pointer-group-interface::add-grob grob 'elements acc))
(if (not (null? dot)) (ly:pointer-group-interface::add-grob grob 'elements dot))
(parentheses-item::print grob)))
\parenthesize $note
#})
global = { %handbells used chart
\key c \major
\numericTimeSignature
}
handbellsusedone = \relative c' { % input notes for treble handbells used
\clef treble
\key c \major
% count handbell notes & spaces to get time signature
\numericTimeSignature \time 20/4 \once \omit Staff.TimeSignature
\override Staff.BarLine.color = #white
\override Stem.transparent = ##t
% use spaces as needed to get bar to desired length
s4^\markup { \left-column { " " "3 octaves - Handbells used: 26" } }
s s s s s s s e4_\markup { \column { \small \italic "4 bells shared"
\small \italic "Peri&Karen"} }
fs g a s gs b c cs d e fs
}
handbellsusedtwo = \relative c' { % input notes for treble handbells used
\clef treble
\key c \major
% count handbell notes & spaces to get time signature
\once \omit Staff.TimeSignature
\override Staff.BarLine.color = #white
\override Stem.transparent = ##t
% use spaces as needed to get bar to desired length
b4 c4 cs s d ds f s e fs g a s s s s s s s s
}
handbellsusedthree = \relative c { % input notes for bass handbells used
\clef bass
\once \omit Staff.TimeSignature
\key c \major
\override Staff.BarLine.color = #white
\override Stem.transparent = ##t
% use spaces as needed to get bar to desired length
b'4^\markup { \column { \small \italic "3 bells shared" \small \italic "Karen&Sue" } }
c cs s_\markup { \column { " " \small \italic
"PERFORMANCE NOTE: recommend setup on 4 tables" } }
s s s s cs, d ds e fs g gs a as bf s s
}
\score { % setup staffgroup with treble & bass handbells used
<<
\new Staff \accidentalStyle forget
\handbellsusedone
\new Staff \handbellsusedtwo
\new Staff \handbellsusedthree
>>
}
global = {
\key d \major
\numericTimeSignature
% input initial time signature here
\time 6/8
\tempo "Moderately" 4. = 80
\override Score.BarNumber.break-visibility = ##(#f #t #t)
\set Score.currentBarNumber = #1
% Permit first bar number to be printed
\bar ""
}
% this section has special handbells articulations and extra dynamic markings
subP = \markup { "sub." \dynamic p }
subMP = \markup { "sub." \dynamic mp }
mart = \markup { \magnify #0.7 ▼ }
martlift = \markup { \concat { \magnify #0.7 ▼ \magnify #1.3 ↑ } }
malltab = \markup { ⨥ }
swingthree = \markup { \center-column {⮍ 3} }
swingone = \markup { \center-column {⮍ 1} }
rightsubMP = \tweak DynamicText.self-alignment-X #CENTER
#(make-dynamic-script (markup #:normal-text "sub." #:dynamic "mp"))
rightF = \tweak DynamicText.self-alignment-X #RIGHT
#(make-dynamic-script (markup #:dynamic "f" #:normal-text " "))
% handy codings for use in the score
% \override Stem.direction = #DOWN
% \override Stem.direction = #UP
% \revert Stem.direction
% \pageBreak
% \noPageBreak
% \break
% \noBreak
% change key with the following code line - remember to change key in both upper and lower primary
% \key f \major <- lower case for key name, then major or minor after the slash
% to stop cautionary accidentals at a key signature change, use in both clefs:
% \once \set Staff.printKeyCancellation = ##f
% to show cautionary accidentals - use ? after note name for bracketed accidental
% - use ! after note name for accidental symbol alone
% switch to diamond noteheads for handchimes
% \override NoteHead.style = #'harmonic-mixed
% and if you need to go back to regular noteheads
% \revert NoteHead.style
% b2\rest e4\rest c8 c | %m## <- position rests on particular note lines or spaces
% to position whole rest R hanging from 2nd staff line
% \override MultiMeasureRest.staff-position = #2
% R1 R R | %m1thru3
% to push a column of notes over to the right
% \once \override NoteColumn.force-hshift = #1.5
% add dynamics above with the '^' or below with the '_' followed by slash then letters or abbreviations
% for example: _\cresc or ^\f or _\fermata
% add articulations or text in the same way
% for example: ^"LV" ^\staccato
% use markup to combine dynamics and articulations for proper placement
% ^\markup { \concat { \dynamic f " LV" } }
% ^\markup { \left-column { \dynamic mf "R" } }
% use \whiteout inside a markup to cover up bar lines between staves
% to get handbell damp symbol which is found in the Finale Percussion font as the keystroke '3'
% _\markup { \override #' (font-name . "Finale Percussion") { 3 } }
% to get lines between staves indicating melody changes stave
% \once \showStaffSwitch
% \change Staff = "down" or \change Staff = "up"
% to turn on or off the autobeaming
% c4 c8 \change Staff = "up" d \autoBeamOff e[ \change Staff = "down" c]
% \autoBeamOn \once \showStaffSwitch \change Staff = "up" e f | %m50
% \bar "||" <- double bar line
% \bar "|." <- final bar line
% trills to fill bar
% \override TrillSpanner.to-barline = ##t
% remove letters "tr" from front of trill to make it a Shake
% \override TrillSpanner.bound-details.left.text = ##f
% attach "Sk" as articulation and start trill
% c1^"SK"^\startTrillSpan
% stop trill on next note
% c4 \stopTrillSpan
% arpeggio bracket up left side of note column
% \arpeggioBracket < c' e g c >1 \arpeggio
% to draw a circle around an enlarged bar number:
% first Increase the size of the next bar number by 2
% \once \override Score.BarNumber.font-size = #2
% then Draw a circle round the next bar number
% \once \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
ringerone = \relative c' { % music for treble handbells
\global
\override Stem.color = #black
\clef treble
\numericTimeSignature \time 6/8
\override MultiMeasureRest.staff-position = #2
R2. | %m1
% add music for ringer one here
}
ringertwo = \relative c' { % music for upper handbells accompaniment line
\global
\override Stem.color = #black
\clef treble
\numericTimeSignature \time 6/8
% add music for ringer two here
}
ringerthree = \relative c { % music for bass handbells and staff switches
\global
\clef bass
\numericTimeSignature \time 6/8
% add music for ringer three here
}
\score { % handbells for trio, two treble and one bass
<< \new Staff = "ringerone" \with { \override StaffSymbol.staff-space = #1.3
instrumentName = #"Peri "
shortInstrumentName = #"P "
\accidentalStyle modern
midiInstrument = "acoustic grand" }
<< \ringerone >>
\new Staff = "ringertwo" \with { \override StaffSymbol.staff-space = #1.3
instrumentName = #"Karen "
shortInstrumentName = #"K "
\accidentalStyle modern
midiInstrument = "acoustic grand" }
{ \clef treble << \ringertwo >> }
\new Staff = "ringerthree" \with { \override StaffSymbol.staff-space = #1.3
instrumentName = #"Sue "
shortInstrumentName = #"S " \accidentalStyle modern
midiInstrument = "acoustic grand" }
{ \clef bass << \ringerthree >> }
>>
\layout { #(layout-set-staff-size 24) }
\midi { }
}
\version "2.18.2"
\language "english"
\header {
dedication = \markup { \italic "dedication text - use percent sign if no dedication" }
title = "TITLE"
subtitle = "for ? octaves of Handbells with optional Handchimes"
%composer = "composer's name"
%arranger = "Arranged by arranger's name"
copyright = \markup { \column { " " "Copyright © date by name" } }
tagline = "transcribed 201x-xx-xx by S Buckingham using lilypond version 2.18.2"
% tagline = ##f % if no tagline is wanted
}
\paper { #(set-paper-size "letter")
system-system-spacing #'basic-distance = #24
last-bottom-spacing = #20
ragged-bottom = ##f
top-margin = 10
bottom-margin = 10
left-margin = 15
right-margin = 15
footnote-separator-markup = \markup { \column { " " " " } } % removes horizontal line above footnotes
footnote-footer-padding = 1
print-first-page-number = ##t
first-page-number = 3 % use to change page numbering
}
\layout { \context { \Voice \consists "Melody_engraver" } }
% this section has special handbells articulations and extra dynamic markings
subP = \markup { "sub." \dynamic p }
subMP = \markup { "sub." \dynamic mp }
mart = \markup { \magnify #0.7 ▼ }
martlift = \markup { \fontsize #+6 \override #' (font-name . "Finale Percussion") { 7 } }
malltab = \markup { ⨥ }
damptab = \markup { \fontsize #+6 \override #' (font-name . "Finale Percussion") { 3 } }
swingthree = \markup { \center-column {⮍ 3} }
swingone = \markup { \center-column {⮍ 1} }
rightsubMP = \tweak DynamicText.self-alignment-X #CENTER
#(make-dynamic-script (markup #:normal-text "sub." #:dynamic "mp"))
rightF = \tweak DynamicText.self-alignment-X #RIGHT
#(make-dynamic-script (markup #:dynamic "f" #:normal-text " "))
eightnote = \markup { \fontsize #+2 \override #' (font-name . "Maestro") { e } }
quartnote = \markup { \fontsize #+2 \override #' (font-name . "Maestro") { q } }
halphnote = \markup { \fontsize #+2 \override #' (font-name . "Maestro") { h } }
% function parentheAll allows for accidental symbol to be included in parentheses
parentheAll = #(define-music-function (parser location note) (ly:music?)
#{
\once \override ParenthesesItem.font-size = #-1
\once \override ParenthesesItem.stencil = #(lambda (grob)
(let* ((acc (ly:grob-object (ly:grob-parent grob Y) 'accidental-grob))
(dot (ly:grob-object (ly:grob-parent grob Y) 'dot)))
(if (not (null? acc)) (ly:pointer-group-interface::add-grob grob 'elements acc))
(if (not (null? dot)) (ly:pointer-group-interface::add-grob grob 'elements dot))
(parentheses-item::print grob)))
\parenthesize $note
#})
global = { %handbells used chart
\key c \major
\numericTimeSignature
}
handbellsusedtreble = \relative c' { % input notes for treble handbells used
\clef treble
\key c \major
% count handbell notes & spaces to get time signature
\numericTimeSignature \time 33/4 \once \omit Staff.TimeSignature
\override Staff.BarLine.color = #white
\override Stem.transparent = ##t
% use spaces as needed to get bar to desired length
d4^\markup { \left-column { " " " " "x octaves - Handbells used: xx" } }
s e s f s g s gs s a s bf s b s c s d s e s f s g s a s bf s b s c
}
handbellsusedbass = \relative c { % input notes for bass handbells used
\clef bass
\once \omit Staff.TimeSignature
\key c \major
\override Staff.BarLine.color = #white
\override Stem.transparent = ##t
% use spaces as needed to get bar to desired length
c s cs s s d s s e s s f s s g s s gs s s a s s bf s s b s s c s s cs
}
\score { % setup staffgroup with treble & bass handbells used
<<
\new Staff \accidentalStyle forget
\handbellsusedtreble
\new Staff \handbellsusedbass
>>
}
handchimesused = \relative c' { % input notes for handchimes used on a single staff with clef change
\time 19/4 \once \omit Staff.TimeSignature
\override Staff.BarLine.color = #white
\override Stem.transparent = ##t
\clef bass
c,4^\markup { \left-column { " " "x octave(s) - Handchimes used: xx" } }
cs d e f g gs a bf
}
\score { % setup staff with handchimes used
<<
\new Staff \accidentalStyle forget
\handchimesused
>>
\layout { \context {
\Score
\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16)
} }
}
% composer & arranger between handbells used and first system
\markup { \column { " (ADD SPACES TO FILL LINE) COMPOSER'S NAME"
\italic " (ADD SPACES TO FILL LINE) Arranged by ARRANGER'S NAME"
" " " "} }
global = {
\key c \major
\numericTimeSignature
% input initial time signature here
\time 4/4
\tempo "text for initial tempo marking"
\override Score.BarNumber.break-visibility = ##(#f #t #t)
\set Score.currentBarNumber = #1
% Permit first bar number to be printed
\bar ""
}
% handy codings for use in the score
% \override Stem.direction = #DOWN
% \override Stem.direction = #UP
% \revert Stem.direction
% \pageBreak
% \noPageBreak
% \break
% \noBreak
% change key with the following code line - remember to change key in both upper and lower primary
% \key f \major <- lower case for key name, then major or minor after the slash
% to stop cautionary accidentals at a key signature change, use in both clefs:
% \once \set Staff.printKeyCancellation = ##f
% to show cautionary accidentals - use ? after note name for bracketed accidental
% - use ! after note name for accidental symbol alone
% switch to diamond noteheads for handchimes
% \override NoteHead.style = #'harmonic-mixed
% and if you need to go back to regular noteheads
% \revert NoteHead.style
% b2\rest e4\rest c8 c | %m## <- position rests on particular note lines or spaces
% to position whole rest R hanging from 2nd staff line
% \override MultiMeasureRest.staff-position = #2
% R1 R R | %m1thru3
% to push a column of notes over to the right
% \once \override NoteColumn.force-hshift = #1.5
% add dynamics above with the '^' or below with the '_' followed by slash then letters or abbreviations
% for example: _\cresc or ^\f or _\fermata
% add articulations or text in the same way
% for example: ^"LV" ^\staccato
% use markup to combine dynamics and articulations for proper placement
% ^\markup { \concat { \dynamic f " LV" } }
% ^\markup { \left-column { \dynamic mf "R" } }
% move markup text in horizontal direction between staves
% \once \override TextScript.padding = #2.5 % <- change value to get spacing needed
% other handy commands for adjusting markup location
% \once \override TextScript.self-alignment-X = 0
% \once \override TextScript.extra-offset = #'(0 . -2)
% move hairpin in horizontal direction between staves
% \once \override DynamicLineSpanner.padding = #2.5 % <- change value to get spacing needed
% move dynamic marking in vertical direction to line up with hairpin
% \once \override DynamicLineSpanner.staff-padding = #2.5 % <- change value to get spacing needed
% use \whiteout inside a markup to cover up bar lines between staves
% to get handbell damp symbol which is found in the Finale Percussion font as the keystroke '3'
% _\markup { \fontsize #+4 \override #' (font-name . "Finale Percussion") { 3 } }
% handbell swing-down-up markup
% \markup { "Sw" " " \fontsize #+6 \override #'(font-name . "Finale Percussion") { 1 } " "
% \fontsize #+6 \override #'(font-name . "Finale Percussion") { 2 } }
% to get lines between staves indicating when melody changes stave
% \once \showStaffSwitch
% \change Staff = "down" or \change Staff = "up"
% to turn on or off the autobeaming
% c4 c8 \change Staff = "up" d \autoBeamOff e[ \change Staff = "down" c]
% \autoBeamOn \once \showStaffSwitch \change Staff = "up" e f | %m50
% \bar "||" <- double bar line
% \bar "|." <- final bar line
% trills to fill bar
% \override TrillSpanner.to-barline = ##t
% remove letters "tr" from front of trill to make it a Shake
% \override TrillSpanner.bound-details.left.text = ##f
% attach "Sk" as articulation and start trill
% c1^"SK"^\startTrillSpan
% stop trill on next note
% c4 \stopTrillSpan
% shift left side of trill mark away from notes
% \override TrillSpanner.bound-details.left.padding = 2
% shift right side of trill mark away from notes or bar line
% \override TrillSpanner.bound-details.right.padding = 1
% arpeggio bracket up left side of note column
% \arpeggioBracket < c' e g c >1 \arpeggio
% to draw a circle around an enlarged bar number:
% first Increase the size of the next bar number by 2
% \once \override Score.BarNumber.font-size = #2
% then Draw a circle round the next bar number
% \once \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
% helpful tempo markup
% \tempo \markup { "(" \quartnote " = ca. 104-112)" }
% \override NoteHead.style = #'cross
% \footnote #'(-1 . -2) \markup { \small \center-column { "text of footnote - first line"
% "text of footnote - second line" } }
% \footnote #'(1 . -2) \markup { \small \center-column { "text of footnote - first line"
% "text of footnote - second line" } }
% to hide tempo marking
% \once \hide Score.MetronomeMark
upperOne = \relative c' { % music for treble handbells
\global
\clef treble
\override MultiMeasureRest.staff-position = #2
\footnote " " #'(0 . 0) \markup { \normal-text "Duration: approx. 2:55" }
R1 _\markup { \override #' (font-name . "Finale Percussion") { 3 } } R R | %m1thru end of piece
R R R R R R R R R R R R R R R R R R R R
% add measures 4 thru end of piece
}
upperTwo = \relative c' { % music for upper handbells accompaniment line
\global
\clef treble
\override MultiMeasureRest.staff-position = #2
\override Stem.direction = #DOWN
s1 s s | %m1thru end of piece
% add measure 4 thru end of piece
}
upperThree = \relative c' { % music for miscellaneous bits
\global
\clef treble
\override MultiMeasureRest.staff-position = #2
% add measures 1 thru 69
}
lowerOne = \relative c { % music for bass handbells and staff switches
\global
\clef bass
\override MultiMeasureRest.staff-position = #2
R1^\mp R R | %m1thru3
R R R R R R R R R R R R R R R R R R R R
% add measures 4 thru end of piece
}
lowerTwo = \relative c { % music for lower bass line in handbells & handchimes
\global
\clef bass
\override MultiMeasureRest.staff-position = #2
s1 s s | %m1thru3
% add measures 4 thru end of piece
}
lowerThree = \relative c { % music for miscellaneous bits
\global
\clef bass
\override MultiMeasureRest.staff-position = #2
s1 s s | %m1thru3
% add measures 4 thru end of piece
}
\score { % handbells for treble and bass, making sure cautionary accidentals show after a barline
\new PianoStaff << \set PianoStaff.connectArpeggios = ##t
\new Staff = "up" \with { \consists "Span_arpeggio_engraver"
\override StaffSymbol.staff-space = #1.3
\accidentalStyle modern
midiInstrument = "acoustic grand" }
<< \upperOne \\ \upperTwo \\ \upperThree >>
\new Staff = "down" \with { \consists "Span_arpeggio_engraver"
\override StaffSymbol.staff-space = #1.3
\accidentalStyle modern
midiInstrument = "acoustic grand" }
{ \clef bass << \lowerOne \\ \lowerTwo \\ \lowerThree >> }
>>
\layout { #(layout-set-staff-size 24)
\context { \Staff
\override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 15)
(minimum-distance . 10)
(padding . 5)
(stretchability . 10))
}
}
\midi { }
}
\markup { %performance notes text block & spacer blank line below
\fontsize #-2 \italic \left-column {
"PERFORMANCE NOTES:"
"- use this space to put in notes included in original score about performance techniques."
" "
"add extra lines if needed to pad above or below"
" "
" "
} }
\markup { %arranger bio text block & spacer blank lines above
\italic \center-column { " " " " " " " " " " " " " " " " " "
"composer's bio (if provided)" } }
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user