\version "2.18.2" % Here are the banjo tunings for tab % % banjo-open-g-tuning (gDGBD) % banjo-c-tuning (gCGBD) % banjo-modal-tuning (gDGCD) % banjo-open-d-tuning (aDF#AD) % banjo-open-dm-tuning (aDFAD) % % The following is a custom engraver written in scheme % It is used to force Lilypond to write exactly four measures per % line in the output. % I don't know how it works. It was found on the web at % http://lilypond.1069038.n5.nabble.com/Four-Bars-per-Line-System-again-td45952.html % % This is basically a modulo counter that inserts a break % every four lines. % % The engraver is used in the \Layout at the bottom % #(define (line-break-every-nth-engraver bars-per-line) (lambda (context) (make-engraver (acknowledgers ((paper-column-interface engraver grob source-engraver) (let ((current-bar (ly:context-property context 'currentBarNumber))) (if (= (remainder current-bar bars-per-line) 1) (if (eq? #t (ly:grob-property grob 'non-musical)) (set! (ly:grob-property grob 'line-break-permission) 'force) (set! (ly:grob-property grob 'line-break-permission) '()))))))))) % % Define the banjo chords % cmajorchord = \markup \fret-diagram #"w:5;5-o;4-o;3-o;2-1;1-2;" cminorchord = \markup \fret-diagram #"w:5;5-o;4-o;3-5;2-4;1-5;" openchord = \markup \fret-diagram #"w:5;5-o;4-o;3-o;2-o;1-o;" aflatchord = \markup \fret-diagram #"w:5;5-o;4-o;3-5;2-4;1-6;" fmajchord = \markup \fret-diagram #"w:5;5-o;4-o;3-5;2-6;1-7;" dsevenchord = \markup \fret-diagram #"w:5;5-o;4-o;3-5;2-3;1-4;" bflatchord = \markup \fret-diagram #"w:5;5-o;4-o;3-7;2-6;1-8;" fmajchordnut = \markup \fret-diagram #"w:5;5-o;4-o;3-2;2-1;1-3;" csevenchord = \markup \fret-diagram #"w:5;5-o;4-o;3-3;2-1;1-2;" eflatchord = \markup \fret-diagram #"w:5;5-o;4-o;3-3;2-4;1-5;" fminorchord = \markup \fret-diagram #"w:5;5-o;4-o;3-1;2-1;1-3;" gmajorchord = \markup \fret-diagram #"w:5;5-o;4-o;3-4;2-3;1-5;" gminorchord = \markup \fret-diagram #"w:5;5-o;4-o;3-7;2-8;1-8;" aminorchord = \markup \fret-diagram #"w:5;5-o;4-o;3-2;2-1;1-2;" AutoBarline = {} AutoEndMovementBarline = \bar "|." notRepeatedWords = \lyricmode { Voy ez ce mu -- let là, Mus -- ieu Bain -- jo, Comme il est in -- so -- lent. } lineOneWords = \lyricmode { Cha -- peau sur cô -- té, Mus -- ieu Bain -- jo,} lineTwoWords = \lyricmode { La canne à la main, Mus -- ieu Bain -- jo, } lineThreeWords = \lyricmode { Botte qui fait crin, crin, Mus -- ieu Bain -- jo, } % % Define the music itself % This is referenced by all the output specifications. % The outputs are specified after the entire musical % score has been set into the music variable. % For clarity, put each measure on its own line. % Mark each line with whitespace and a comment. The comment % says what line it specifies and the starting measure number in that line. % music = { \key g \major \tempo 4=75 \time 2/4 \autoBeamOff % turn off the beams to make this look like the original score % fontSize sets a standard incremental multiplier of the normal % font size. Each step is approximately 12% of normal. Six steps is % exactly a factor of 2. So, the 12% multiplier is actually the sixth % root of 2, or 1.12246204831 % Normal font size is calculated based on staff % height. A 20 pt staff makes a 10 pt font. % fontSize of #2 seems to be readable when printed. % This is eqivalent to the predefined size of \huge \set fontSize = #2 % Line 1 d'16 d'8 d'16 c'8 c'8 | b8 b16 b16 a8 c'8 | b16 b8 b16 a8 a8 | g4 r4^\markup { \small "FINE."} | % Line 2 \repeat volta 3 { g8 g8 fis8 d8 | g8 g16 g16 fis8 a8^\markup { \small "D.C."} | } % end of volta } %end of music % % Specify the MIDI file output % The MIDI block must be inside of a \score % the \new Staff allows me to set the instrument % Timidity has a particularly terrible banjo, but I left the code there % and set to the default, "acoustic grand" anyway in case I % want to try some other instruments later. % \score { \new Staff \with {midiInstrument = #"acoustic grand" } {\clef "treble_8" \unfoldRepeats \music} % treble_8 needed to transpose to correct octave \midi { } % Leave the midi block blank - not sure what it is for } % % Specify the contents of the header % \header { title = "MUSIEU BAINJO" subtitle = "Standard G tuning gDGbd" arranger = "Tabbed by Brian S. Kimerer 2016" composer = "From Slave Songs of the United States" subsubtitle = "William Francis Allen, Charles Pickard Ware, Lucy McKim Garrison" } % The following layout removes the initial indent on the first line, % and that makes the score to be set with 4 measures per line %\layout { % indent = 0\mm %} \layout { indent = 0\mm \context { \Score %% the following line necessary if you want to put more %% measures to a line than Lily wants to allow \override NonMusicalPaperColumn #'line-break-permission = ##f \consists #(line-break-every-nth-engraver 3) } } \book { % % Specify the standard notation staff % \score { << % parallel voices for the music and first line lyrics \new Staff \with { \omit StringNumber } { \clef "treble_8" \new Voice = "notes" { \music } } % end of staff \new Lyrics \lyricsto "notes" { \notRepeatedWords << % Parallel voices for the repeat lyrics \lineOneWords \new Lyrics { \set associatedVoice = "notes" \lineTwoWords } \new Lyrics { \set associatedVoice = "notes" \lineThreeWords } >> } % end of lyrics >> } } \book { % % Specify the tab staff % \score { \new TabStaff \with { tablatureFormat = #fret-number-tablature-format-banjo stringTunings = #banjo-open-g-tuning \tabFullNotation } {\music} } }