-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathlondon_bridge-lowlevel.midica
113 lines (101 loc) · 2.92 KB
/
london_bridge-lowlevel.midica
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// This example file provides the traditional song
// "London Bridge is Falling Down".
//
// This file assumes standard program configuration:
// - Note System: International: c, d, e, ... (lower case)
// - Half Tone Symbols: # / b (c#, cb, d#, db, ...)
// - Octave Naming: +n/-n
// - Syntax: Mixed Case Syntax
META
copyright (c) Mozilla Public License, v. 2.0, author: Jan Trukenmüller
title London Bridge is Falling Down
composer traditional
lyrics traditional
END
INSTRUMENTS
0 LEAD_SAWTOOTH Vocals
1 E_GUITAR_CLEAN Guitar
END
// global settings
* tempo 150
* time 4/4
* key d/maj
// initialize channel defaults
0 - - d=75%, v=100
1 - - d=100%, v=70
// execute the verses with different lyrics
CALL verse(Lon, don_, Bridge_, is_, fal, ling_, down)
CALL verse(Build_, it_, up_, with_, wood_, and_, clay)
CALL verse(Wood_, and_, clay_, will_, wash_, a, way)
CALL verse(Build_, it_, up_, with_, bricks_, and_, mortar)
CALL verse(Bricks_, and_, mor, tar_, will_, not_, stay)
CALL verse(Build_, it_, up_, with_, iron_, and_, steel)
CALL verse(Iron_, and_, steel_, will_, bend_, and_, bow)
CALL verse(Build_, it_, up_, with_, silver_, and_, gold)
CALL verse(Silver_, and_, gold_, will_be_, stolen_, a, way)
CALL verse(Set_, a_, man_, to_, watch_, all_, night)
CALL verse(Suppose_, the_, man_, should_, fall_, a, sleep)
CALL verse(Give_him_, a_, pipe_, to_, smoke_, all_, night)
FUNCTION verse
CALL vocals($[0], $[1], $[2], $[3], $[4], $[5], $[6])
CALL guitar
END
///////////////////////////
// vocals
///////////////////////////
FUNCTION vocals
CALL vocals_m1($[0], $[1], $[2], $[3]) // London bridge is
CALL vocals_m2($[4], $[5], $[6]\c\r) // falling down,
CALL vocals_m3($[4], $[5], $[6]\c_) // falling down,
CALL vocals_m2($[4], $[5], $[6].\r) // falling down.
CALL vocals_m1($[0], $[1], $[2], $[3]) // London bridge is
CALL vocals_m2($[4], $[5], $[6].\r) // falling down,
CALL vocals_m7_8() // My fair lady.
END
FUNCTION vocals_m1
0 a /4. l=$[0] // Lon-
0 b /8 l=$[1] // don
0 a /4 l=$[2] // bridge
0 g /4 l=$[3] // is
END
FUNCTION vocals_m2
0 f# /4 l=$[0] // fal-
0 g /4 l=$[1] // ling
0 a /2 l=$[2] // down
END
FUNCTION vocals_m3
0 e /4 l=$[0] // fal-
0 f# /4 l=$[1] // ling
0 g /2 l=$[2] // down
END
FUNCTION vocals_m7_8
0 e /2 l=My_
0 a /2 l=fair_
0 f# /4 l=La
0 d /2. l=dy.\n
END
///////////////////////////
// guitar
///////////////////////////
// define some guitar chords
CHORD amaj a-, e, a, c#+
CHORD dmaj d, a, d+, f#+
// define a picking pattern for both chords
PATTERN picking_pattern
0 /8
1 /8
2 /8
1 /8
3 /8
1 /8
2 /8
3 /8
END
FUNCTION guitar
// use the same pattern with both chords
1 dmaj picking_pattern q=2
1 amaj picking_pattern
1 dmaj picking_pattern q=3
1 amaj picking_pattern
1 dmaj picking_pattern
END