File:Peacherine Rag.pdf
Original file (1,239 × 1,752 pixels, file size: 105 KB, MIME type: application/pdf, 4 pages)
Captions
Summary edit
DescriptionPeacherine Rag.pdf | |
Date | |
Source | Faithful transcription from Scott Joplin: Complete Piano Works, Fourth Edition, pages 30–33. Both the copyright of the original work (first published 1896, composer died 1917) and of the critical edition that the work is transcribed from (first published 1971, fourth edition published 1981) should be expired by now. |
Author |
Original: Scott Joplin Restoration: Vera Brodsky Lawrence (editor) Vectorization: Galaktos (LilyPond) |
LilyPond source
The musical notation in this image was rendered by LilyPond, a free-software engraving program. Here is a listing of the LilyPond source used to create this file. |
\version "2.18.2"
\header {
title = "Peacherine Rag"
composer = "Scott Joplin"
copyright = "1901 by John Stark & Son"
tagline = ##f
page-count = 4
}
% helper command to print title and composer in uppercase in the title while keeping them in regular case for the metadata
#(define-markup-command (uppercase-property layout props symbol) (symbol?)
(let ((property (chain-assoc-get symbol props)))
(interpret-markup layout props
(string-upcase property))))
% helper command to get the page-count (number) as a string for the footer
#(define-markup-command (string-property layout props symbol) (symbol?)
(let ((property (chain-assoc-get symbol props)))
(interpret-markup layout props
(number->string property))))
% http://lsr.di.unimi.it/LSR/Snippet?id=861
#(define ((shift offsets) grob)
"Defines how NoteHeads should be moved according to the given list of offsets."
(let* (
;; NoteHeads
;; Get the NoteHeads of the NoteColumn
(note-heads (ly:grob-array->list (ly:grob-object grob 'note-heads)))
;; Get their durations
(nh-duration-log
(map
(lambda (note-head-grobs)
(ly:grob-property note-head-grobs 'duration-log))
note-heads))
;; Get their length in X-axis-direction
(stencils-x-lengths
(map
(lambda (x)
(let* ((grob-x-ext (ly:grob-extent x grob X)))
(if (interval-sane? grob-x-ext)
(interval-length grob-x-ext)
0)))
note-heads))
;; Stem
(stem (ly:grob-object grob 'stem))
(stem-thick (ly:grob-property stem 'thickness 1.3))
(stem-x-width (if (ly:grob? stem)
(let ((stem-x-ext (ly:grob-extent stem grob X)))
(if (interval-sane? stem-x-ext)
(interval-length stem-x-ext)
(/ stem-thick 10)))
;; Fall back
;; TODO is it ever used?
(/ stem-thick 10)))
(stem-dir (ly:grob-property stem 'direction))
;; Calculate a value to compensate the stem-extension
(stem-x-corr
(map
(lambda (q)
;; TODO better coding if (<= log 0)
(cond ((and (= q 0) (= stem-dir 1))
(* -1 (+ 2 (* -4 stem-x-width))))
((and (< q 0) (= stem-dir 1))
(* -1 (+ 2 (* -1 stem-x-width))))
((< q 0)
(* 2 stem-x-width))
(else (/ stem-x-width 2))))
nh-duration-log)))
;; Final Calculation for moving the NoteHeads
(for-each
(lambda (nh nh-x-length off x-corr)
(if (= off 0)
#f
(ly:grob-translate-axis! nh (* off (- nh-x-length x-corr)) X)))
note-heads stencils-x-lengths offsets stem-x-corr)))
displaceHeads =
#(define-music-function (parser location offsets) (list?)
"
Moves the NoteHeads, using (shift offsets)
"
#{
\once \override NoteColumn.before-line-breaking = #(shift offsets)
#})
\paper {
% based on the default value in ly/titling-init.ly
bookTitleMarkup = \markup {
\override #'(baseline-skip . 3.5)
\column {
\fill-line { \fromproperty #'header:dedication }
\override #'(baseline-skip . 8.5)
\column {
\fill-line {
\huge \larger \larger \larger
\concat { \uppercase-property #'header:title "." }
}
\fill-line {
"" % no poet
"" % no instrument
\concat { "by " \uppercase-property #'header:composer "." \hspace #1 }
}
\vspace #1.5
}
}
}
evenFooterMarkup = \markup {
\on-the-fly \not-first-page \column {
\fill-line {
""
\tiny \italic \fromproperty #'header:title
""
}
\fill-line {
\bold \concat { \string-property #'header:page-count "_" \string-property #'header:page-count }
""
""
}
}
}
oddFooterMarkup = \markup {
\on-the-fly \first-page \column {
\fill-line {
""
\tiny \italic \concat { "Copyright " \fromproperty #'header:copyright "." }
""
}
\fill-line {
\bold \concat { \string-property #'header:page-count "_" \string-property #'header:page-count }
""
""
}
}
\on-the-fly \not-first-page \column {
\fill-line {
""
\tiny \italic \fromproperty #'header:title
""
}
" "
}
}
print-page-number = ##f
}
\layout {
\context {
\Score
\omit BarNumber
\override NonMusicalPaperColumn.line-break-permission = ##f
\override NonMusicalPaperColumn.page-break-permission = ##f
}
}
\score {
\new PianoStaff <<
\accidentalStyle piano
\new Staff = "RH" {
\clef "violin"
\key es \major
\time 2/4
\tweak padding #4 \tempo "Not too fast."
\relative es'' {
% Intro
es16 f g f~ f8 bes, |
f'16 g as g~ g8 bes, |
c16 c8 b16 c d es8 |
\once \autoBeamOff bes8 bes~ bes16 g as a | \bar ".|:-||" \break
% Part A
\repeat volta 2 {
bes8 <g es'> <g d'> <g c> |
<g bes>16 <g es'>8 <g d'>16~ q c bes g |
<g bes>8 <g es'> <g d'> <g c> |
\stemUp <as bes>16 <as d>8 <as c>16~ q bes f g | \stemNeutral \break
as8 <as d> <as c> <as bes> |
as16 <as d>8 <as c>16~ q bes d f |
<as, d as'>8 q4 <a es' a>8 |
<< { \voiceTwo <bes~ es~ bes'-\tweak Tie.direction #UP \shape #'((-0.5 . 0.5) (0 . 1.5) (0 . 1.5) (0.5 . 0.5)) ~>4 q16 g as a | } \\ { \voiceOne g''8\rest es,16 f \once \stemUp g r16 r8 | } >> \oneVoice | \break
bes,8 <g es'> <g d'> <g c> |
<g bes>16 <g es'>8 <g d'>16~ q c bes g |
<g g'>8 <g b g'>4 <g b f'>8 |
<< { \voiceTwo <g c es>4. c8 | } \\ { \voiceOne r c'16 d es8 r | } >> \oneVoice | \pageBreak
<c, es f> q <c es fis> q |
<bes es g>16 q8 <bes bes'>16 \displaceHeads #'(1 -1 0 0) <bes c e as>8 \displaceHeads #'(1 -1 0 0) <bes c e g> |
<a g'>16 q8 <a \single \omit Accidental es'>16 << { \voiceTwo as4 } \\ { \voiceOne f'16( es) <as, f'>8 } >> \oneVoice |
}
\alternative {
{ <g es'>4~ q16 g as a | }
{ q4~ q8 r | \bar ".|:-||" \break }
}
% Part B
\key bes \major
\repeat volta 2 {
r <a es' f>[ <a es' g> <a es' f>] |
r <es' a c>[ <es a d> <es a c>] |
r <d bes'>[ <d a'> <d g>] |
<d g>16 f e f~ f g f8 |
r <\single \omit Accidental es a es'>[ q <es a d>] | \break
<< { \voiceTwo <es a>4. r8 } \\ { \voiceOne d'16 c b c~ c \once \slurDown f( f,8) } >> \oneVoice |
r <d \single \omit Accidental bes' d>[ <d f d'> <d f c'>] |
<< { \voiceTwo <d f>4. r8 } \\ { \voiceOne c'16 bes a bes~ bes \once \slurDown f'( f,8) } >> \oneVoice |
r <a, es' f>[ <a es' g> <a es' f>] | \break
r <es' a c>[ <es a d> <es a c>] |
r <d bes'>[ <d a'> <d g>] |
<d g>16 f e f~ f d es f |
<g, g'> <bes es> <g g'> <a a'>~ q <g g'>8 <bes es>16 | \break
<f f'> <bes d> <f f'> <g g'>~ q <f f'>8 bes16 |
<e, bes' d> q8 q16 \once \slurUp <es a c>( bes') <es, c'>8 |
}
\alternative {
{ <d bes'>4~ q8 r | }
{ q4 <d as' bes> | \bar "||" \pageBreak }
}
% Part A'
\key es \major
bes'8 <g es'> <g d'> <g c> |
<g bes>16 <g es'>8 <g d'>16~ q c bes g |
<g bes>8 <g es'> <g d'> <g c> |
\stemUp <as bes>16 <as d>8 <as c>16~ q bes f g | \stemNeutral
as8 <as d> <as c> <as bes> | \break
as16 <as d>8 <as c>16~ q bes d f |
<as, d as'>8 q4 <a es' a>8 |
<< { \voiceTwo <bes~ es~ bes'-\tweak Tie.direction #UP \shape #'((-0.5 . 0.5) (0 . 1.5) (0 . 1.5) (0.5 . 0.5)) ~>4 q16 g as a | } \\ { \voiceOne g''8\rest es,16 f \once \stemUp g r16 r8 | } >> \oneVoice |
bes,8 <g es'> <g d'> <g c> |
<g bes>16 <g es'>8 <g d'>16~ q c bes g | \break
<g g'>8 <g b g'>4 <g b f'>8 |
<< { \voiceTwo <g c es>4. c8 | } \\ { \voiceOne r c'16 d es8 r | } >> \oneVoice |
<c, es f> q <c es fis> q |
<bes es g>16 q8 <bes bes'>16 <bes e as>8 <bes e g> |
<a g'>16 q8 <a \single \omit Accidental es'>16 << { \voiceTwo as4 } \\ { \voiceOne f'16( es) <as, f'>8 } >> \oneVoice |
<g es'>4 <g des' es>8 r | \bar ".|:-||" \break
\key as \major
% Part C
\repeat volta 2 {
\stemDown <es es'>16 c' q as c q8 as16 | \stemNeutral
<es c'> a q <es a des>~ q <es a c>8 a16 |
<d, f as c>8 \displaceHeads #'(0 0 1 -1) <d f as bes>16 <d~ f~ as-\tweak Tie.direction #UP ~ c~> q bes' as f |
<d as' c>8 \displaceHeads #'(0 1 -1) <d as' bes>16 <d as' c>~ q bes' as f |
<< { \voiceTwo es8. \once \slurUp f32( g) bes16 <f des'>8 g16 | } \\ { \voiceOne des'4 r | } >> \oneVoice | \break
<< { \voiceTwo es,8. \once \slurUp f32( g) bes16 <f des'>8 f16 | } \\ { \voiceOne des'4 r | } >> \oneVoice |
\stemDown <es, c'>8 <e c'>16 <f c'>~ q <as c>8 <f c'>16 |
<es c'>8 <e c'>16 <f c'>~ q8. as32( c) |
<\single \omit Accidental es, es'>16 c' q as c q8 as16 |
<es c'> a q <es~ a-\tweak Tie.direction #UP ~ des~> q <es a c>8 a16 | \stemNeutral \pageBreak
<d, f as c>8 \displaceHeads #'(0 0 1 -1) <d f as bes>16 <d~ f~ as-\tweak Tie.direction #UP ~ c~> q bes' as f |
<d as' c>8 \displaceHeads #'(0 1 -1) <d as' bes>16 <d as' c>~ q bes' as f |
<< { \voiceTwo es8. \once \slurUp f32( g) bes16 <f des'>8 g16 | } \\ { \voiceOne des'4 r | } >> \oneVoice |
es,16 g f g des' <des, g>8 <c as'>16~ | \break
}
\alternative {
{
q2~ |
\once \autoBeamOff q8 \acciaccatura f' es \acciaccatura f, \once \stemDown es as16 c |
}
{
q2~ |
q8 r <as c as'> es |
}
}
% Part D
\repeat volta 2 {
\once \stemDown g16 bes8 c16 des8 g16 f | \break
<des es>8 q4 es,8 |
as16 c8 des16 es8 as16 f |
<c es>8 q4 q8 |
<des f>16 q8 q16~ q as' bes as |
<c, c'>8 q~ q16 <es es'> <d d'> <c c'> | \break
<bes bes'> g' c bes as d,8 bes'16 |
es,8 r <es g es'> es, |
\once \stemDown g16 bes8 c16 des8 g16 f |
<des es>8 q4 es,8 |
as16 c8 des16 es8 as16 f | \break
<c es>8 q4 q8 |
<des f>16 q8 <b f'>16~ \stemUp q as'( g f) \stemNeutral |
<c es>8 q~ q16 es c \once \omit Accidental bes |
<d, as'>8 q <des g bes>16 q8 es16 |
}
\alternative {
{ \stemDown <c as'>8 es'16 es es8 es, | \stemNeutral }
{ q4 <as c as'>8 r | \bar "|." \tweak outside-staff-priority #550 \mark \markup { \teeny \fermata } }
}
}
}
\new Staff = "LH" {
\clef "bass"
\key es \major
\relative es {
% Intro
es16 f g f~ f8 bes, |
f'16 g as g~ g8 bes, |
c16 c8 b16 c d es8 |
bes8 bes4 r8 |
% Part A
\repeat volta 2 {
es <g bes es> bes, q |
es q bes q |
es q bes q |
f' <as bes d> bes, q |
f' q bes, q |
f' q bes, q |
f' <bes d> fis <fis c' es> |
<< { \voiceTwo g <bes es> } \\ \voiceOne g4 >> \oneVoice q8 r |
es <g bes es> bes, q |
es q bes q |
b <g' d' f> g, q |
c <g' c es> q r |
<as, as'>4 <a a'> |
<bes bes'>8 <g' bes es> c, <g' bes c e> |
<f c' es> q <bes d> q |
}
\alternative {
{ <es, es'> <g bes es> q r | }
{ <es es'> <bes bes'> <es, es'> f | }
}
% Part B
\key bes \major
\repeat volta 2 {
c' <f c' es> f, q |
c' <f a es'> f, q |
bes <f' bes d> f, q |
bes q f q |
c' <f c' es> f, <f' a es'> |
c q f, q |
bes <f' bes d> f, q |
bes q f q |
c' <f c' es> f, q |
c' <f a es'> f, q |
bes <f' bes d> f, q |
bes q d q |
<es, es'> q <f f'> <es es'> |
<d d'> q <es es'> <d d'> |
<c c'> q <f f'> q |
}
\alternative {
{ <bes bes'> <f' bes> q f, | }
{ <bes bes'> <f f'> <bes, bes'>4 | }
}
% Part A'
\key es \major
es'8 <g bes es> bes, q |
es q bes q |
es q bes q |
f' <as bes d> bes, q |
f' q bes, q |
f' q bes, q |
f' <bes d> fis <fis c' es> |
<< { \voiceTwo g <bes es> } \\ \voiceOne g4 >> \oneVoice q8 r |
es <g bes es> bes, q |
es q bes q |
b <g' d' f> g, q |
c <g' c es> q r |
<as, as'>4 <a a'> |
<bes bes'>8 <g' bes es> c, <g' c e> |
<f c' es> q <bes d> q |
<es, es'> <bes bes'> <es, es'> r |
\key as \major
% Part C
\repeat volta 2 {
<as as'> <es' as c> <es, es'> <es' as c> |
<a, a'> q <f f'> q |
<d d'> q <bes bes'> q |
<f' f'> q <bes, bes'> q |
<es es'> <es' g \single \omit Accidental des'> <g, g'> <es' bes' des> |
<bes bes'> <es g des'> <es, es'> <es' g des'> |
<as, as'> <es' as c> <es, es'> <es' as c> |
<as, as'> <es' as c> <es, es'> <es' as c> |
<as, as'> <es' as c> <es, es'> <es' as c> |
<a, a'> q <f f'> q |
<d d'> q <bes bes'> q |
<f' f'> q <bes, bes'> q |
<es es'> <es' g \single \omit Accidental des'> <g, g'> <es' bes' des> |
<bes bes'> <es g des'> <es, es'> <es' g bes> |
}
\alternative {
{
<as, as'> <es es'>16 <f f'>~ q <es es'> <f f'> <g g'> |
<as as'>8 r r4 |
}
{
q8 <es es'> <f f'>16 <es es'>8 <c c'>16 |
<as as'>8 r q r |
}
}
% Part D
\repeat volta 2 {
<bes' bes'> <es g des'> <es, es'> <es' bes' des> |
<g, g'> <es' bes' des> <es, es'> <es' g des'> |
<as, as'> <es' as c> <es, es'> <es' as c> as, q \once \stemDown c, q |
des <f' as des> des, <fes' as des> |
as, <es' as c> a, <fis' a c es> |
bes, <g' bes es> bes, <\single \omit Accidental f' \single \omit Accidental as bes d> |
<es g bes es> <g, g'>16 <bes bes'> <es, es'>8 r |
<bes' bes'> <es g des'> <es, es'> <es' bes' des> |
<g, g'> <es' bes' des> <es, es'> <es' g des'> |
<as, as'> <es' as c> <es, es'> <es' as c> as, q \once \stemDown c, q |
des <f' as des> \once \stemDown d, <f' as b> |
es, <es' as c> <es, es'> <e e'> |
<f f'> q <es es'> <g g'> |
}
\alternative {
{ <as as'> r r4 | }
{ q8 <es es'> <as, as'> r | }
}
}
}
>>
}
Licensing edit
Public domainPublic domainfalsefalse |
This work is in the public domain in its country of origin and other countries and areas where the copyright term is the author's life plus 70 years or fewer. This work is in the public domain in the United States because it was published (or registered with the U.S. Copyright Office) before January 1, 1929. | |
This file has been identified as being free of known restrictions under copyright law, including all related and neighboring rights. |
https://creativecommons.org/publicdomain/mark/1.0/PDMCreative Commons Public Domain Mark 1.0falsefalse
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 22:27, 23 March 2018 | 1,239 × 1,752, 4 pages (105 KB) | Galaktos (talk | contribs) | User created page with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on www.wikidata.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Short title |
|
---|---|
Author | Scott Joplin |
File change date and time | 00:25, 24 March 2018 |
Date and time of digitizing | 00:25, 24 March 2018 |
Software used | LilyPond 2.18.2 |
Conversion program | GPL Ghostscript 9.22 |
Encrypted | no |
Page size | 595.28 x 841.89 pts (A4) |
Version of PDF format | 1.4 |