title [Windmills of Your Mind] 'Michel Legrand
'THIS IS AN ILLUSTRATION OF THE USE OF VARIABLE ARPEGGIATION.
'THE ARPEGGIATOR IS RE-DEFINED AT POINTS IN THE PIECE TO CHANGE
'THE BACKGROUND TEXTURING
include gm.zel
|2 restart
tempo=120 meter=4/4 key e displacement /8
'These chord voicings are in the guitar style.
'You must define the arpeggiator "arp" before using
set [
Emina {{arp,e,b,E,G,B,E@}}
Bdom7a {{arp,d#,b,D#,A,B,F@}}
Edom7a {{arp,d,e,b,G#,D@,E@}}
Amin7a {{arp,c,e,a,E,A,C@}}
Ddom7a {{arp,d,a,D,A,C@,F#@}}
Gmaj7a {{arp,g,b,D,G,B,F#@}}
Cmaj7a {{arp,g,C,E,G,B,E@}}
F#m7_5 {{arp,f#,a,E,A,C@,E@}}
A#dima {{arp,g,b&,E,B&,C#@,G@}}
Gdom7a {{arp,g,b,D,G,B,F^@}}
F#dom7a {{arp,f#,C#,F#,A#,C#@,E^@}}
Bmin {{arp,f#,b,F#,B,D,F#@}}
Amina {{arp,e,a,E,A,C@,E@}}
' CHORD REPEATERS
' ===============
'P1 and P2 are switches which change the definition of {Wind}
'Wind is a repeater which, for P1, turns
' argument X into: @-1X X @+1X X
P1 {set Wind {(@-1?1 ?1 @+1?1 ?1) 4 |} }
'When P2 is active, Wind turns
' argument W into: @-1*2W @-1*2W
P2 {set Wind {(!+20@-1*2?1 !+20@-1*2?1) 4 |} }
' CHORD ARPEGGIATORS
' ==================
'When Q1 is active, arp turns a,b,c,d,e,f into ~a/12!+30bcdeffedcba
Q1 {set arp { ~?1/9!+30?2'?3?4'?5?6?6?5?4'?3'?2?1 } }
'When Q2 is active, arp turns a,b,c,d,e,f into ~a/4@+1!+10def
Q2 {set arp { ~?1/4@+1!+10?4?5?6 }}
]
'SET UP THE TRACKS:
track wind @@6 $$2 !!45 harp P2 Q2
track melody @@5 $$1 !!64 stringEnsemble1
track bass @@3 $$3 !!100 synthStrings1
'============= ARPEGGIO ACCOMPANIMENT ====================
wind
time start
({Wind,
Emina, Emina, Bdom7a, Bdom7a,
Emina, Edom7a, Amin7a, Ddom7a,
Gmaj7a, Cmaj7a, F#m7_5, Bdom7a,
A#dima, Bdom7a }
time now P1 Q2 )2 now P1 Q1
{Wind,
Emina, Emina, Amin7a, Ddom7a,
Gmaj7a, Gdom7a, Cmaj7a, F#dom7a,
Bmin, Edom7a, Amina, Ddom7a,
Gmaj7a, Cmaj7a, F#m7_5, Bdom7a, Q2
Emina, Emina, Bdom7a, Bdom7a,
A#dima, Emina, Bdom7a, Emina}
~/e8bEBGE@
'==================== BASSLINE ===========================
bass start
set [
backTheme1 {{basis,E,E,b,b,E,g,a,D,g,C,F#,b,a#,b}}
backTheme2 {{basis,E,e,a,D,g,g,C,f#,b,E,a,D,g,C,F#,b}}
backTheme3 {{basis,E,E,b,b,a#,E,B,E,E}} ]
set basis { ?1 | } duration 4 backTheme1
set basis { *2?1 1 ?1@+1 |} duration 2 backTheme1
set basis { ?1@+1 *2?1@+1 H5- |}duration 1 backTheme2
set basis { ?1 |} duration 4 backTheme3
'==================== MELODY ==============================
'rp1 is a convenience macro used to generate the melody,
'mot also saves a little work with the melody:
'You can generate variations by re-defining them
set [rp1 {?1 ?1 ?2 ?2 ?1 ?1 ?3 ?3 ?1 ?1 ?4 ?4 ?5 ?6 | *2?7 }]
set [mot { ~?1?1?2?2?3?4 | ?52 }]
melody start duration /2 @@+1
(| 2
{rp1, b,C,E,G,F,E,F, b,C,F,A,G,F,G,
E,F,B,D@,C@,B,C@, D,E,A,C@,B,A,B,
C,D,G,B,A,G,A, b,C,F,A,G,F,G}
{mot ,a#,G,F,E,F}
~FFbbED# )2 now | E2 @@+1
{rp1, b,C,E,G,F,G,A, D,E,A,F,G,A,B}
{rp1, g,a,D,F^,E,D,E, f,g,C#,E,D,C,D}
~bbffbbaag#geeba | C2
{rp1, d,e,a,f,g,a,b, c,d,g,b,a,g,a} (tempo 16-20 +20 )
~ggeeffggeeddd#d | e2 @@-2
{rp1, b,C,E,G,F,E,F, b,C,F,A,G,F,G}
{mot ,a#,G,F,E,G (tempo 8-30)
,b,G,F,E,F} ~FFbbED# | E4