]> git.donarmstrong.com Git - lilypond.git/blob - input/praeludium-fuga-E.ly
3f9deec1813d8294da45f8fee1686a19509fc9ea
[lilypond.git] / input / praeludium-fuga-E.ly
1 \header {
2   filename =    "praeludium-fuga-E.ly";
3   title =       "praeludium and fuga in E-major";
4   opus =        "BWV 566";
5   composer =    "Johann Sebastian Bach (1685-1750)";
6   enteredby =   "JCN";
7   copyright =   "public domain";
8 }
9 %{
10   description
11
12   Praeludium 3 bar excerpt,
13         2nd fuga transposed subject -- 4 bar excerpt. 
14         We try to imitate the Griepenkerl/Keller edition which
15         gives the best approximation to Bach's original layout
16
17 %}
18 %{
19  Tested Features:
20  purpose of this file is testing: 
21    * real-life collisions
22    * multi-voice input --- splitting?
23    * organ staff...
24 %}
25
26 \version "1.2.0";
27
28
29
30 praeludium_commands = \notes {
31   \time 4/4;
32    \key e;
33 }
34
35 praeludium_right =  \notes {
36   \$praeludium_commands
37   \clef violin;
38
39   % 13 -- how to type -- where to split -- this more neatly?
40   \context Staff <
41     \context Voice = I \relative c'' { \stemup r4 dis4 e4. e8 ~ |
42       \shifton e4 [d8 fis8] \shiftoff gis4 ~ [gis8 fis16 e ] |
43       fis4 ~ [fis8 e16 dis] e4 r8 e8 }
44     \context Voice = III \relative c'' { \stemup \shifton r4 bis cis \shiftoff cis |
45       a' ~ [a16 gis a b] \shifton dis,4 cis ~ |
46       [cis8 dis16 ais] bis4 cis r8 b }
47     \context Voice = IV \relative c'' {
48
49       %\stemup
50       %{
51       this is a diversion from the Griepenkerl/Keller
52        edition; a hack to avoid collisions
53       %}
54       \stemdown
55       \shifton s4 gis }
56       
57     \context Voice =  II \relative c' { \stemdown
58 %      \shifton       % idem
59
60       r4 fis \shiftoff gis gis |
61       a4. cis8 gis2 |
62       fis4 gis gis r8 e8 }
63   > |
64   % 16
65 }
66
67 praeludium_left = \notes \relative c {
68   \$praeludium_commands
69   \clef bass;
70
71   % 13
72   \context Staff <
73     \context VoiceTwo { r4 }
74     \context VoiceOne { \stemup s4 dis' cis cis ~ |
75       [cis8 a d cis] [bis gis] cis4 |
76       dis2 cis4 r8 cis }
77     \context VoiceOne { \stemup bis2 }
78     \context VoiceThree { \stemup \shifton r4 gis ~ [gis8 gis] ~ \stemdown \shiftoff gis4 |
79       a4. fis8 gis4. a8 ~ |
80       a4 gis4 gis r8 gis }
81 %    { \stemup \shifton s4 fis4 e}
82 % a quick hack to avoid some collisons
83     \context VoiceFour { \stemdown \shifton s4 fis4 e}
84     \context VoiceTwo { \stemdown s4 dis4 cis4 }
85   > |
86   %16
87 }
88
89 praeludium_pedal = \notes \relative c{
90   \$praeludium_commands  
91   \clef bass;
92
93   %13
94   r4 fis,4-\ltoe e4.-\lheel e'8-\rheel | 
95   fis4.-\rtoe fis8-\rtoe fis4-\rtoe [e8-\ltoe a-\rtoe] | 
96   dis,4-\ltoe gis-\rtoe [cis,8-\ltoe b!-\lheel ais-\rtoe gis-\ltoe] |
97   %16
98 }
99
100
101 fugaII_commands = \notes{
102   \time3/4;
103   \key e;              % E-major
104 }
105
106 fugaII_right = \notes   \relative c''   {
107   \$fugaII_commands
108   \clef violin;
109
110   %15
111   \context Staff <
112     \context Voice = VA { \stemup [b8 fis8] b4 }
113     \context Voice = VB {  \stemdown fis2 }
114   >
115
116   % Wadieuw
117   \context Staff \notes\relative c''<
118        \context Voice=one {
119           \property Voice.horizontalNoteShift=0
120           \property Voice.verticalDirection=1 
121           e4 
122        }
123        \context Voice=two {
124           \property Voice.verticalDirection=1 
125           \property Voice.horizontalNoteShift=1
126           cis
127        }
128        \context Voice=three {
129           \property Voice.horizontalNoteShift=2
130           \property Voice.verticalDirection=1 
131           ais
132        }
133        \context Voice=four {
134           \property Voice.verticalDirection=-1 
135           \property Voice.horizontalNoteShift=-1
136           fis
137        }
138   >
139
140     %16
141     \context Staff <
142       \context VoiceOne {  dis2 dis4 |
143       cis2 cis4 |
144       b4. [cis8 dis e] }
145     \context VoiceThree {  \stemup \shifton [b8 fis] b2 ~ |
146       [b8 a!16 gis] a2 ~ |
147       a4 gis2 }
148     \context VoiceTwo {  \stemdown fis2. ~ |
149       fis ~ |
150       fis4 e2 }
151   > |
152   %19
153 }
154
155 fugaII_left = \notes {
156   \$fugaII_commands  
157   \clef bass;
158
159   %15
160   \context Staff < 
161     \context VoiceTwo { \stemdown b2 \stemup ais4 |
162       b2 b4 }
163     \context VoiceTwo { \stemdown s2 e4 |
164       fis2 fis4 }
165   >
166   \stemdown cis2 e4 |
167   b4. b8 b4 |
168   %19
169 }
170
171 fugaII_pedal = \notes \relative c {
172   \$fugaII_commands  
173   \clef bass;
174
175   %15
176   dis4.-\ltoe e8-\rtoe cis4 |
177   b4.-\lheel [cis8-\ltoe dis8-\rtoe e8-\rheel] |
178   fis4.-\rtoe [e8-\rheel dis8-\rtoe cis8-\ltoe] |
179   dis4-\rtoe e4-\rheel e,4-\ltoe |
180   %19
181 }
182
183 breakmusic = \notes { 
184   %\time4/4;
185   r1
186 }
187
188
189 % these should be two separate scores...
190 \score{
191   \context Score <
192     \context PianoStaff <
193       \context Staff = treble {
194         \property Score.midiInstrument = "church organ"
195         \praeludium_right \breakmusic \fugaII_right }
196       \context Staff = bass { 
197         \praeludium_left \breakmusic \fugaII_left }
198     > 
199     \context Staff = pedal {
200       \praeludium_pedal \breakmusic \fugaII_pedal }
201   >
202
203   \paper {
204     \translator {
205     \VoiceContext
206     \name "VoiceOne";
207     verticalDirection = "1";
208     }
209     \translator {
210     \VoiceContext
211     \name "VoiceTwo";
212     verticalDirection = "-1";
213     }
214     \translator {
215     \VoiceContext
216     \name "VoiceThree";
217     verticalDirection = "1";
218     horizontalNoteShift = "1";
219     }
220     \translator {
221     \VoiceContext
222     \name "VoiceFour";
223     verticalDirection = "-1";
224     horizontalNoteShift = "1";
225     }
226    \translator { 
227      \StaffContext 
228      
229      \accepts VoiceFour;
230      \accepts VoiceThree;
231      \accepts VoiceTwo;
232      \accepts VoiceOne;
233    }
234    \translator { \OrchestralScoreContext }
235   }
236
237   \midi {
238     \tempo 4 =96; }
239 }