%{
    Caprice #5 (Paganini)
    Arranged for guitar by Steve Yegge

  compile-command:
  /Applications/LilyPond.app/Contents/Resources/bin/lilypond \
       [-d fret-diagrams] --png caprice-5.ly \
    && /Users/stevey/bin/refresh-lilypond \
    && /Users/stevey/bin/midi caprice-5.midi
%}

\version "2.26.0"  % for upgrading to future LilyPond versions

\include "english.ly"
\include "../common.ly"
\include "../harmonic.ly"

bigChromatic = \relative c {
  \override Beam.breakable = ##t
  \fingerRight <a-0>4\5 \(
  \pVI <bf-2\6>32 [ <b-3> <c-4>
                    \pIX <cs-1\6> d ds e
                    \pVIII <f-1\5> fs g gs
                    \pXII <a-1\5> bf b c
                    \pXI <cs-1\4> d ds e
                    \pX <f-1\3> fs g gs
                    <a-1\2> bf b c
                    \pIX <cs-1\1> d ds e
                    \bar ""
                    \pXIII <f-1> <fs-2> <g-3> <gs-4>
                    <a-4> gs g fs
                    \pX <f-4\1> e ds d
                    \pXI <cs-4\2> c b bf
                    <a-4\3> gs g fs
                    \pXII <f-4\4> e ds d
                    \pXIII <cs-4\5> <c-3> <b-2> <bf-1> ] \)
  \revert Beam.breakable
}

intro = \relative c {
  \override Staff.BarLine.stencil = ##f
  \override Staff.TimeSignature.transparent = ##t
  \cadenzaOn % turn off bar lines
  \stemDown \stringDown \fingerRight
  % \override NoteHead.font-size = #-2
  \override Fingering.staff-padding = #'()
  <a-0>4 ^\fermata \(
  <c-1>32 [ <e-4>\5 <c-1> <a-0> <c-1> <e-4>\5
            \glissando \pIX <a-4> <c-2\4> <e-1\3> ]
  <a-2\2>4 \)

  \pVII <g-1>32
  \( [ f e d <c-4> <b-3> <a-2> \pV <gs-1> f e d <c-4> <b-3>  ] \)
  \pOff
   <a-0>4 \( c32 [ e\5 c a c e\5 \glissando
                  \pVIII a c e a ] <c-1>4 \)
  \bar ""

  <b\2>32 \( [ a gs \pVII <f\3> e d \pV <c-4\4> <b-3> <a-2>
               <gs-1> f e d c b  ] \) \pOff

   <a-0>4
  \( c32 [ e\5 c a c e\5 \glissando \pVIII a c e a c ] e4 \)

  d32 \( [ c b a gs f e \pVI d c b a gs f e \pV d c b  ] \)
  \bar "" \pOff

   <a-0>4
  \( c32 [ e\5 c a c e\5 \glissando \pVIII a c e a c <e-4> ]
        \glissando <a-4>4 \)

  \pX <g-4>32 \( [ <f-3> <e-2> <d-1>
                   \pIX <c-4\2> <b-3> <a-2> <gs-1>
                   \pVII <f-4\3> e d
                   \pV <c-4> <b-3> <a-2> <gs-1>
                   f e d c b  ] \)
  \bar "" \pOff

  \bigChromatic
  \pXII <a'-1>4 \( <e'-3 c'-2 a'-4>8 \)
  s32 ^\fermata
  \bar "||" \stemNeutral
  \cadenzaOff % turn bar lines on again
  \revert Staff.BarLine.stencil
  \revert Staff.TimeSignature.stencil
  \revert Staff.TimeSignature.transparent
  % \revert Fingering.staff-padding
}

theme = \relative c {
  %% measure 1
  \fingerRight \stringDown \pV <a'-2\4>16 -.
  ^\markup \large { "Agitato." }
  \( <c-1\3> -. <e-4>\3 -. \) <c-1> -.
  <b-4\4> -. \( <d-2\3> -. <e-4>\3 -. \) <d-2> -.
  <c-1> -. \( <a'-4\2> -. <g-2>\2 -. \) <f-1>\2 -.
  <e-4\3> -. \( <d-2> -. <c-1> -. \) <b-4\4> -.

  | %% measure 2
  a -. \( c -. e\3 -. \) c -.
  b -. \( d -. e\3 -. \) d -.
  c -. \( a'\2 -. g -. \) f -.
  e\3 -. \( d -. c -. \) b -.

  | %% measure 3
  \stringUp \pVI <a\4> _\markup \small { \italic "simile" }
  <cs\3> e cs
  \stringDown \pVII <a-2\4> <d-1\3> <f-4> <d-1>
  \pIV <g,-0>\3 <b-1\3> <f'-4\2> <b,-1\3>
  <g-0>\3 <c-1> <e-4>\3 <c-1>

  | %% measure 4
  \pVII <gs-4\5> <b-2\4> <f'-4\3> <d-1>
  <c-4\4> <a-1> <a'-4\2>
  \pVI <ds,,-1\5> <e-2>
  <gs-1\4> <b-3>
  <e-2\3> <gs-1\2> <b-3>\2 <d-1\1> <e-3>

  | %% measure 5 -- high theme
  \pXIII <a,-2\3> <c-1\2> <e-4> <c-1>
  <b-3\3> <d-2\2> <e-4> <d-2>
  <c-1> <a'-4\1> <g-2> <f-1>
  <e-4\2> <d-2> <c-1> <b-3\3>

  | %% measure 6
  a c e c b d e d
  c a' g f e d c b

  | %% measure 7
  \barre "XIV" "2" a \startTextSpan cs <e-3> cs \stopTextSpan
  <a'-3\1> <g-2> <f-1>\1
  <e-3\2> <cs-1> <d-2>
  <b'-3\1> <a-2> <g-1>
  <f-3\2> <e-2> <d-1>

  | %% measure 8
  <c-3\3> <b-2> <a-1> <g-3\4>
  <fs-2> <g-3> <a-1\2> <f-4\3>
  \pXII <e-3> <g-1> <c-2> <e,-3>
  \pX <d-3> <f-1> <b-4> <d,-3>

  | %% measure 9
  \pVIII <c-3> <e-2> <a-4> <c,-3>
  \pVII <b-3> <d-1> <g-2> <b,-3>
  \pV <a-3> <c-1> <f-2> <a,-3>
  <af-3> <c-2> <f-4> <af,-3>

  | %% measure 10
  \pIV <g-2> <b-1> <f'-4> <b,-0>\2
  \barre "VIII" "2" c \startTextSpan e g c \stopTextSpan
  \barre "X" "3" d, \startTextSpan f b d \stopTextSpan
  \barre "XII" "3" e, \startTextSpan g c e \stopTextSpan

  | %% measure 11
  \barre "XIII" "2" f, \startTextSpan a c f \stopTextSpan
  <fs,-3> <ef'-4\2> <c-1> <a-2\3>
  \pXII <g-1> <g'-4\1> <e-1> <c-2\2>
  <g-1\3> <f'-3\1> <d-1>\1 <b-2\2>

  | %% measure 12
  \pXVII c c' b a g f \barre "XVII" "" e \startTextSpan c \stopTextSpan
  \pXV <f-2> b a g fs e \barre "XVI" "" ds \startTextSpan b \stopTextSpan

  | %% measure 13
  \pXIV <e-2> a g f\1 e d \barre "XIV" "" cs \startTextSpan a \stopTextSpan
  \pXII <d-2> g f e d c \barre "XII" "" b \startTextSpan g \stopTextSpan

  | %% measure 14
  \pX <c\1> f e <d\2> c b a <g-2\3>
  \pXVI <fs-1\4> <a-3> <c-2\3> <ef-1\2>
  <fs-3> <a-1\1> <c-3> <fs,-2\2>

  | %% measure 15
  \pXV <c'-4> ( <g-1> ) <e-3\2> <c-2\3>
  \pXIV <g-4\4> ( <e-1> ) <c-3\5> <g-2\6>
  \barre "XV" "" <b''-4> ( \startTextSpan <g-1> )
  <d-1\2> <b-2\3> <g-3\4> \stopTextSpan
  <d-4\5> ( <b-1>\5 ) <g-2\6>

  | %% measure 16
  <c-1\5>
  <c''-3> <b-2> <bf-1>
  \pXIV <a-4\1> af g fs
  \pXV <f-4\2> e ef d
  \pXI <df-4\2> c b bf

  | %% measure 17
  <a-4\3> af g fs
  \pXII <f-4\4> e ef d
  \pIX <c-2> <e-1\3> <a-4>\3 <g-3>
  <b,-1\4> <g'-4\3> <f-2> <d-4\4>

  | %% measure 18
  <c-2> <e-1> <g,-0>\3 <c-2>
  <b-1> <g'-4> <f-2> <d-4>
  c e <g,-0>\3 c b g' f d
  |
}

themeEndOne = \relative c {
  %% measure 19
  <c'-2\4>16 <e-1\3> <d-4\4> <c-2>
  <b-1> <f'-2\3> <d-4\4> <b-1>
  \pV <a-2\4> <c-1\3> <b-4\4> <a-2>
  <gs-1> <d'-2\3> <b-4\4> <gs-1>
}

themeEndTwo = \relative c {
  %% measure 20
  \pVIII <c'-3>16 <g'-1> <e-2> <c-3>
  <bf-1> <g'-2> <e-3> <bf-1>
  \pV <a-3> <f'-2> <c-1> <a-3>
  \pIII <g-3> <e'-4> <bf-1> <g-3>
}

devel = \relative c {
  \fingerRight \stringDown
  | %% measure 21
  <a'-3\4>16
  \barre "XIII" "2" f''\startTextSpan <c-2> a \stopTextSpan
  \barre "XII" "3" g \startTextSpan e' <cs-3> g \stopTextSpan
  \barre "X" "3" f \startTextSpan d' a f \stopTextSpan
  \pVIII <e-2> <cs'-3> <g-1> <e-2>

  | %% measure 22
  \barre "X" "3" f \startTextSpan d' a f \stopTextSpan
  \barre "VIII" "3" ef \startTextSpan c' <a-3> ef \stopTextSpan
  \barre "VI" "2" d \startTextSpan <bf'-2> f d \stopTextSpan
  \pIV <c-2> <a'-3> <ef-1> <c-2>

  | %% measure 23
  <d-2\3>
  \barre "XVIII" "2" bf'' \startTextSpan f d \stopTextSpan
  \barre "XVII" "3" c \startTextSpan a' fs c \stopTextSpan
  \barre "XV" "3" bf \startTextSpan g' d bf \stopTextSpan
  \pXIII <a-2> <fs'-3> <c-1> <a-2>

  | %% measure 24
  \barre "XV" "3" bf \startTextSpan g' d bf \stopTextSpan
  \barre "XIII" "3" af \startTextSpan f' <d-3> af \stopTextSpan
  \barre "XI" "2" g \startTextSpan ef' bf g \stopTextSpan
  \pIX <f-2> <d'-3> <af-1> <f-2>

  | %% measure 25
  \barre "XI" "2" g \startTextSpan ef' bf g \stopTextSpan
  \barre "X" "3" f \startTextSpan d' <b-3> f \stopTextSpan
  \pXII <ef-3\4> <c'-4\2> <g-2\3> <ef-3\4>
  \pX <d-3\4> <b'-4\2> <f-2\3> <d-3\4>

  | %% measure 26
  <c-1>
  <c''-3> <b-2> <bf-1>
  <a-4> af g fs
  \pXV <f-4\2> e ef d
  \pXI <df-4\2> c b bf

  | %% measure 27
  <a-4\3> gs g fs
  \pXII <f-4\4> e ef d
  \pVIII <c-2> <ef-1\3> <af-4>\3 <g-3>\3
  <b,-1\4> <g'-4\3> <f-2> <d-4\4>

  | %% measure 28
  <c-1> <af''-3> <g-2> <gf-1>
  \pX <f-4> e ef d
  \pXI <df-4\2> c cf bf
  \pVII <a-4\2> af g fs

  | %% measure 29
  <f-4\3> e ef d
  \pVIII <df-4\4> c cf bf
  \pV <af-2> <c-1\3> <f-4>\3 <ef-2>
  <g,-1\4> <ef'-4\3> <df-2> <bf-4\4>
}

climb = \relative c {
  \stringDown
  | %% measure 30/1
  \barre "IV" "2" <af'-3> \startTextSpan <af'-1> <ef-1> <c-2> \stopTextSpan
  \barre "VII" "4" <a-1> \startTextSpan <gf'-1> <ef-2> <c-4> \stopTextSpan
  \barre "VI" "3" <bf-3> \startTextSpan <bf'-1> <f-1> <df-1> \stopTextSpan
  \barre "IX" "4" <b-1> \startTextSpan <af'-1> <f-2> <d-4> \stopTextSpan

  | %% measure 31/2
  \barre "VIII" "3" <c-3> \startTextSpan <c'-1> <g-1> <ef-1> \stopTextSpan
  \pIX <df-1> <bf'-2> <g-3> <df-1>
  \pXIII <bf-1\5> <g'-2\4> <e-1> <c'-4\3>
  <g-1>\3 <e'-4\2> <c-1> <bf'-4\1>

  | %% measure 32/3
  \barre "XIII" "3" <af-4> \startTextSpan ( f ) c af \stopTextSpan
  \pIX <e-1> \glissando <f-1> <af-4> <f-1>
  ef df c bf
  \pX <a'-1> \glissando <bf-1> <df-4> <bf-1>

  | %% measure 33/4
  af g f ef
  \pX <d'-1> \glissando <ef-1> <g-3> <ef-1>
  <af-4> <ef-1> <c-4\2> <af-3\3>
  <g-2> ( <af-4> ) <gf-1> <ef-4>

  | %% measure 34/5
  \pX <df-2> <f-1> <af-4> <f-2>
  <ef-4> <gf-2> <af-4> <gf-2>
  <f-1> <df'-4\2> <c-3> <bf-1>
  <af-4> <gf-2> <f-1> <ef-4\4>

  | %% measure 35/6
  <df-2> <f-1> <af-4> <f-2>
  \pVIII <df-2\4> <af'-1\2> <cf-4> ( <af-1> )
  <d,-2\4> <af'-1\2> <cf-4> ( <af-1> )
  \pX <ef-2\4> <gf-1\3> <bf-4>\3 <gf-1>

  | %% measure 36/7
  \pXII ef g bf g f af bf af
  g ef' d c bf af g f

  | %% measure 37/8
  ef g bf g
  \pXI ef bf' df ( bf )
  e, bf' df ( bf )
  \pXII f af c\3 af

  | %% measure 38/9
  \pVIII <gf-3> <ef'-4> <c-1> <gf-3>
  \pIX <f-2> <f'-4> <df-1> <bf-2>
  \pX <af-1> <f'-4> <d-1> \stringUpOnce <af-3\3>
  \barre "XI" "3" <gf-1> \startTextSpan gf' ef bf

  | %% measure 39/10
  <fs-1> \stopTextSpan \pIX <e'-4> <cs-1> <as-4>
  <fs-3> <e-1> <cs-4> <as-1>\4
  \pVI \stringUp \fingerDown <b,-2\6> <ds-1\5> <fs-4> \glissando <b-4\5>
  \pXI \stringDown \fingerUp <ds-3\4> <fs-1\3> <b-2\2> <ds-1\1>

  | %% measure 40/11
  \pV <ef,-3\3> <df'-4> <bf-1>
  <g-4> <ef-3> <df-1> <bf-4> <g-1>
  \pII \stringUp \fingerDown <af,-2\6> <cf-1\5> <ef-4> \glissando \pVII <af-4>
  \stringDown \fingerUp <cf-2\4> <ef-1\3> <af-2\2> <cf-1\1>
}

race = \relative c {
  \fingerRight
  | %% measure 41/1
  \pIV <e'-2> <gs-1> <b-4> <gs-1>
  \pV <fs-2> <a-1> <b-3> <a-1>
  \pVII <gs-2> <b-1> <e-4> <b-1>
  \pVIII <a-2> <c-1> <e-4> <c-1>

  | %% measure 42/2
  \pIX <as-2> cs fs cs
  \pXI <b-2> ds fs ds
  <bs-2> ds gs ds
  \pXII <cs-2> e as e

  | %% measure 43/3
  \pXIV <ds-2> fs b fs
  \pXVI <e-2> gs b gs
  \pXV <e-2> g as g
  \pXIV <ds-2> fs b fs

  | %% measure 44/4
  \pXIII <d-2> f gs f
  \pXII <cs-2> e a e
  \pXI <c-2> ef fs ef
  \pX <b-2> d g d

  | %% measure 45/5
  \pIX <bf-2> df e df
  \pVIII <a-2> c f c
  <a-2> c ds c
  \pVII <gs-2> b e b

  | %% measure 46/6
  \pVI <g-2> bf cs bf
  \pV <fs-2> a d a
  <f-2> a d a
  <f-2> a ds a

  | %% measure 47/7
  \pOff e,, <gs-1\6> <b-4\6> \glissando
  \barre "IX" "4" <e-4> \startTextSpan
  <gs-3> b e gs \stopTextSpan
  \barre "X" "3" f \startTextSpan a d a
  f a ds a \stopTextSpan

  | %% measure 48a/8
  \pIX \harmonicByFret #12 <e,,-4>\6 ^\markup \hFret "XII"
  \barre "IX" "4" <gs-3> \startTextSpan b e gs \stopTextSpan
  \harmonicByFret #12 <b,-4>\2 ^\markup \hFret "XII"
  \harmonicByFret #12 <e,-4>\1 ^\markup \hFret "XII"
  <gs-3> _\fermata
}

reprise = \relative c {
  %% measure 48b/1
  \stringDown \pXIII a'' c e c b d e d

  | %% measure 49/2
  c a' g f e d c b
  a c e c b d e d

  | %% measure 50/3
  c a' g f
  e d \barre "XIV" "" cs \startTextSpan a \stopTextSpan
  \pXII <d-2> g f e
  d c \barre "XII" "" b \startTextSpan g \stopTextSpan

  | %% measure 51/4
  \pX <c-2> f e d
  c b \barre "X" "" a \startTextSpan f \stopTextSpan
  \pVIII <b-3> e d c
  b a \barre "IX" "" gs \startTextSpan e \stopTextSpan

  | %% measure 52/5
  \pVII <a-3> d c b
  a g f <e-0>\1
  \pXVII <ds-1\5> <c''-3> ( <a-1> ) <fs-2\2>
  <ds-3\3> <c-1> <a-3\4> <ds,-2>

  | %% measure 53/6
  \pXII <c''-4> <a-2> <e-1> <c-2\2>
  <a-3\3> <e-1\4> <c-2\5> <a-3\6>
  \pX <b''-4> <gs-2> <d-1> <b-2\2>
  <gs-3\3> <d-1\4> <b-2\5> <gs-3\6>

  | %% measure 54/7
  <a-1\5> <a''-4> <gs-3> <g-2>
  <fs-4\1> f e ds
  \pXII <d-4\2> cs c b
  \pVIII <bf-4\2> a gs g

  | %% measure 55/8
  <fs-4\3> f e ds
  \pIX <d-4\4> cs c b
  \pV <a-2> <c-1\3> <f-4>\3 <e-3>\3
  <gs,-1\4> <e'-4\3> <d-2> <b-4\4>

  | %% measure 56/9
  <a-2\4> <c-1\3> <b-4\4> <d-2\3>
  <c-1\3> <e-4>\3 <gs,-1\4> <b-4>
  a c b d
  c e\3 gs, b

  | %% measure 57/10
  a c b d
  c e\3 gs, b
  a c b d
  c e\3 gs, b

  %% nasty workaround for Lilypond refusing to print final "||"
  %% TODO:  small repro case & email lilypond-users
  | \bar "||"
  \set Score.measureLength = #1/128
  s128
  \set Score.measureLength = #4/4
  | \bar "||" \pageBreak
}

finale = \relative c {
  \override Fingering.staff-padding = #'()
  \cadenzaOn % turn off bar lines
  \key a \major
  \override Staff.BarLine.stencil = ##f
  \override Staff.TimeSignature.transparent = ##t
  \stemDown \stringDown
  \pOff <a-0 a'-2>4\5\4 ^\fermata \(
  <cs-1>32 [ <e-4>\5 ( cs a cs <e-4>\5 ) \glissando
             \pIX <a-4>\5 <cs-3> <e-1> ]
  <a-2>4 \)

  \pV <gs-3>32 \( [ <fs-1>
                    <e-4\3> <d-2> <cs-1>
                    <b-4\4> <a-2> <gs-1>
                    <fs-4\5> <e-2> <d-1>
                    <cs-4\6> <b-2>  ] \)

  <a-0>4\5 \(
  \pIV cs32 [ e cs a\5 cs e \glissando \pIX <a-4> cs e a ]
  <cs-1>4 \)
  \bar ""

  \pVII <b-1>32 \( [ <a-4\2> <gs-3> <fs-1>
                     <e-4\3> \pV <d-2> <cs-1>
                     <b\4> a gs
                     <fs\5> e d
                     <cs\6> b  ] \)

  <a-0>4\5 \(
  \pIV cs32 [ e cs a\5 cs e \glissando \pIX <a-4> cs e a <cs-1> ]
  <e-4>4 \)

  \pVII <d-4>32 \( [ cs b <a-4\2> gs fs
                     \pVI <e-4\3> d cs <b-4\4> a gs
                     \pV <fs-4\5> e d <cs-4\6> b  ] \)
  \bar ""

  <a-0>4\5 \(
  \pIV cs32 [ e cs a\5 cs e \glissando \pIX <a-4> cs e a cs <e-4> ]
  \glissando <a-4>4 \)

  <gs-4>32 \( [ <fs-2> <e-1>
                \pVII <d-4\1> <cs> <b>
                <a-4\2> gs fs \pVI <e-4\3> d cs
                \pV <b-4\4> a gs <fs-4\5> e d <cs-4\6> b  ] \)
  \bar ""

  \bigChromatic
  \pXII <a'-1\5>4 \( <e'-2 cs'-3 a'-4>16 \)
  r16 ^\fermata
  \bar "|."
  \cadenzaOff % turn bar lines on again
  \revert Staff.BarLine.stencil
  \revert Staff.TimeSignature.stencil
  \revert Staff.TimeSignature.transparent
}

music = {
  \key a \minor
  \midiTempoChange \tempo 4=80
  \intro \pageBreak
  \midiTempoChange \tempo 4=150
  \time 4/4
  \repeat volta 2 {
    \theme
  }
  \alternative {
    \themeEndOne
    \themeEndTwo
  }
  \devel
  \climb
  \race
  \reprise
  \midiTempoChange \tempo 4=80
  \finale
}

\header {
  title = "Caprice 5, Op. 1"
  composer = "Niccolò Paganini"
  arranger = "Arranged for guitar by Steve Yegge"
  copyright = "sites.google.com/site/steveysguitarsite"
  tagline = ##f
}

\score {
  <<
    \new Staff {
      \commonSetup
      \maybeFretDiagrams \music
    }
    \new TabStaff {
      \music
    }
  >>
}

\score {
  \unfoldRepeats
  \music
  \midi {
    \context {
      \Score
      midiInstrument = #"acoustic guitar (steel)"
      tempoWholesPerMinute = #80/4
    }
    \context {
      \Voice
      \remove "Dynamic_performer"
    }
  }
}

\paper {
   indent = 8\mm
   ragged-last-bottom = ##f
}
