Compare commits

...

10 Commits

Author SHA1 Message Date
contrapunctus 320a6c173f Update XMPP address 2023-03-20 22:45:55 +05:30
contrapunctus 562d6959e2 Add tuning 2023-03-20 22:45:34 +05:30
contrapunctus 422177c1dd Update build script 2023-03-20 22:45:01 +05:30
contrapunctus 4d7226f9f8 Add mkly rules 2020-12-20 12:58:34 +05:30
contrapunctus 4976297453 Use opus field for opus number 2020-12-20 12:58:12 +05:30
contrapunctus f1f389109d Remove last name 2020-12-20 12:57:58 +05:30
Kashish Sharma 65b75f783e Allegro - use barNumberCheck instead of comments, organize paragraphs by phrases 2019-02-13 21:26:07 +05:30
Kashish Sharma f188e02013 Introduction - fix stem direction 2019-02-13 20:45:58 +05:30
Kashish Sharma a852f83b62 Allegro, voice 1 and 2 - finish adding music 2018-12-24 22:31:00 +05:30
Kashish Sharma f559b68314 Voice 2, Allegro - add bars 179-219 2018-12-21 16:25:49 +05:30
6 changed files with 559 additions and 277 deletions

View File

@ -1,85 +0,0 @@
#!/usr/bin/guile -s
!#
(use-modules
(ice-9 match)
(srfi srfi-1)
(ice-9 format)
(ice-9 regex))
;; (format #t "~2%")
(define *options*
'("pac" "size"))
(define *project-name*
(regexp-substitute #f (string-match ".*/" (getcwd)) 'post))
;; Looks through the args list for the first occurrence of each valid
;; option from *options*
(define get-valid-args
(lambda (cli-args)
;; (format (current-error-port) "cli-args - ~s~%" cli-args)
(map (lambda (opt)
(find (lambda (cli-word)
(string-match
(string-append "^" opt)
cli-word))
cli-args))
*options*)))
;; changes args into a key-value alist
(define valid-args->alist
(lambda (valid-args)
;; (format (current-error-port) "valid-args - ~s~%" valid-args)
(map (lambda (arg)
(and arg
(string-contains arg "=")
(cons
(regexp-substitute #f (string-match "=" arg) 'pre)
(regexp-substitute #f (string-match "=" arg) 'post))))
valid-args)))
(if (< (length (command-line)) 2)
(format #t "~a~%" "Usage: build.scm TARGET [ARG=VALUE]*")
(let* ((cli-args (command-line))
(target (cadr cli-args))
(valid-args (get-valid-args cli-args))
(args-alist (valid-args->alist valid-args))
(size (match (assoc-ref args-alist "size")
("a4" "-a4")
(_ "")))
(pac (match (assoc-ref args-alist "pac")
("off" "-dno-point-and-click ")
(_ "")))
(ly-command (string-append "lilypond "
pac
"-o \"output/"
*project-name*
(match target
("main" "")
(_ (string-append "-" target)))
(match pac
("" "-pacON")
(_ ""))
(match size
("" "")
(_ "-"))
size
"\" "
target size ".ly")))
;; (format (current-error-port)
;; (string-append
;; "cli-args - ~s~%"
;; "target - ~s~%"
;; "valid-args - ~s~%"
;; "args-alist - ~s~%"
;; "size - ~s~%"
;; "pac - ~s~%")
;; cli-args
;; target
;; valid-args
;; args-alist
;; size
;; pac)
(format #t "~2%~a~2%" ly-command)
(system ly-command)))

View File

@ -5,11 +5,17 @@ common = {
\time 2/4
}
guitarTuning = \mark \markup \column {
\line {
\override #'(font-size . 0.05) { \circle 6 }
\small "= D2"
}
}
copyright = \markup \center-column {
\smaller {
\concat {
"The author (contrapunctus/Kashish Sharma, "
\with-url #"xmpp:contrapunctus@jabber.fr" {xmpp:contrapunctus@jabber.fr}
"The author (contrapunctus/Kashish, "
\with-url #"xmpp:contrapunctus@jabjab.de" {xmpp:contrapunctus@jabjab.de}
") of this edition of a"
}
% \raise #1

View File

@ -9,9 +9,9 @@
\header {
title = \markup \fontsize #3.5 "Grande Solo"
% title = "Grande Solo"
subsubtitle = "Op. 14"
composer = "Fernando Sor"
copyright = \copyright
opus = #14
}
\include "music/1-introduction/guitar.ly"

235
mkly Executable file
View File

@ -0,0 +1,235 @@
#!/usr/bin/guile -s
!#
(use-modules
(ice-9 match)
(srfi srfi-1)
(ice-9 format)
(ice-9 regex)
(ice-9 popen)
(ice-9 rdelim)
(ice-9 getopt-long))
(define rest cdr)
;; (define (debug . args)
;; (format
;; (current-error-port) "~%~{~a - ~s~%~}~%"
;; (list 'command-line (command-line)
;; 'target target
;; 'rules rules
;; 'selected-rule selected-rule
;; 'action action)))
(define option-spec
'((version (single-char #\v))
(help (single-char #\h))
(debug (single-char #\d))
(load (single-char #\l) (value #t) ;; (predicate file-exists?)
)))
(define options (getopt-long (command-line) option-spec))
(format (current-error-port)
"debug ~s~%"
(option-ref options 'debug #f))
(define (debug format-string . args)
(when (option-ref options 'debug #f)
(apply format (current-error-port) format-string args)))
;; Return the parent directory component of PATH, or #f if none is present.
(define (parent path)
(if path
(let ((match (string-match (format #f "/~a$" (basename path)) path)))
(if match (regexp-substitute #f match 'pre "/") #f))
#f))
;; Return the basename of the current working directory.
(define (getcwd-base) (basename (getcwd)))
;; If ARG is truthy, return "-<ARG>", else return "".
(define (file-name-part arg)
(if arg (format #f "-~a" arg) ""))
;; Return FILE name without the extension, or FILE if there is no extension.
(define (file-name-no-extension file)
(let ((rindex (string-rindex file #\.)))
(if rindex
(xsubstring file 0 rindex)
file)))
;; Create DIR if it does not exist.
;; Raise an error if DIR does exist, but is not a directory.
;; Return DIR.
(define (use-dir! dir)
(unless (file-exists? dir)
(mkdir dir))
(unless (file-is-directory? dir)
(error (format #f "File ~s already exists and is not a directory" dir)))
dir)
;; Return the output of running COMMAND with ARGS in the system shell.
(define (shell-result command . args)
(let* ((port (apply open-pipe* (append `("open_read" ,command) args)))
(output (read-line port)))
(close-pipe port)
output))
;; Return the current branch of the project's version control system,
;; or #f if no version control system was detected.
(define (vcs-current-branch)
(cond ((file-exists? ".git")
;; we were using `git rev-parse --abbrev-ref HEAD' before,
;; but that sometimes resulted in an error - `fatal:
;; ambiguous argument 'HEAD': unknown revision or path not in
;; the working tree.'
(shell-result "git" "symbolic-ref" "--short" "HEAD"))
((file-exists? ".hg")
(shell-result "hg" "identify" "-b"))
;; ((or (file-exists? ".fslckout")
;; (file-exists? "_FOSSIL_")))
;; ((file-exists? ".bzr"))
;; ((file-exists? "_darcs"))
;; ((file-exists? ".svn"))
(else #f)))
(define (flatten seq)
(cond ((null? seq) '())
((not (pair? seq)) (list seq))
(else (append (flatten (car seq))
(flatten (rest seq))))))
;; Flatten and convert list ARG to a string, with each element
;; separated by spaces.
(define (list->command-line arg)
(format #f "~{~s ~}" (flatten arg)))
;; Run ARG in the system shell. ARG must be a list with elements of
;; any type. Return the exit status.
(define (run arg)
;; (format (current-error-port) "~%mkly: run: ~s~2%" (list->command-line arg))
(system (list->command-line arg)))
(let ((load-values (option-ref options 'load #f)))
(cond ((not load-values) #f)
((pair? load-values)
(debug "loading files ~s~%" load-values)
(map load load-values))
(else
(load load-values)
(debug "loading file ~s~%" load-values))))
(define shell-path "/usr/bin/bash")
(define project-root (getcwd))
(define project-name (getcwd-base))
;; Return a list of build rules.
;;
;; TARGET is a single target passed on the command line, or "" if none
;; was supplied. (If multiple targets are passed on the command line,
;; this function will be called once with each target.)
;;
;; Return value is a list of rules, where each rule is a list in
;; the form (PATTERN COMMAND [ARG ...])
;;
;; PATTERN can be
;; * a symbol - COMMAND will be run when the target passed on the
;; command line matches this symbol;
;; * a string - treated as a regular expression; COMMAND will be run
;; when it matches the target passed on the command line
;;
;; COMMAND and arguments can be any value - lists will be flattened,
;; all values will be converted to strings, and spaces will be added.
;; String values will be quoted, which is useful for escaping file
;; names in the final command to be run.
(define (rules target)
;; if TARGET is a subdirectory in the project root, descend to it
;; before executing the action
(let* ((subdir (parent target))
(branch (vcs-current-branch))
(dest (begin
(when subdir
(chdir subdir)
(set! project-name (getcwd-base)))
(use-dir! (format #f "~:[output-~a~;output/~]" branch branch)))))
;; A main.ly could also exist both in the root and in the
;; sub-directories, but this will just compile the root main.ly regardless.
`((all main.ly part-*.ly)
(dev lilypond
-o ,(string-append dest project-name "-pacON")
main.ly)
(main.ly lilypond -dno-point-and-click
-o ,(string-append dest project-name)
,target)
("part-.*\\.ly" lilypond -dno-point-and-click
-o ,(string-append
dest project-name "-" (file-name-no-extension target))
,target))))
;; Return a rule from RULES which matches TARGET
;;
;; RULES must be a list (see procedure `rules'), where each element is
;; in the form (PATTERN COMMAND [ARGS ...])
;;
;; TARGET must be a string.
;; If it is empty, return the first rule in RULES.
;; If it is `equal?' to a PATTERN string or to the name of a PATTERN
;; symbol, or if TARGET is matched by a PATTERN regular expression,
;; return the rule whose TARGET matched.
(define (select-rule rules target)
(if (null? rules)
(begin (debug "mkly: no matching rule") #f)
(let* ((rule (first rules))
(pattern (first rule))
(rule-command (rest rule)))
;; (format (current-error-port) "~%rule - ~s~%pattern - ~s~%" rule target)
(cond ((equal? "" target) rule)
((and (string? pattern)
(string-match pattern target))
;; (format #t "~%mkly: running ~s~%" rule-command)
rule)
((and (symbol? pattern)
(equal? target (symbol->string pattern)))
;; (format #t "~%mkly: running ~s~%" rule-command)
rule)
(else (select-rule (rest rules) target))))))
;; target ::= action -> run
;; | target -> for each target, recurse with new target
(define (run-rule-for target)
(let* ((rules (rules target))
(selected-rule (flatten (select-rule rules target)))
;; Support for actions which call mkly itself. Do we really want this?
(action (if (equal? "./mkly" (first (command-line)))
(map (lambda (it)
(if (or (eq? it 'mkly)
(equal? it "mkly"))
(string-append (getcwd) "/mkly")
it))
(rest selected-rule))
(rest selected-rule))))
(debug "~%~{~a - ~s~%~}~%"
(list 'command-line (command-line)
'rules rules
'selected-rule selected-rule
'action action))
(system (list->command-line action))))
;; Run the associated action for each element of TARGETS.
;;
;; TARGETS must be a list of strings, representing all non-option
;; arguments passed by the user to the script on the command line.
(define (main targets)
(debug "targets - ~s~%" targets)
(let loop ((targets targets))
(let ((target (if (null? targets) "" (first targets))))
(debug "running rule ~a for target ~s~%"
(select-rule (rules target) target) target)
(if (and (file-exists? target)
(file-is-directory? target))
(begin (chdir project-root)
(chdir target))
(run-rule-for target))
(when (pair? targets)
(loop (rest targets))))))
(main (option-ref options '() #f))

View File

@ -3,6 +3,7 @@
guitarVoiceOne = \relative c' {
% 01
\guitarTuning
\mark \markup \normalsize "Andante"
<f a,>4\p q8 \grace g16 q8. <e g,>16 <d f,>8 |
cis4 <cis bes g>8\f q4 r8 |
@ -10,8 +11,8 @@ guitarVoiceOne = \relative c' {
d4 <d c d,>8 q4 r8 |
% 05
c'4\p c8\turn d16 c bes a g fis |
g4\f <g d g,>8 q4 r8 |
\voiceTwo c'4\p c8\turn d16 c bes a g fis |
\voiceOne g4\f <g d g,>8 q4 r8 |
<gis d>4. q |
<a cis, a e>4. r |

View File

@ -7,349 +7,379 @@ guitarVoiceOne = \relative c {
\set Staff.connectArpeggios = ##t
\voiceOne
%% 01
\barNumberCheck #01
d8\f d16( cis) d8 d16( cis) d8 d16( cis) d8 d16( cis) |
d2 r4 <d' b>^\p |
<cis a> <a fis> <g e> <b g> |
<a fis>2 fis4 r |
%% 05
\barNumberCheck #05
a'8 gis-3 g2-2 fis4 |
e8 fis g2 fis4 |
e16( dis) fis( e) g( fis) a( g) e8 cis'16( b) a( g) fis( e) |
%% fixme
<d fis,>4 \grace { e16 d cis d } s8 <e g,>8 <cis e,>4 r |
%% 09
\barNumberCheck #09
d,8\f d16( cis) d8 d16( cis) d8 d16( cis) d8 d16( cis) |
d2 r4 <d' b> |
<cis a> <a fis> <g e> <b g> |
<a fis>2 <fis d>4 r |
%% 13
\barNumberCheck #13
a'8 gis g2 fis4 |
e8 fis g2 fis4 |
%% fixme - is the grace note supposed to be a d or a dis?
e8( \grace fis8 e16 dis e8 g) cis,( \grace d8 cis16 b cis8 e) |
<d fis,>8 e fis g gis\>( a)\! fis d |
%% 17
\barNumberCheck #17
e8( \grace fis8 e16 dis e8 g) cis,( \grace d8 cis16 b cis8 e) |
<d fis,>8 e fis g gis( a) fis d |
e8( \grace fis8 e16 dis e8 g) cis,( \grace d8 cis16 b cis8 e) |
<d fis,>4 q q r |
%% 21
\barNumberCheck #21
\repeat unfold 4 { r16 d fis d' } |
cis4 cis cis\> cis\! |
\repeat unfold 4 { r16 d, fis d' } |
\repeat unfold 4 { cis4 } |
%% 25
\barNumberCheck #25
\tuplet 6/4 { d8 d d d d d } \tuplet 6/4 { d d d cis cis cis } |
\tuplet 6/4 { b b b b b b } \tuplet 6/4 { b b b a a a } |
\tuplet 6/4 { g g g g g g } \tuplet 6/4 { b b b b b b } |
\tuplet 3/2 { a a a } \tuplet 3/2 { a a a } \tuplet 3/2 { gis gis gis } \tuplet 3/2 { gis gis gis } |
%% 29
\barNumberCheck #29
r8 <a e cis> q8. q16 r8 <cis g e> q8. q16 |
r8 <d fis, d> q8. q16 r8 <b f d> q8. q16 |
r8 <a e cis> q8. q16 r8 <cis g e> q8. q16 |
r8 <d fis, d> q8. q16 r8 <b f d> q8. q16 |
%% 33
<a e cis a>4\arpeggio <cis e, cis a>\arpeggio <a e cis a> r |
\barNumberCheck #34
\mark \markup \normalsize "Dolce"
cis4. b8 a4 a |
b4 \acciaccatura cis8 b4 \acciaccatura cis8 b4 r |
cis4. cis8 d cis b cis |
%% 37
d4 d d r |
\barNumberCheck #38
b4. cis16 b a8 gis fis e |
a8 cis16 b b( a) gis( a) a8 cis16 b b( a) gis( a) |
fis8 gis a ais b fis d' b |
%% 41
a4. b8 gis4 r |
\barNumberCheck #42
cis4. b8 a4 a |
b4 \acciaccatura cis8 b4 \acciaccatura cis8 b4 r |
cis4. cis8 d cis b cis |
%% 45
d4 d d r |
\barNumberCheck #46
b4. cis16( b) a8 gis fis e |
a8 a cis e d cis b ais |
b4 b b a |
%% 49
\barNumberCheck #49
gis16 e dis e fis( e) dis e b e cis e d e b e |
cis e e e e e e e d e cis e b e a, e' |
r16 e dis e fis e dis e b e cis e d e b e |
cis e e e e e e e d e cis e b e a, e' |
%% 53
e4 gis e r |
\barNumberCheck #54
r2. <cis' e,>4 |
<bis dis,>2 <cis e,>4 q |
<bis dis,>2 <cis e,>4 q |
%% 57
<e g,>2 <d fis,>4 q |
<b gis>8 fis' e d <cis a>4 <cis, e,> |
<bis dis,>2 <cis e,>4 q |
<bis dis,>2 <cis e,>4 q |
%% 61
\barNumberCheck #59
<bis dis,>2 <cis e,>4 q |
<bis dis,>2 <cis e,>4 q |
<e g,>2 <d fis,>4 q |
<b gis>8 fis' e d <cis a> e e e |
\barNumberCheck #63
r16 e dis e fis( e) dis e gis( e) b'( gis) e8 r |
r16 e dis e fis( e) dis e a( e) cis'( a) e8 r |
r16 e dis e fis( e) dis e gis( e) b'( gis) e8 r |
r16 e dis e fis( e) dis e a( e) cis'( a) e8 r |
%% 65
r16 e dis e fis( e) dis e gis( e) b'( gis) e8 r |
r16 e dis e fis( e) dis e a( e) cis'( a) e8 r |
\barNumberCheck #67
r4 ais ais ais |
b8 cis d cis e dis d b |
%% 69
cis8. b16 a2 gis4 |
a s2. |
\barNumberCheck #71
r16 e dis e fis( e) dis e gis( e) b'( gis) e8 r |
r16 e dis e fis( e) dis e a( e) cis'( a) e8 r |
r16 e dis e fis( e) dis e gis( e) b'( gis) e8 r |
r16 e dis e fis( e) dis e a( e) cis'( a) e8 r |
%% 73
r16 e dis e fis( e) dis e gis( e) b'( gis) e8 r |
r16 e dis e fis( e) dis e a( e) cis'( a) e8 r |
\barNumberCheck #75
r4 ais ais ais |
b8 cis d cis e dis d b |
%% 77
cis8. b16 a2 gis4 |
\barNumberCheck #78
<a cis,>4 r r <a fis>^\p |
<gis e> <fis d> <e cis> <dis bis> |
<e cis>2 <cis a>4 r8 <g' cis,> |
%% 81
fis8 fis16( e) fis8 a gis e b' gis |
\barNumberCheck #82
<a cis,>4 r r <a fis>^\p |
<gis e> <fis d> <e cis> <dis bis> |
<e cis>2 <cis a>4 r8 <g' cis,> |
%% 85
fis8 fis16( e) fis8 a gis e b' gis |
\barNumberCheck #86
<a e cis a>4\arpeggio <cis e, cis a>4. b8 a gis |
fis e d cis <fis d a>4\arpeggio\f <gis d b>\arpeggio |
<a e cis a>4\arpeggio <cis e, cis a>4.\arpeggio\f b8 a gis |
%% 89
fis e d cis <fis d a>4\arpeggio\f <gis d b>\arpeggio |
\barNumberCheck #90
r8\p <a cis,> q4 r8 q q4 |
r8 <b d,> q4 r8 q q4 |
r8 <a cis,> q4 r8 q q4 |
%% 93
r8 <b d,> q4 r8 q q4 |
\barNumberCheck #94
r8 <a cis,> q4 r8 <b d,> q4 |
r8 <a cis,> q4 r8 <b d,> q4 |
r4 <a e cis a> q <cis e, cis a> |
%% 97
<a e cis a>2 r | \bar "|."
\barNumberCheck #98
<a ees>4 q q q |
q2 r |
<bes f>4 q q q |
%% 101
q2 r |
<c ges>4 q q q |
q2 r |
\barNumberCheck #104
\key des \major <des des,>1\ff |
%% 105
<des des,>1 |
\repeat unfold 4 { ees,16 ges c ges } |
\repeat unfold 4 { ees16 ges c ges } |
\barNumberCheck #108
<des' des,>1 |
%% 109
<des des,>1 |
\repeat unfold 4 { ees,16 ges c ges } |
\repeat unfold 4 { ees16 ges c ges } |
\repeat unfold 8 des'8 |
%% 113
\barNumberCheck #112
\repeat unfold 8 des'8 |
\repeat unfold 8 des8 |
\key d \major \repeat unfold 8 <b e, d>8 |
\repeat unfold 8 <b e, d>8 |
\repeat unfold 4 { a,16 cis e a } |
%% 117
\barNumberCheck #116
\repeat unfold 4 { a,16 cis e a } |
\repeat unfold 4 { a, cis e a } |
\repeat unfold 4 { g, cis e bes' } |
\repeat unfold 4 { g, cis e bes' } |
\repeat unfold 4 { f, a d a' } |
%% 121
\barNumberCheck #120
\repeat unfold 4 { f, a d a' } |
\repeat unfold 4 { f, a d a' } |
\repeat unfold 4 { e, bes' cis g' } |
\repeat unfold 4 { e, bes' cis g' } |
r8 <f d>8 q4 r8 q q4 |
%% 125
r8 q4 q q q8 |
\barNumberCheck #124
r8 <f d>8 q4 r8 q q4 |
r8 q4 q q q8 |
r8 <f d>8 q4 r8 q q4 |
r8 q4 q q q8 |
%% 129
r8 q4 q q q8 |
\barNumberCheck #128
r8 <f d>8 q4 r8 q q4 |
r8 q4 q q q8 |
r8 <f d>8 q4 r8 q q4 |
r8 q4 q q q8 |
%% 133
\barNumberCheck #132
r8 <f d>8 q4 r8 q q4 |
r8 q4 q q q8 |
\barNumberCheck #134
<e cis>4 r r <a e cis> |
<b gis d> q <cis g e> q |
<d a f> q q r |
%% 137
<b f d>2 <gis f d> |
\barNumberCheck #138
<a e cis>2 r4 <a e cis> |
<b gis d> q <cis g e> q |
<d a f> q q r |
%% 141
<b f d>2 <gis f d> |
\barNumberCheck #142
<a e cis>8^"Smorz poco a poco" a,16( gis) a8 a16( gis) a4 r |
g8 g16( fis) g8 g16( fis) g4 r |
<a fis>8 q16( eis) q8 q16( eis) q4 r |
%% 145
<g e>8 q16( dis) q8 q16( dis) q4 r |
\barNumberCheck #146
<fis d>8 d16( cis) \repeat unfold 3 { d8 d16( cis) } |
d2 r4 <d' b>^\p |
<cis a> <a fis> <g e> <b g> |
%% 149
<a fis>2 <fis d>4 r |
\barNumberCheck #150
a'8 gis g2 fis4 |
e8 fis g2 fis4 |
e16( dis) fis( e) g( fis) a( g) e8 cis'16( b) a( g) fis( e) |
%% 153
<d fis,>4. <e g,>8 <cis e,>4 r |
\barNumberCheck #154
\repeat unfold 4 { d,8 d16( cis) } |
d2 r4 <d' b> |
<cis a> <a fis> <g e> <b g> |
%% 157
<a fis>2 <fis d>4 r |
\barNumberCheck #158
a'8 gis g2 fis4 |
e8 fis g2 fis4 |
e8 \grace fis8 e16( dis) e8 g cis,( cis16 b cis8 e) |
%% 161
d8 e fis g gis\>( a)\! fis d |
\barNumberCheck #162
e8 \grace fis8 e16( dis) e8 g cis,( cis16 b cis8 e) |
d8 e fis g gis\>( a)\! fis d |
e8 e g b cis, cis a' cis, |
%% 165
<d fis,>4 q q r |
\barNumberCheck #166
\repeat unfold 4 { r16 d fis d' } |
\repeat unfold 4 { cis4 } |
\repeat unfold 4 { r16 d, fis d' } |
%% 169
\repeat unfold 4 { cis4 } |
\barNumberCheck #170
\tuplet 6/4 { d8 d d d d d } \tuplet 6/4 { d d d cis cis cis } |
\tuplet 6/4 { b b b b b b } \tuplet 6/4 { b b b a a a } |
\tuplet 6/4 { g g g g g g } \tuplet 6/4 { b b b b b b } |
%% 173
\tuplet 3/2 { a a a } \tuplet 3/2 { a a a } \tuplet 3/2 { gis gis gis } \tuplet 3/2 { gis gis gis } |
\barNumberCheck #174
r8 <a e cis> q8. q16 r8 <cis g e> q8. q16 |
r8 <d fis, d> q8. q16 r8 <b f d> q8. q16 |
r8 <a e cis> q8. q16 r8 <cis g e> q8. q16 |
%% 177
r8 <d fis, d> q8. q16 r8 <b f d> q8. q16 |
r4 <a e cis a> q r |
\barNumberCheck #179
r2 r4 <a fis> |
<gis eis>2 <a fis>4 q |
%% 181
<gis eis>2 <a fis>4 q |
<c a>2 <b g>4 q8 d |
\barNumberCheck #181
cis e d cis <d fis,>4 <a, fis> |
<gis eis>2 <a fis>4 q |
%% 185
\barNumberCheck #185
<gis eis>2 <a fis>4 q |
<c a fis>2 <b g>4 q8 d |
cis a'( g) e d4 r |
r16 a' gis a b( a) gis a cis( a) gis a g a e a |
%% 189
\barNumberCheck #189
r16 a gis a b( a) gis a d( a) gis a fis a fis a |
r16 a gis a b( a) gis a cis( a) gis a g a e a |
r16 a gis a b( a) gis a d( a) gis a fis a e a |
\repeat tremolo 8 { <fis d a fis b,>16 } \repeat tremolo 8 { <fis d a fis b,>16 } |
%% 193
\barNumberCheck #193
e16 dis fis( e) g( fis) a( g) e8 cis'16( b) ais( b) g e |
<fis a,>8. <e g,>16 d2 cis4 |
d a'8 b16( a) g8 g fis fis |
r16 a gis a b( a) gis a cis( a) gis a g a e a |
%% 197
\barNumberCheck #197
r16 a gis a b( a) gis a d( a) gis a fis a fis a |
r16 a gis a b( a) gis a cis( a) gis a g a e a |
r16 a gis a b( a) gis a d( a) gis a fis a e a |
\repeat unfold 4 { b,,16 a' d fis } |
%% 201
\barNumberCheck #201
e16 dis fis( e) g( fis) a( g) e8 cis'16( b) ais( b) g e |
<fis a,>8. <e g,>16 d2 cis4 |
<d fis>4 r r <d b> |
<cis a> <b g> <a fis> <gis eis> |
%% 205
\barNumberCheck #205
<a fis> r <c a fis>2\f |
<b g>4 r <g' e cis>2\f |
<fis d>4 r r <d b> |
<cis a> <b g> <a fis> <gis eis> |
%% 209
\barNumberCheck #209
<a fis> r <c a fis>2\f |
<b g>4 r <g' e cis>2\f |
<fis d>4 <a fis>4. <gis eis>8 <a fis> <ais fis> |
<b g>( <ais fis>) <b g>( <a fis>) <b g>4 <cis g e> |
%% 213
\barNumberCheck #213
<d fis, d> <a fis>4. <gis eis>8 <a fis> <ais fis> |
<b g>8( <ais fis>) <b g>( <ais fis>) <b g>4 <c g e a,> |
R1 |
r8. <d, fis,>16 q4 r8. <d fis,>16 q4 |
\oneVoice R1 |
\voiceOne r8. <d, fis,>16 q4 r8. <d fis,>16 q4 |
%% 217
\barNumberCheck #217
r8. <e g,>16 q4 r8. <e g,>16 q4 |
r8. <d fis,>16 q4 r8. <d fis,>16 q4 |
r8. <e g,>16 q4 r8. <e g,>16 q4 |
r4 \repeat unfold 6 { <fis d>8 } |
%% 221
\barNumberCheck #221
\repeat unfold 8 { <fis d>8 } |
\repeat unfold 8 { <fis d>8 } |
\repeat unfold 4 { <e b g>8 } \repeat unfold 4 { <e cis g>8 } |
\repeat unfold 8 { <fis d>8 } |
%% 225
\barNumberCheck #225
\repeat unfold 8 { <fis d>8 } |
\repeat unfold 8 { <fis d>8 } |
\repeat unfold 4 { <e b g>8 } \repeat unfold 4 { <e cis g>8 } |
r8 \repeat unfold 7 <d f> |
\barNumberCheck #229
\repeat unfold 8 <ees f> |
\repeat unfold 8 <d f> |
\repeat unfold 8 <ees f> |
\repeat unfold 8 <d f> |
\barNumberCheck #232
\repeat unfold 8 <d f b> |
\repeat unfold 4 { a16 d fis a } |
\repeat unfold 4 { a,16 e' g cis} |
r8 <fis, d'> q q r8 q4 q8 |
\barNumberCheck #236
r8 q q q r q4 q8 |
r8 <e d'> q q r q4 <eis d'>8 |
r8 <d fis d'> q q r <e g cis> q q |
\oneVoice R1 |
\barNumberCheck #240
\voiceOne r8. <d fis,>16 q4 r8. <d fis,>16 q4 |
r8. <e g,>16 q4 r8. <e g,>16 q4 |
r8. <d fis,>16 q4 r8. <d fis,>16 q4 |
r8. <e g,>16 q4 r8. <e g,>16 q4 |
\barNumberCheck #244
r4 <d fis,> q q |
q r <d fis d'> r |
<d fis d'>1\arpeggio | \bar "|."
}
@ -358,271 +388,366 @@ guitarVoiceTwo = \relative c, {
\set Staff.connectArpeggios = ##t
\voiceTwo
%% 01
\barNumberCheck #01
\repeat unfold 4 d4 |
\repeat unfold 8 d8 |
\repeat unfold 8 d8 |
\repeat unfold 4 d8 d e fis g |
%% 05
\barNumberCheck #05
a4. b8 cis a d d, |
a'4. b8 cis a d fis |
g2 g |
d,8 d d d a' a g e |
%% 09
\barNumberCheck #09
\repeat unfold 4 d4 |
\repeat unfold 8 d8 |
\repeat unfold 8 d8 |
\repeat unfold 4 d8 d e fis g |
%% 13
\barNumberCheck #13
a4. b8 cis a d d, |
a'4. b8 cis a d fis |
g2 <g a,> |
d,2 r |
%% 17
\barNumberCheck #17
g'2 <g a,> |
d,2 r |
g'2 <g a,> |
d,4 d d r |
%% 21
\barNumberCheck #21
d1 |
a' |
d, |
a' |
%% 25
\barNumberCheck #25
<d d' fis>2\arpeggio r4 <ais' e' g> |
<b d fis>2 r4 <fis c' d> |
<g b d>2\arpeggio <gis d' f>\arpeggio |
<a d f>4\arpeggio q <bes d f> q |
%% 29
\barNumberCheck #29
a,4. a'8 a,4. a'8 |
a,4. a'8 a,4. gis'8 |
a,4. a'8 a,4. a'8 |
a,4. a'8 a,4. gis'8 |
%% 33
a,4 a a r |
\barNumberCheck #34
a1 |
a |
a |
%% 37
a |
\barNumberCheck #38
<gis' d' e>2 r |
<a cis e>8 r r4 q8 r r4 |
<d, fis'>2 r |
%% 41
e2 r |
a,1 |
a |
a |
%% 45
a |
\barNumberCheck #42
a,1 | a | a | a |
\barNumberCheck #46
<gis' d' e>2 r |
<a cis e>4 r r2 |
r4 <dis, b'>4 q q |
%% 49
<e b'>4 r gis8 a b gis |
\barNumberCheck #50
a4 r8 cis b a gis fis |
<e gis>4 r gis8 a b gis |
a4 r8 cis b a gis fis |
%% 53
<e gis b>4 q q r |
\barNumberCheck #54
\repeat unfold 8 a,8 |
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
%% 57
\repeat unfold 8 a8 |
\barNumberCheck #58
a2 a8 a a a |
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
%% 61
\repeat unfold 8 a8 |
\barNumberCheck #62
a2 a4 r |
<b' d>8 r r4 r r8 q |
<a cis>4 r r r8 <ais cis>8 |
%% 65
<b d>8 r r4 r r8 q |
\barNumberCheck #66
<a cis>4 r r2 |
fis8 e' cis e cis e cis e |
<b d fis>4 r r2 |
%% 69
a,2 e'4 r |
\barNumberCheck #70
a,4 r r2 |
<b' d>8 r r4 r r8 q |
<a cis>4 r r r8 <ais cis>8 |
%% 73
<b d>8 r r4 r r8 q |
\barNumberCheck #74
<a cis>4 r r2 |
fis8 e' cis e cis e cis e |
<b d fis>4 r r2 |
%% 77
a,2 e'4 r |
\barNumberCheck #78
\repeat unfold 8 a,8 |
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
%% 81
\barNumberCheck #82
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
\repeat unfold 8 a8 |
%% 85
\repeat unfold 8 a8 |
\barNumberCheck #86
a4\arpeggio a4. r8 r4 |
s2 d4\arpeggio e\arpeggio |
a,4\arpeggio a4.\arpeggio r8 r4 |
%% 89
s2 d4\arpeggio e\arpeggio |
a,4. e'8 a,4. e'8 |
a,4. gis'8 a,4. gis'8 |
a,4. e'8 a,4. e'8 |
%% 93
\barNumberCheck #90
a,4. e'8 a,4. e'8 |
a,4. gis'8 a,4. gis'8 |
a,4. e'8 a,4. e'8 |
a,4. gis'8 a,4. gis'8 |
\barNumberCheck #94
a,4. e'8 a,4. gis'8 |
a,4. e'8 a,4. gis'8 |
a,4 a a a |
%% 97
a2 r | \bar "|."
\barNumberCheck #98
<f' c'>4 q q q |
q2 r |
<bes des>4 q q q |
%% 101
q2 r |
\barNumberCheck #102
<aes ees'>4 q q q |
q2 r |
\key des \major r8 <aes f'> <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) |
%% 105
r8 <aes f'> <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) |
\barNumberCheck #106
r4 aes beses aes |
beses aes beses aes |
r8 <aes f'> <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) |
%% 109
r8 <aes f'> <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) <bes ges'>( <aes f'>) |
\barNumberCheck #110
r4 aes beses aes |
beses aes beses aes |
<des f>8 q q q q q q q |
%% 113
<des f>8 q q q q q q q |
\barNumberCheck #114
\key d \major gis,1 |
r4 e gis e |
r a, a a |
r a a a |
%% 117
\barNumberCheck #118
r a a a |
r a a a |
r a a a |
r a a a |
%% 121
r a a a |
\barNumberCheck #122
r a a a |
r a a a |
d4. e8 f4. g8 |
%% 125
a4 bes gis a |
\barNumberCheck #126
d,4.\pp e8 f4. g8 |
a4 bes gis a |
bes4.\f f8 d4. f8 |
%% 129
bes,4 d f bes |
\barNumberCheck #130
a4.\p f8 d4. f8 |
a,4 d f a |
gis4.\f a8\p bes4. a8 |
%% 133
gis4\f a bes gis |
\barNumberCheck #134
a8 a, a a a a a a |
a a a a a a a a |
a a a a a a a a |
a a a a a a a a |
%% 137
\barNumberCheck #138
a a a a a a a a |
a a a a a a a a |
a a a a a a a a |
a a a a a a a a |
%% 141
\barNumberCheck #142
a a a a a a a a |
a a a a a a a a |
a a a a a a a a |
a a a a a a a a |
%% 145
a a a a a a a a |
\barNumberCheck #146
d,4 d d d |
d8 d d d d d d d |
d8 d d d d d d d |
%% 149
d8 d d d d d d d |
\barNumberCheck #150
a'4. b8 cis a d d, |
a'4. b8 cis a d fis |
g2 g |
%% 152
a,8 a a a a a g e |
\barNumberCheck #154
d4 d d d |
\repeat unfold 8 d8 |
\repeat unfold 8 d8 |
%% 156
d d d d d e fis g |
\barNumberCheck #158
a4. b8 cis a d d, |
a'4. b8 cis a d fis |
g2 <g a,> |
%% 160
<fis d,> r |
\barNumberCheck #162
g2 <g a,> |
<fis d,> r |
g2 <g a,> |
%% 165
d,8 d' a fis d fis a d |
d,1 | a' | d,1 |
%% 169
a' |
\barNumberCheck #166
d,1 | a' | d,1 | a' |
\barNumberCheck #170
<d d' fis>2\arpeggio r4 <ais' e' g> |
<b d fis>2 r4 <fis c' d> |
<g b d>2\arpeggio <gis d' f>\arpeggio |
%% 173
<a d f>4\arpeggio q <bes d f> q |
a,4. a'8 a,4. a'8 |
a,4. a'8 a,4. gis'8 |
a,4. a'8 a,4. a'8 |
%% 177
\barNumberCheck #174
a,4. a'8 a,4. a'8 |
a,4. a'8 a,4. gis'8 |
a,4. a'8 a,4. a'8 |
a,4. a'8 a,4. gis'8 |
\barNumberCheck #178
a,4 a a r |
d8\p \repeat unfold 7 d |
\repeat unfold 8 d8 |
\repeat unfold 8 d8 |
\barNumberCheck #182
\repeat unfold 8 d8 |
a2 d,8 d d d |
\repeat unfold 8 d8 |
\repeat unfold 8 d8 |
\barNumberCheck #186
\repeat unfold 8 d8 |
<a' g'>2 <d, fis'>4 r |
<cis'' e>8 r r4 r cis8 cis |
<d fis>8 r r4 r d8 d |
\barNumberCheck #190
<cis e>8 r r4 r cis8 cis |
<d fis>8 r r4 r d8 c |
s1 |
<g b>2 q |
\barNumberCheck #194
a8 a, fis' a, e' a, g' a, |
<d, fis'>4 fis''8 fis e e d d |
<cis e>8 r r4 r cis8 cis |
<d fis>8 r r4 r d8 d |
\barNumberCheck #198
<cis e>8 r r4 r cis8 cis |
<d fis>8 r r4 r d8 c |
s1 |
<g b>2 q |
\barNumberCheck #202
a8 a, fis' a, e' a, g' a, |
\repeat unfold 16 d,8 |
\repeat unfold 16 d8 |
\barNumberCheck #206
\repeat unfold 16 d8 |
\barNumberCheck #210
\repeat unfold 16 d8 |
d4 d' d, r |
g'2 r4 a, |
\barNumberCheck #214
d, d' d, r |
g'2 r4 a, |
s1 |
d,4. a'8 d4. a8 |
\barNumberCheck #218
d,4. cis'8 d,4. cis'8 |
d,4. a'8 d,4. a'8 |
d,4. cis'8 d,4. cis'8 |
d,4 d'8 cis b ais b ais |
\barNumberCheck #222
b d, d' cis b ais b ais |
b d, d' cis b a g fis |
g g g g a a a a |
d,4 d'8 cis b ais b ais |
\barNumberCheck #226
b d, d' cis b ais b ais |
b d, d' cis b a g fis |
g g g g a a a a |
bes4 r r bes |
\barNumberCheck #230
a c a f |
bes r r8 d c bes |
a4 c a f |
bes2 r4 a |
\barNumberCheck #234
gis4 gis gis gis |
a\ff a a a |
a a a a |
d4 r d' ais\p |
\barNumberCheck #238
b r b a |
g r g gis |
a2 a, |
\oneVoice R1 |
\barNumberCheck #240
\voiceTwo d,4. a'8 d4. a8 |
d,4. cis'8 d,4. cis'8 |
d,4. a'8 d,4. a'8 |
d,4. cis'8 d,4. cis'8 |
\barNumberCheck #244
d,4 d' a fis |
d r d r |
<d a' d>1\arpeggio | \bar "|."
}
@ -630,10 +755,10 @@ guitarVoiceThree = \relative c' {
\voiceFour
%% 01
\barNumberCheck #01
s1 | s | s | s |
%% 05
\barNumberCheck #05
cis8 d e2-4 d4 | %% FIXME - the fingering for '4' appears near the bass note instead of the middle note
cis8 d e2 d4 |
s1 | s |