diff --git a/windswept.ly b/windswept.ly new file mode 100644 index 0000000..99ec551 --- /dev/null +++ b/windswept.ly @@ -0,0 +1,270 @@ +\version "2.18.2" +\language "english" + +\header { + title = "Windswept" + composer = "Tommy Montgomery" + copyright = "(c) 2017 Tommy Montgomery" +} + +global = { + \key a \mixolydian + \time 4/4 + \tempo 4 = 150 + \set Staff.printKeyCancellation = ##f + \numericTimeSignature + \compressFullBarRests + \omit Voice.StringNumber + \override TupletBracket #'bracket-visibility = #'if-no-beam + \override MultiMeasureRest.expand-limit = #3 +} + + +guitarOne = \relative c' { + r2 r4 r8 ~ | + \repeat volta 2 { + q a a16 a a a << { a'8\glissando[( b)] } \\ { a,4 } >> r8 ~ | + q a a16 a a a << { d'8\glissando[( cs)] } \\ { a,4 } >> r8 ~ | + q a a16 a a a << { a'8\glissando[( b)] } \\ { a,4 } >> r8 ~ | + q a d'16 e d cs << { d8\glissando[( cs)] } \\ { a,4 } >> r8 ~ | + q a a16 a a a << { a'8\glissando[( b)] } \\ { a,4 } >> r8 ~ | + q a a16 a a a << { d'8\glissando[( cs)] } \\ { a,4 } >> r8 ~ | + q g16 g 8 g16 g 4. 8 ~ | + } + \alternative { + { q e16 e 8 e16 e 4. 8\laissezVibrer | } + { 8 e16 e 8 e16 e 4. f8 ~ | } + } + + f8 c' e g f c d g, ~ | + g d' fs16 fs g g a4. bf,8 ~ | + bf f' a c bf f g c, ~ | + c g' b16 b c c d4. d,8 ~ | + d a' cs e d a b e, ~ | + e b' ds16 ds e e fs4. fs16( gs) | + \grace gs16( a4.) a8 ~ a e'^"+"( gs, fs) ~ | + fs2. ~ fs8 ~ | + + q e e16 e e e << { e'8\glissando[( fs)] } \\ { 4 } >> r8 ~ | + q e, e16 e e e << { a'8\glissando[( gs)] } \\ { e4 } >> r8 ~ | + q e e16 e e e << { e'8\glissando[( fs)] } \\ { 4 } >> r8 ~ | + q e, e16 e e e << { a'8\glissando[( gs)] } \\ { e4 } >> r8 ~ | + q e e16 e e e << { e'8\glissando[( fs)] } \\ { 4 } >> r8 ~ | + q e, e16 e e e << { a'8\glissando[( gs)] } \\ { e4 } >> r8 ~ | + q4. 8 ~ q 4 8 ~ | + q4. b16 b 8 ~ | + + q e e16 e e e << { e'8\glissando[( fs)] } \\ { 4 } >> r8 ~ | + q e e16 e e e << { a8\glissando[( gs)] } \\ { e4 } >> r8 ~ | + q e e16 e e e << { e'8\glissando[( fs)] } \\ { 4 } >> r8 ~ | + q d d16 d d d << { a'8\glissando[( gs)] } \\ { d4 } >> r8 ~ | + q^"guitar solo" e e16 e e e << { e'8\glissando[( fs)] } \\ { 4 } >> r8 ~ | + q cs cs16 cs cs cs << { a'8\glissando[( gs)] } \\ { cs,4 } >> r8 ~ | + q4. cs8 ~ cs4 ds ~ | + ds8 e4. fs4 gs \bar "||" | + + 8 a16 a 8 a16 a 4 a16 a 8 ~ | + q8 a16 a 8 a16 a 4 a16 a 8 ~ | + q8 e16 e 8 e16 e 4 e16 e 8 ~ | + q8 e16 e 8 e16 e 4 e16 e 8 ~ | + q8 a16 a 8 a16 a 4 a16 a 8 ~ | + q8 a16 a 8 a16 a 4 a16 a 8 ~ | + q8 e16 e 8 e16 e 4 e16 e 8 ~ | + q8 e16 e 8 e16 e 4 e16 e 8 ~ | + q8 fs16 fs 8 fs16 fs 4 fs16 fs 8 ~ | + q8 fs16 fs 8 fs16 fs 4 fs16 fs 8 ~ | + q8 es16 es 8 es16 es 4 es16 es 8 ~ | + q8 es16 es 8 es16 es 4 es16 es 8 ~ | + + q4. 8 ~ q 4 8 ~ | + q 4 8 ~ q 4 8 ~ | + q2 g8 d' a' d ~ | + d e4 d8 ~ d a4 g8 | + + R1*8^\markup "intro riff" | + R1*6^\markup { "F riff" } | + \grace gs'16( a4.) a8 ~ a e'^"+"( gs, fs) ~ | + fs1 | + + \repeat unfold 2 { 8. q16 ~ q8 q8 ~ q16 q8. q4 | } + \repeat unfold 2 { 8. q16 ~ q8 q8 ~ q16 q8. q4 | } + \repeat unfold 2 { 8. q16 ~ q8 q8 ~ q16 q8. q4 | } + \repeat unfold 2 { 8. q16 ~ q8 q8 ~ q16 q8. q4 | } + + \repeat volta 2 { + \repeat unfold 2 { fs'16( d) cs a cs d fs( d) cs a cs d fs( d) cs a | } + \repeat unfold 2 { a'( fs) d cs d fs a( fs) d cs d fs a( fs) d cs | } + \repeat unfold 2 { g'( e) d b d e g( e) d b d e g( e) d b | } + \repeat unfold 2 { fs'( e) cs as cs e fs( e) cs as cs e fs( e) cs as | } + } + + \time 7/8 + \repeat volta 2 { 16[ b b b] [ b b b] [ b b b] b[ b] | } + \repeat volta 2 { [ b b b] [ b b b] [ b b b] b[ b] | } + \repeat volta 2 { [ b b b] [ b b b] ] b b b] b[ b] | } + [ b b b] [ b b b] [ b b b] b[ b] | + + \time 4/4 16 b b b b b b b b b b b e,8 ~ | + + e fs g a ~ a g fs e | + b' a g fs ~ fs g a b | + e, fs g a ~ a g fs e | + e' d cs b ~ b a b cs | + + c d e fs ~ fs e d c | + g' fs e d ~ d c d e | + fs g a b ~ b a g fs | + c' b a g ~ g a b c | + \time 3/4 d c b\glissando e d c | + \time 4/4 f g af bf ~ bf af g f | + c' bf af g ~ g af bf c | + \tuplet 3/2 4 { \repeat unfold 2 { d( c) bf af bf c } } | + \tuplet 3/2 4 { \repeat unfold 2 { e( d) c bf c d } } | + \tuplet 3/2 4 { fs( e) d c d e fs( e) d c ef fs } | + \tuplet 3/2 4 { a( fs) es a, es' fs fs( ef) c fs, c' ef } | + \tuplet 3/2 4 { ef( c) a ef a c c( a) fs c fs a } | + \tuplet 3/2 4 { a( fs) ef a, fs ef fs( ef) c( a) fs f ~ } | + + f c' e g f c d g, ~ | + g d' fs16 fs g g a4. bf,8 ~ | + bf f' a c bf f g c, ~ | + c g' b16 b c c d4. ef,8 ~ | + ef bf' d f ef bf c f, ~ | + f c' e g f c d af ~ | + af ef' g bf af ef f bf, ~ | + bf f' a c bf f g\glissando a\laissezVibrer | + + \time 5/4 + \repeat volta 2 { + 8-> a a -> a a a16 a a a a a a a | + 8-> a a -> a a a16 a a a a a a a | + 8-> a a -> a a a16 a a a a a a a | + 8-> a a -> a a a16 a a a a a a a | + } + + \time 4/4 + \repeat volta 4 { + a'8^"start fade 3rd time" cs d a e' a, cs d | + a d e a, fs' a, d e | + a,8 cs d a e' a, cs d | + } + \alternative { + { a d e a, g' a, fs' e | } + { a, d e a, g' a, fs' e\laissezVibrer | } + } + + r1\fermata^"piano" \bar "|." +} + + +guitarTwo = \relative c { + +} + +guitarOneStaff = \new Staff \with { midiInstrument = "electric guitar (jazz)" }{ \global \guitarOne } +guitarTwoStaff = \new Staff \with { midiInstrument = "electric guitar (jazz)" }{ \global \guitarTwo } + +chordExceptionMusic = { + 1-\markup { "maj9" } + 1-\markup { "maj7" \sharp "11" } + 1-\markup { "m7sus4" } + 1-\markup { "dim7" } + 1-\markup { "add9" } + 1-\markup { "m(add9)" } + 1-\markup { \super { \sharp "11" \sharp "13" } } + 1-\markup { "5" } + 1-\markup { "maj7" } + 1-\markup { "add" \super { \sharp "11" } } + 1-\markup { "sus4" } + 1-\markup { "sus2" } + 1-\markup { "m(maj7)" } + 1-\markup { "m(maj9)" } +} + +chordExceptions = #(append + (sequential-music-to-chord-exceptions chordExceptionMusic #t) + ignatzekExceptions +) + +chordValues = \chordmode { + r2.. a8 | + + \repeat volta 2 { \repeat unfold 5 a1 | a2.. g8:sus2 | q2.. e8:sus2 | } + \alternative { { q2.. a8 | } { a2.. f8 } } + + f2.. g8 | g2 d4. bf8 | bf2.. c8 | c2 g4. d8 | + d2.. e8 | e2 b | fs2..:m b8 | b2.. e8 | + + \repeat unfold 5 e1 | e2.. d8 | d2.. b8 | b2.. e8 | + e1 | e | e2.. d8:/e | q2.. e8 | e2.. a8:/e | q2.. gs8 | gs1 | gs1 | + + a1:sus2 | q2.. e8:sus2 | q1 | q2.. a8:sus2 | + a1:sus2 | q2.. e8:sus2 | q1 | q2.. fs8:sus2 | + q1 | q2.. cs8:/es | q1 | q2.. e8 | + e4. b4:sus4 b cs8:sus4 | q8 cs4:m a:1.3.5.11+ a g8 | + g2 g:1.2.4.5 | q1 | + + R1*8 | + R1*6 | + a2.. fs8:7 | q1 | + b1:m7 | q | d:maj7 | q | e:m7 | q | fs:7 | q | + \repeat volta 2 { b1:m7 | q | d:maj7 | q | e:m7 | q | fs:7 | q | } + + \repeat volta 2 b2..:m | + \repeat volta 2 e:m/b | + \repeat volta 2 b | + b:sus4 | b e8:m | + + q1 | q | q | q | + c:1.3.5.11+ | q | q | q | + r2. | + f1:m | q | + r | r | r | + a:dim7 | q | q2. \tuplet 3/2 { q4 f8 } | + + f2.. g8 | g2 d4. bf8 | bf2.. c8 | c2 g4. ef8 | + ef2.. f8 | f2.. af8 | af2.. bf8 | bf2.. d8:/a | + + \repeat volta 2 { q1 q4 | a1 a4 | f1:/a q4 | a1 a4 | } + + \repeat volta 4 { a2..:/g d8:/fs | q2.. a8:/e | q2.. d8:/fs |} + \alternative { + { q2.. a8:/g | } + { q2.. a8:/g | } + } +} + +chordNames = \new ChordNames { + \powerChords + \set majorSevenSymbol = \markup "maj7" + \set chordChanges = ##t + \set chordNameExceptions = #chordExceptions + \chordValues +} + +\score { + << + \chordNames + \guitarOneStaff + \guitarTwoStaff + >> + \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 { + << + \transpose c c, \guitarOneStaff + \transpose c c, \guitarTwoStaff + >> + } + \midi {} +} diff --git a/windswept.pdf b/windswept.pdf new file mode 100644 index 0000000..5625007 Binary files /dev/null and b/windswept.pdf differ