X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Fwohltemperirt.ly;h=eb6b0278f6d73379a060b63cfe932b684eadd1b4;hb=0d2593e4ef1f3d1eb6994223f1de8f6c8fbcd066;hp=3163a7bf3c3caa3fabf68116a72064b7d05fabb0;hpb=7986f3c60cf32f07637795fd1e7d5a21112a4b4e;p=lilypond.git diff --git a/input/wohltemperirt.ly b/input/wohltemperirt.ly index 3163a7bf3c..eb6b0278f6 100644 --- a/input/wohltemperirt.ly +++ b/input/wohltemperirt.ly @@ -1,66 +1,207 @@ -% JS Bach, Das Wohltemperirtes Clavier I, Fuga II (c-minor) -% -% a 7 bar fragment -% -% Public Domain -- by HWN -% - -dux = music { $ - \duration { \last } - \stem{-1} r8 ['c16 b] ['c8 g] [as 'c16 b] ['c8 'd] | - [g 'c16 b] ['c8 'd] [f16 g] as4 [g16 f] | - [es 'c b a] [ g f es d] [c8 'es 'd 'c] | - [bes a bes 'c] [fis g a fis] | - g4 r16 [c d es] [f g as8(] [)as16 d es f ]| - [g a bes8(] [)bes16 es f g ] [as g f es] [d8 'c16 b]| - 'c4 r4 r8 ['f 'es 'd] | - r8 [as g f] [g f16 es] [f8 d] | -$} - -comes = music { $ - r1 r1 - \stem{1} - \octave {'} - r8 [g16 fis] [g8 c] [es g16 f] [g8 a]| - [d8 g16 fis] [g8 a] [c16 d] es4 [d16 c] | - [`bes8 es16 d] [es8 `g8] [`as f16 es] [f8 `a] | - [`bes8 g16 f] [g8 `b] [c8 d16 es] f4( | - [) f8 es16 d] [c16 `bes `as `g] [`f8 as g f] | - [es d es f] [`b c d `b] | - -$} - -bassdux = music { $ - r1 r1 r1 r1 r1 r1 - \stem{1} \octave { } - r8 [c16 B] [c8 G] [As c16 Bes] [c8 d] | - [G c16 B] [c8 d] [F16 G] As4 [G16 F] | $ -} +%{ + title: Das Wohltemperirte Clavier I, Fuga II (c-minor) + description: following Henle's Urtext + composer(s): JS Bach + entered-by: HWN + corrected-by: Werner Lemberg (tested with pl 64; 1997-05-17) + copyright: Public Domain + + Tested Features: stem direction, multivoice, forced accidentals. + + Remarks: the stem direction algorithm is severely broken (look at the + bass dux) with pl64. + + +%} + +\version "0.0.58"; + + % should add \need{dutch.ini} for + % correct parsing of note names + +global = + \melodic { + \meter 4/4; % should be \meter C + \key bes es as; + } + +dux = + \melodic { + \clef "violin"; + \octave c'; + \duration \last; + \stem -1; + r8 [c'16 b] [c'8 g] [as c'16 b] [c'8 d'] | + [g c'16 b] [c'8 d'] [f16 g] as4 [g16 f] | + [es c' b a] [g f! es d] [c8 es' d' c'] | + [bes a bes c'] [fis g a fis] | +%% 5 + g4 r16 [c d es] [f g as8~] [as16 d es f]| + [g a bes8~] [bes16 es f g] [as g f es] [d8 c'16 b]| + c'4 r4 r8 [f' es' d'] + r8 [as g f] [g f16 es] [f8 d] | + g4 r8 b [c' c'16 b] [c'8 g] | +%% 10 + as4 r8 a [bes bes16 a] [bes8 f] | + g4 r8 g [as as g f] | + \octave c; r8 [as bes c'] r8 [as16 g] [as8 f8] | + [bes8 c' bes as] [bes g f es] | + [f des' c' bes] [c' as g f] | +%% 15 + g8 \octave c'; [g16 fis] [g8 c] [es g16 fis] [g8 a] | +% [d g16 fis] [g8 a] [c16 d] es4 [d16 c] | + [d g16 fis] [g8 a] [c16 d] es4 [d16 c] | + % wouldn't it be better if I can write + % `a' instead of `a!' here to get really + % an `a natural'? Processing this melody + % alone (only having `a') would yield a + % different result! (WL) +%% I don't understand the complaint. The ! makes no difference in output. HWN + + 'bes8 r8 r16 [d e fis] [g a bes8~] [bes16 e f g] | + [a bes c'8~] [c'16 fis16 g a] [bes8 es!16 d] [es8 'g] | + ['as f16 es] [f8 'a8] ['bes g16 f] [g8 'b] | +%% 20 + [c16 f es d] [c Bes! As G] [F8 as g f] | + [es d es f] [B c d B] | + c4 r8 e8 [f f16 e] [f8 c] | + d4 r8 d8 [es8 es16 d] [es8 Bes] | + c2 ~ [c8 d16 es][ f es f d] | +%% 25 + B8 r8 r B c r r es | + d r r f~ f r r f | + [es as g f] [es d es f] | + [B c d B] [B c] r c | + [f16 d es c]~ [c8 B] c4 r8 e | +%% 30 + f4 r8 f [f es16 d] [es8 | +% f4 r8 [f es16 d] [es8 | + % bug! if you say + % f4 r8 ... + % the chord overlaps. WL +%% confirmed. added to TODO. HWN + r r | + } + -% will make it look even uglier -basstaf = staff { melodic - music { bassdux } - commands { - clef bass - key $bes es as$ - } +comes = + \melodic { + \octave c''; + \stem 1; + r1 | + r1 | + r8 [g16 fis] [g8 c] [es g16 fis] [g8 a] | + [d8 g16 fis] [g8 a] [c16 d] es4 [d16 c] | +%% 5 + ['bes8 es16 d] [es8 'g8] ['as f16 es] [f8 'a] + ['bes8 g16 f] [g8 'b] [c8 d16 es] f4~ | + [f8 es16 d] [c16 'bes 'as 'g] ['f8 as g f] + [es d es f] ['b c d 'b] | + [c g16 fis] [g8 d] es4 r8 e8 | +%% 10 + [f f16 e] [f8 c8] d4 r8 d | + [es8 es16 d] [es8 'bes] [c es16 d] [es8 f] | + ['bes es16 d] [es8 f] ['as16 'bes] c4 ['bes16 'as] | + [G16 Es F G] [As Bes c d] [es d c d] [es f g a] | + [bes F G As] [Bes c d e] [f es d es] [ f g a b] | +%% 15 + [c'8 b16 a] [g f es d] [c8 es d c] | + [Bes A Bes c] [Fis! G A Fis] | + % see comment above about forced acc. + [G8 d16 c] d8 r8 r8 [e16 d] e8 r8 | + r [fis16 e] fis8 r r [G16 F] G8 r8 | + r8 [A16 G] A8 r r [B16 A] B8 r | +%% 20 + r8 [c16 'b] [c8 'g] [As c16 'b] [c8 d] | + [G c16 B] [c8 d] [F16 G] As4 [G16 F] | + [Es8 c16 B] [c8 G] As4 r8 A | + [Bes8 Bes16 A] [Bes8 F8] 'g4 r8 G~ | + [G As16 Bes] [c B c As] F2~ | +%% 25 + [F8 d16 c] [d8 F] [Es es16 d] [es8 G] | + [F f16 es] [f8 As] [G16 f es d] [c B A G] | + [c8 f es d] r [As G F] | + [G F16 Es] [F8 D] [As G] r A | + [B c] [F16 Es D C] C8 [c16 B] [c8 G] | +%% 30 + [As c16 B] [c8 [G8 c16 B] [c8 d] | + [F16 G] As4 [G16 F] E2 | + } + +bassdux = + \melodic { + \clef "bass"; + + \octave c'; + r1 | + r | + r | + r | +%% 5 + r | + r1 | + r8 [c16 B] [c8 G] [As c16 B] [c8 d] | + [G c16 B] [c8 d] [F16 G] As4 [G16 F] | + \octave c; [es c' b a] [g f es d] [c d es d] [c Bes! As! G] | + % I think we shouldn't need to force + % accidents here because they are in + % another octave range. WL + +%% I don't understand the complaint. Accidentals are valid for one octave range +%% only. Without ! (and printed flat), this still is valid. HWN + +%% 10 + [F bes as g] [f es d c] [Bes c d c] [Bes As G F] | + [Es as g f] [es des c Bes] [As8 c' bes as] | + [g8 f g as] [d es f d] | + [es as g f] [g es d c] | + [d bes as g] [as f es d!] | +%% 15 + es8 r8 r4 r8 [c Bes A] | + r [es d c] [d c16 Bes] [c8 d] | + [G8 bes16 a] [bes8 d] [es c'16 bes] [c'8 e] | + [f d'16 c'] [d'8 fis] g4 r16 [G A B] | + [c16 d es8~] [es16 A Bes c] [d es f8~] [f16 'b c d] | +%% 20 + es8 r r e [f F Es! D] | % see comment above about octave range + r [As G F] [G F16 Es] [F8 G] | + [c16 d es d] [c Bes As G] [F bes as g] [f es d c] | + [Bes c d c] [Bes As G F] [Es as g f] [es d c Bes] | + [As Bes c Bes] [As G F Es] [D g f es] [d c B A] | +%% 25 + g4 r4 r16 [G A B] [c d es f] | + [g f as g] [f es d c] [B8 c16 B] [c8 G] | + [As c16 B] [c8 d] [G c16 B] [c8 d] | + [F16 G] As4 [G16 F] Es4 r8 es | + [d c g G] +%% 30 + < \multivoice + { \stem 1; c2~ | c1~ | c1 } + { \stem -1; C2~ | C1~ | C1 } + > + } + + +% every "melody" declared in a staff has its own "voicegroup" +trebstaf = + \staff { + \inputregister{melodicregs} + global dux comes + } + + +\score { + trebstaf + \staff { + \inputregister{melodicregs} + global bassdux + } + \paper{} + \midi { + \tempo 4:84 + } } -score { - staff { melodic - music { dux } - music { comes } - - commands { - key $bes es as$ - } - } - staff { basstaf } - commands { - meter 4*4 - skip 8:0 - } - paper { unitspace 2.5cm - geometric 1.1 - } -} \ No newline at end of file +% EOF + +