\version "2.18.2"
\language "english"

\header {
  title = "Silence"
  composer = "Tommy Montgomery"
  copyright = "(c) 2017 Tommy Montgomery"
}

global = {
  \key e \mixolydian
  \time 4/4
  \set Staff.printKeyCancellation = ##f
  \numericTimeSignature
  \compressFullBarRests
  \omit Voice.StringNumber
  \override TupletBracket #'bracket-visibility = #'if-no-beam
  \override MultiMeasureRest.expand-limit = #3
}

guitarOne = \relative c {
  \tempo 4 = 64
  \arpeggioArrowDown <e b' fs' gs b e>4.\arpeggio \arpeggioNormal e16 b' fs' gs b e b gs fs b, |
  <e, c' e a b e>4\arpeggio ~ q16 e''16 b a e8 c'16 b a g fs d |
  <e, b' e gs b e>4.\arpeggio <b'' e>8 ~ q4 e,,8 e'16\glissando( fs) ~ |
  <fs b e>4. fs16\glissando( g) ~ <g c d e>2 |

  \repeat volta 2 {
    \repeat unfold 7 r1 |
    r2 r4 r8 <a, e' a b e>8 ~ |
    q4 fs'16 b d g, c b a d e c e a |
    << { b1 } \\ { b,,16 c b a b fs g f ~ f2 } >> |

    % chorus
    \key e \minor
    <e b'>4. <fs d'>8 ~ q2 |
    <g d'>4. <a e'>8 ~ q4 \tuplet 6/4 { b16( c b) a g fs } |
    <e b'>4. <fs cs'>8 ~ q2 |
    <g d'>4. <f c'>8\laissezVibrer << { <f c'>16 f'16 c'8\glissando( d4) } \\ { s16 f,8 g16 ~ g4 } >> |
  }

  <a, e'>4. <b g'>8 ~ q2 | <c g'>4. <d a'>8 ~ q8 b16 c b a g fs |
  <e b'>4. <fs d'>8 ~ q2 | g8. b16 ~ b8 e16 cs a4 d16 cs <b fs'>8 ~ |
  q8 q16 q q q q q q8 r ds'16^"guitar solo" e fs d  \bar "||" |

  b4 ~ b16\glissando( e) a\glissando( b) ~ b4. a16( b)
  c4( b16) <a, a'>16 q\glissando( <gs gs'>) <b b'>8 \tuplet 3/2 { e,16( g) b } \tuplet 6/4 { g' e b' a e' d } |
  fs4 fs8 g16 e ~ e4 <bf d>16( <a cs>) <g b> e16 ~ |
  e a,\glissando( gs) e ~ e4 \tuplet 6/4 { g16 a b cs d e } fs32 g a b cs d e fs \bar "||" |

  \key ef \major

  g4 g8 ef16 bf ~ bf2 |
  <bf,, f'>8 bf16 bf bf f' bf8 ~ bf bf,16 bf bf d ef f |
  <bf, gf'>4 <bf f'>16 gf' <bf, f'>8 <af ef'>8 af16 af af ef' af8 |
  <bf, f'> d'16( ef) d8 ef,16 f gf f ef d bf4 |
  <ef bf' ef>4. ef16 ef <ef bf' f'>4 <ef bf' d> |
  <bf f'>8 bf16 bf bf f' bf8 ~ bf bf,16 bf bf d ef f |
  g8\glissando( d) bf a ~ a a16 a cs'16( d) cs8 |
  d2 c4 d |

  \key e \minor

  \repeat unfold 8 r1 |
  <f, a b e>1\arpeggio |
  \arpeggioArrowDown <e, b' fs' gs b e>4.\arpeggio \arpeggioNormal e16 b' fs' gs b e b gs fs b, |
  <e, c' e a b e>4\arpeggio ~ q16 e''16 b a e8 c'16 b a g fs d |
  <e, e' b' e b e>1\arpeggio\fermata \bar "|." |


}

vocalMelody = \relative c' {
  \repeat unfold 4 r1 |

  \repeat volta 2 {
    r4 e fs gs | a4. b16 a ~ a2 |
    r4 gs a b | c4. d16 c ~ c4 b8 a16 gs ~ |
    gs4 e fs gs | a4. b16 a16 ~ a4 ~ a16 a b8 |
    cs4. b8 ~ b4 r4 | d4. c8 ~ c4. b8 ~ |

    b4 r4 r2 | r2 r4 b16 ds8. |

    % chorus
    \key e \minor
    <\tweak font-size #-2 b e>4. <\tweak font-size #-2 a fs'>8 ~ q4 r8 <\tweak font-size #-2 a d>16 q |
    <\tweak font-size #-2 g d'>4. <\tweak font-size #-2 a cs>8 ~ q4. a16 b ~ |
    b2 r2 | r1 |
  }

  <\tweak font-size #-2 a e'>4. <\tweak font-size #-2 a d>8 ~ q4 r16 d d d |
  <\tweak font-size #-2 g, d'>4. <\tweak font-size #-2 a c>8 ~ q8 a a a |
  <\tweak font-size #-2 e b'>4. <\tweak font-size #-2 fs a>8 ~ q4 r |
  <b \tweak font-size #-2 g'>8. q16 ~ q8 <cs \tweak font-size #-2 a'>8( ~ q4. <ds \tweak font-size #-2 fs>8 ~ |
  q2 ~ q8) r8 r4 |

  \repeat unfold 4 r1 |

  \key ef \major

  r8 ef ef ef f( d) d bf ~ | bf2 r8 bf bf c |
  <df \tweak font-size #-2 gf> q4 <c \tweak font-size #-2 ef>8 ~ q q4 <bf \tweak font-size #-2 f'>8 ~ |
  q2 r2 |
  r8 <ef \tweak font-size #-2 g> q q <f \tweak font-size #-2 af>( <d \tweak font-size #-2 f>) <d \tweak font-size #-2 f> <bf \tweak font-size #-2 d> ~ |
  q2 r8 bf bf c |
  <\tweak font-size #-2 bf d>4.( <\tweak font-size #-2 a cs>8 ~ q4 ~ q16 <\tweak font-size #-2 b d> <\tweak font-size #-2 cs e>8 |
  <\tweak font-size #-2 d f>4) r8 <\tweak font-size #-2 f, f'> <\tweak font-size #-2 g e'>4 <\tweak font-size #-2 a d> |

  \key e \minor
  <\tweak font-size #-2 b e>4. <\tweak font-size #-2 a fs'>8 ~ q4 r8 <\tweak font-size #-2 a d>16 q |
  <\tweak font-size #-2 g d'>4. <\tweak font-size #-2 a cs>8 ~ q4. a16 b ~ |
  b1 | s2 s4 b8 b |
  <\tweak font-size #-2 b e>4. <\tweak font-size #-2 a fs'>8 ~ q4 r8 <\tweak font-size #-2 a d>16 q |
  <\tweak font-size #-2 g d'>4. <\tweak font-size #-2 a cs>8 ~ q4. a16 b ~ |
  b1 | s1 |
  <c e ~ a>( \bar "||" | <b e b'>) |
  r1 | r1 |




}

firstVerseLyrics = \lyricmode {
  The si -- lence fades a -- way. __
  I can't hear an -- y -- thing __ but the sound __
  of all the years gone by. __
  But I'm so close, __ al -- most __ there.
  So I reach out, __ for the last time __ a -- gain.
}

secondVerseLyrics = \lyricmode {
  The mo -- ment slips a -- way. __
  Think -- ing of ev -- 'ry thing __ that re -- mains __
  of all the wast -- ed time. __
  But I'm wait -- ing, __ fad -- ing __ out. __
  So I reach out, __ for the last time __ a -- gain.
}

restOfTheLyrics = \lyricmode {
  Reach out, __ and try to hold on, __ un -- til the
  si -- lence __ breaks you  __ down. __

  % bridge

  Un -- til the end __ of time, __
  our sto -- ry waits for our __ re -- ply. __
  And when our time __ runs out, __
  all we can do __ is try and

  reach out __ for the last time __ a -- gain.
  So I'll reach out __ for the last time __ a -- gain. __

  Ah. __

}


vocalMelodySecondary = \relative c'' {
  \repeat unfold 4 s1 |
  \repeat volta 2 {
    \repeat unfold 14 s1 |
  }
  \repeat unfold 5 s1 |

  % guitar solo
  \repeat unfold 4 s1 |

  % bridge
  \repeat unfold 8 s1 |

  % final chorus
  \stemUp
  \tiny
  s1 | s1 |
  e4. fs8 ~ fs2 | g4. a8( ~ a2 | b1) | s1 |
  e,4. fs8 ~ fs4 fs8 fs | g4. a8 ~ a2 | s1 | s1 |

}
vocalTwoLyrics = \lyricmode {
  Reach out. __
  Hold on. __
  Reach out __ for the si -- lence. __
}



chordExceptionMusic = {
  <c e g b d'>1-\markup { "maj9" }
  <c e g b fs'>1-\markup { "maj7" \sharp "11" }
  <c ef f g bf>1-\markup { "m7sus4" }
  <c ef gf bff>1-\markup { "dim7" }
  <c e g d'>1-\markup { "add9" }
  <c ef g d'>1-\markup { "m(add9)" }
  <c e fs as>1-\markup { \super { \sharp "11" \sharp "13" } }
  <c g>1-\markup { "5" }
  <c e g b>1-\markup { "maj7" }
  <c f g>1-\markup { "sus4" }
  <c d g>1-\markup { "sus2" }
}

chordExceptions = #(append
  (sequential-music-to-chord-exceptions chordExceptionMusic #t)
  ignatzekExceptions
)

chordValues = \chordmode {

  e1:1.3.5.9 | a:1.3-.5.9 | e | d2:1.3.6.9/fs a:m11/g |

  \repeat volta 2 {
    % verse
    e1 | a | e | a:1.3-.5.9 |
    e | f4.:maj7/e q16 f:maj7 q2 | g4.:sus4 g8 ~ g2 | c4.:sus4 c8 ~ c2 |

    a1:sus2 | b4.. f16:1.3.4+.6+ ~ q2 |

    % chorus
    e4.:m d8:/fs ~ q2 | g4. a8 ~ a2 |
    e4.:m fs8:1.5 ~ q2 | g4. f8 ~ f4 g:1.5 |
  }

  a4.:m g8:/b ~ q2 | c4. d8 ~ d2 |
  e4.:m d8:/fs ~ q2 | g4. a8 ~ a4. b8 ~ |
  b1 |

  % guitar solo

  e1 | a:1.3-.5.9 | d4.. a16 ~ a2 | e2 g4 a |

  % bridge
  ef1 | bf1 | gf2:/bf af | bf1 |
  ef1 | bf1 | g4.:m a8 ~ a2 | bf2 c4 g |

  % last chorus
  \repeat unfold 2 {
    e4.:m d8:/fs ~ q2 | g4. a8 ~ a2 |
    e4.:m fs8:1.5 ~ q2 | g4. f8 ~ f4 g:1.5 |
  }

  a1:sus2/f | e1:1.3.5.9 | a:1.3-.5.9 | e:1.5 |
}

guitarOneStaff = \new Staff \with { midiInstrument = "acoustic guitar (steel)" }{ \global \guitarOne }

vox = \new Staff \with { midiInstrument = "voice oohs" } {
  <<
    \new Voice = "vocalMelody" { \clef treble \global \vocalMelody }
    \new Voice = "vocalMelody2" { \clef treble \global \vocalMelodySecondary }
  >>
}

demLyrics = \new Lyrics \lyricsto "vocalMelody" {
  <<
    \new Lyrics {
      \set associatedVoice = "vocalMelody"
      \firstVerseLyrics
    }
    \new Lyrics {
      \set associatedVoice = "vocalMelody"
      \secondVerseLyrics
    }
  >>
  \restOfTheLyrics
}

demOtherLyrics = \new Lyrics \lyricsto "vocalMelody2" {
  \new Lyrics {
    \vocalTwoLyrics
  }
}

chordNames = \new ChordNames {
  \set chordChanges = ##t
  \set chordNameExceptions = #chordExceptions
  \chordValues
}

\score {
  <<
    \chordNames
    \vox
    \demLyrics
    \demOtherLyrics
    \guitarOneStaff
  >>
  \layout {
    \context {
      \Staff \RemoveEmptyStaves
      \override Glissando.minimum-length = #4
      \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
      \override Glissando.thickness = #2
      \override VerticalAxisGroup.remove-first = ##t
    }
  }
}

\score {
  \unfoldRepeats {
    <<
      \vox
      \guitarOneStaff
    >>
  }
  \midi {}
}