% Lilypond is a music engraving system with an % embedded Scheme interpreter. % http://lilypond.org % Output of this program is at % http://www.math.ucsd.edu/~neldredg/personal/99-lilypond.pdf \include "english.ly" % Necessary because we use deep recursion #(debug-set! stack 0) \header{ title = "Ninety-Nine Bottles of Beer" composer = "Traditional" arranger = \markup{ "Nate Eldredge" } } \version "2.8.7" totalbottles = #99 startmelody = { \time 6/8 \clef treble \key c \major \autoBeamOff } endmelody = { \bar "|." } % text = \lyricmode { % Nine -- ty nine bot -- tles of beer on the wall % Nine -- ty nine bot -- tles of beer __ % Take one down and pass it a -- round % Nine -- ty eight bot -- tles of beer on the wall % } zerosyl = { } onesyl = \relative c''{ c4. } twosyl = \relative c''{ c4 c8 } threesyl = \relative c''{ c8 c8 c8 } foursyl = \relative c''{ c16 c16 c8 c8 } fivesyl = \relative c''{ c16 c16 c8 c16 c16 } #(define (count-syllables L) (if (null? (ly:music-property L 'text)) (apply + (map count-syllables (ly:music-property L 'elements))) 1)) % FIXME - check the syllabication zero = \lyricmode { } % because "seventy" will become { \seventy \zero } one = \lyricmode { one } two = \lyricmode { two } three = \lyricmode { three } four = \lyricmode { four } five = \lyricmode { five } six = \lyricmode { six } seven = \lyricmode { se -- ven } eight = \lyricmode { eight } nine = \lyricmode { nine } ten = \lyricmode { ten } eleven = \lyricmode { e -- le -- ven } twelve = \lyricmode { twelve } thirteen = \lyricmode { thir -- teen } fourteen = \lyricmode { four -- teen } fifteen = \lyricmode { fif -- teen } sixteen = \lyricmode { six -- teen } seventeen = \lyricmode { se -- ven -- teen } eighteen = \lyricmode { eigh -- teen } nineteen = \lyricmode { nine -- teen } twenty = \lyricmode { twen -- ty } thirty = \lyricmode { thir -- ty } forty = \lyricmode { for -- ty } fifty =