Skip to content

Instantly share code, notes, and snippets.

@msikma
Created April 30, 2016 09:40
Show Gist options
  • Save msikma/b2ce7ea40981c517d3eac960024f148b to your computer and use it in GitHub Desktop.
Save msikma/b2ce7ea40981c517d3eac960024f148b to your computer and use it in GitHub Desktop.
%===========================================================================
% Piano Sonata Op.111 - II. Arietta, in C Major (L.Beethoven)
%===========================================================================
%
%--- Notes -----------------------------------------------------------------
%
% * test
%
%---------------------------------------------------------------------------
%
%--- Author ----------------------------------------------------------------
%
% (C) 2016, Michiel Sikma <[email protected]>
% Licensed under CC BY-SA 4.0.
%
%---------------------------------------------------------------------------
AUTHORS = "M.Sikma"
HEADERS-DIR = "./includes/"
COMPOSED = "Composed 1822"
\version "2.18.2"
\language "english"
\include "includes/ms.ily"
\include "includes/markup.ily"
% todo
maestoso-section-one = {
\key c \minor
\time 4/4
\partial 32
\tempo "Maestoso"
}
% Variation 1-2.
arietta-section-one = {
\key c \major
\time 9/16
\partial 8.
\tempo "Adagio molto semplice e cantabile"
}
% Variation 3.
arietta-section-two = {
\key c \major
\time 6/16
\tempo "L'istesso tempo"
}
\bookpart {
\paper {
markup-system-spacing = \std-padding-page-n
bookTitleMarkup = \std-title-markup-page-n
}
\header {
subtitle = "Arietta"
copyright = ##f
tagline = \ms-tagline-en-cc-by-sa-four
}
\score {
\new PianoStaff \with {
\std-staff-spacing
} <<
\set PianoStaff.connectArpeggios = ##t
%---------------------------------------------------------------------
% Right hand
%---------------------------------------------------------------------
\new Staff = "right" \with {
midiInstrument = "acoustic grand"
} {
\clef treble \relative c'' {
\arietta-section-one
%-----------------------------------------------------------------
% Variation 1, part 1
%-----------------------------------------------------------------
<<
\new Voice {
\voiceOne
\repeat volta 2 {
\relative c'' {
c8( \p g16) |
g4. d'8( g,16) |
g4. g8. |
g8.-[( e' c]) |
c8.-[ b <b g>] |
c8.-[( e g]) |
g8.-[( f d8 c16]) |
b8.-[( c d8 g,16]) |
}
}
\alternative {
{
\relative c'' {
\set Timing.measureLength = #(ly:make-moment 6/16)
g4.
}
}
{
\relative c'' {
\set Timing.measureLength = #(ly:make-moment 9/16)
g4. e8.
\bar ".|:"
}
}
}
}
\new Voice {
\voiceTwo
\relative c' {
e8. |
e8.-[( f8. d8.]) |
d8.-[( e f]) |
s8. e8.-[ g] |
e8.-[ d d] |
g4.\< g8.\! |
a4.\> a8-[ <d, a'>16]\! |
<d g>8.-[ <c g'> <d g>8 d16]~ |
d8-[\< d16^(\! <c e>8\> <b f'>16)\!] |
% todo fix this slur
\once \override Slur.control-points = #'((1.5 . -1.5) (3.5 . 0.5) (6 . 1) (8.5 . -0.83))
d8-[^(\<\repeatTie <c e>16\! <b f'>8\> <c e>16)]\! s8. |
}
}
>>
%-----------------------------------------------------------------
% Variation 1, part 2
%-----------------------------------------------------------------
<<
\new Voice {
\voiceOne
\repeat volta 2 {
\relative c'' {
c4. \p c8( b16) |
b4. b8( e16) |
<b e>8.-[ <c e>_( <b d>8 <a c>16]) |
<a c>8.-[_( <gs b> <e a c>]) |
\once \override TextSpanner.outside-staff-priority = ##f
\once \override TextSpanner.Y-offset = #-5
\once \override TextSpanner.bound-details.left.text = #"cresc. "
<g b d>4. \startTextSpan <g b d>8. |
<g c e>4. <a c f>8. |
<g b d>8.-[ <g b d>] <b d>8-[( <d g>16]) \stopTextSpan
}
}
\alternative {
{
\relative c'' {
\stemDown <b d g>8(\sf\> <g c e>16) <g c e>8.\! \p \stemUp e8. \stemNeutral
}
}
{
\relative c'' {
<b d g>8(\sf\> <g c e>16) <g c e>8.\! \p c8_(_\markup { \italic "dolce" } e,16
\bar ".|:"
}
}
}
%-------------------------------------------------------------
% Variation 2, part 1
%-------------------------------------------------------------
\repeat volta 2 {
\relative c'' {
a8 e16 g8 f16 d'8 d,16 |
g8_\markup { \italic "sempre legato" } d16 f8 e16 g8 f16 |
a8 g16 e'8 e,16 c'8 e,16) |
<ef c'>8( <d b'>16 <c a'>8 <b g'>16 <c a'>8 <d b'>16 |
\stemUp
c'8\< e,16 e'8 g,16 g'8 bf,16)\! |
g'8(\> a,16 f'8 a,16 d8 c16)\! |
c8-[( b16 c8 cs16] cs16 <d g,> g,) |
}
}
\alternative {
{
\relative c'' {
% Move down the volta brackets, since there's just one
% slur pushing them up.
\once \override Score.VoltaBracket.extra-offset = #'(0 . -1.8)
g4. c8( e,16)
}
}
{
\relative c'' {
\once \override Score.VoltaBracket.extra-offset = #'(0 . -1.8)
g8.~g16\>-[( gs a\! b e, e]) |
\set Timing.measureLength = #(ly:make-moment 3/16)
c'8^\( e,16
\bar ".|:"
}
}
}
%-------------------------------------------------------------
% Variation 2, part 2
%-------------------------------------------------------------
\repeat volta 2 {
\set Timing.measureLength = #(ly:make-moment 6/16)
f,8\> e16\! c'8 <e, c>16 |
\set Timing.measureLength = #(ly:make-moment 9/16)
% todo check with manuscript
b'8\< <b, e>16\)\!_\( <c e>16\> c' b\! c( <e, b'>\)) <e' b>( |
f8 e16) e8( d16) d c c~ |
% fixme these ties are too short
\once \override TextSpanner.outside-staff-priority = ##f
\once \override TextSpanner.Y-offset = #-5
\once \override TextSpanner.bound-details.left.text = #"cresc. "
<c a>16 \startTextSpan <b gs>
\once \override Tie.minimum-length = #2.75
<b gs>_~_( <b gs> <c e,>) <c e,>_~_( <c e,> <d b>)\stopTextSpan <d b> \p |
% todo merge notes
\mergeDifferentlyDottedOn
<d b>4. <ds b>8. |
e8. e8( g16) g8( f16) |
e8-[ d16 cs8 d16] d16 a' g |
}
\alternative {
{
\relative c'' {
g'16-[\sf f\> e] f-[ e]\! e,-[ f e e]_( |
\set Timing.measureLength = #(ly:make-moment 3/16)
c'8 <c, e>16)
}
}
{
\relative c'' {
\set Timing.measureLength = #(ly:make-moment 6/16)
\stemDown <g' d>16-[\sf <f b,>\> <e c>] <f c>-[ <e c> <e c>]\! |
}
}
}
\repeat volta 2 {
\relative c' {
\arietta-section-two
\set Timing.measureLength = #(ly:make-moment 3/16)
b'8.\rest |
\set Timing.measureLength = #(ly:make-moment 6/16)
r8 r8 r8 |
r8
}
}
}
\new Voice {
\voiceTwo
\relative c' {
e4. e8. |
e4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s8. s8. g8 b16 |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. bf8 g16 |
a8 g16 a8 s16 a8 fs16 |
<f d>8. <f d>8.~<f d>16 <f d> <f d> |
% todo fix this slur
<d f>16^(\< e d\! c\> d b)\! s8 s16 |
<d f>16\<-[ e f\! e <d e> <c e>] <b e> <c e> d |
s8 c16 |
<b d>8. s8. |
s8
\stemUp
\override NoteColumn.ignore-collision = ##t
\single \hide Stem
e16^~^[
\single \hide Stem
e16]
\revert NoteColumn.ignore-collision
s8 s8 \stemDown
\single \hide Stem
b'16~ |
b16\< b\! c\> c8\! gs16 gs16 a a~ |
\single \hide Stem
a16 s8 s8. s8. \stemDown |
%todo Can we improve this crescendo spanner?
\once \override TextSpanner.outside-staff-priority = ##f
\once \override TextSpanner.Y-offset = #-8
\once \override TextSpanner.bound-details.left.text = #"cresc. "
b8-[_(\startTextSpan f16 e8 f16]) b8-[ f16] |
bf8 e,16 <bf' g>8 <bf e>16 a8. |
<f b>8. <f b>8. <b d>8 d16\stopTextSpan |
d16 b c~c-[~c] s8 s8 |
s8. |
s16 s
\override NoteColumn.ignore-collision = ##t
\single \hide Stem c-[~ \single \hide Stem c~ \single \hide Stem c]
\revert NoteColumn.ignore-collision
s16 |
}
}
>>
}
}
%---------------------------------------------------------------------
% Left hand
%---------------------------------------------------------------------
\new Staff = "left" \with {
midiInstrument = "acoustic grand"
} {
\clef bass \relative c, {
\arietta-section-one
%-----------------------------------------------------------------
% Variation 1, part 1
%-----------------------------------------------------------------
<<
\new Voice {
\voiceOne
\repeat volta 2 {
\relative c, {
<c g'>8. |
<c g'>8.-[ <d g> <b g'>] |
<b g'>8.-[ <c g'> <d g>] |
<e g>8.-[ <c g'> <e g>] |
\once \override PhrasingSlur.eccentricity = #2.0
\once \override PhrasingSlur.height-limit = #5
g,8.-[_\( g' g8^( f16 ] |
% todo fix slur
<e, e'>4.)\) <e e'>8. |
<d d'>4. <f f'>8_( <fs fs'>16) |
g'8.-[( a b8) b16]_~ |
b8-[ b16_( c8 d16)] |
b8-[_(_\repeatTie c16 d8 c16]) e8. |
}
}
}
\new Voice {
\voiceTwo
\relative c, {
s8. |
s4. s8. |
s4. s8. |
s4. s8. |
g4.~g8 f16 |
s4. s8.
s4. s8. |
g4. s8. |
}
}
>>
%-----------------------------------------------------------------
% Variation 1, part 2
%-----------------------------------------------------------------
<<
\new Voice {
\voiceOne
\repeat volta 2 {
\relative c {
a8.-[ e'8. e8.] |
gs,8.-[ e'8. e8.] |
<gs, e'>8.-[ <a e'>8. <a e'>8.] |
e8.-[ e'8. <a, a,>8.] |
<g, g'>4. <g g'>8. |
<c c'>4. <f, f'>8. |
<g g'>8.-[ <g g'>8. <g g'>8 <g g'>16] |
<g g'>8_( <c c'>16) <c c'>8. e'8. |
<g,, g'>8_( <c c'>16) <c c'>16( g'' f \stemDown e c g')~ \stemNeutral |
g16\( cs, g'~g d g~g as, g'~ |
g16 b, g'~g c, g' e d g~ |
g16 ds e g c, g'~g e g~ |
g16 fs, g'16~g g, g'~g f, g'~ |
g16 e, g'~g c,, e'~e c, e'~ |
e16\) cs, e'~e d, f' fs fs, a' |
af16^( g, g' a g, bf'~bf) b b |
b16^( c f, e f d) e c
% note: repeattie modified to go forward
\once \override RepeatTie.control-points = #'((1 . 2.24) (1.5 . 2.75) (2.0 . 2.75) (2.5 . 2.24))
g'\repeatTie |
b16-[^( c d c b a gs a b]) |
c16 a, e'~ |
e16_( gs, e'~e a, e'~ |
e16 gs, e'~e a, e'~e gs, gs'~ |
gs16)_\markup { \italic "sempre legato" } gs a~a a b~b c d |
ds16 c c~c a a~a g g~_( |
g16 g, g'~g g, g'~g g, g'~ |
g16) c,, c'~c c, c'~c f,, f' |
g16 g, g'~g g, g'~g g, b' |
s16 \stemUp g'16 g( a g) s4 |
s16 s16 s16 |
s16 g-[ g] a g g \stemNeutral |
c16-[_\markup { \italic "dolce" } g32 fs16 g32]
}
}
}
\new Voice {
\voiceTwo
\relative c {
a4. a8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
s4. s8. |
b16 g c~c~c e^( f e) e^~ |
e16 a,
% note: repeattie modified to go forward rather than backwards
\once \override RepeatTie.control-points = #'((1 . 1.24) (1.5 . 1.75) (2.0 . 1.75) (2.5 . 1.24))
e'\repeatTie |
b16 g c~c8 c16
}
}
>>
}
}
>>
\layout {
\context {
\Score
% Set the score to a default note value of one crotchet.
\override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/8)
\consists #Span_stem_engraver
}
}
\midi {
\tempo 4 = 96
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment