0:00/0:00
// Roll Over Beethoven — Electric Light Orchestra
// 181 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 140 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(181/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note("<A B@2 C@2 D@2 E@2 F G H I@2 ~@85 J@7 ~@23 K L@3 M N@5 O>".pickRestart({
A: "~@10 [g#4,g#5] ~ [g#4,g#5] ~ [g#4,g#5] ~", B: "[[e4,e5]@25 ~ [f#4,f#5] ~ [f#4,f#5] ~ [f#4,f#5] ~]/2",
C: "[[d#4,d#5]@26 [g#4,g#5] ~ [g#4,g#5] ~ [g#4,g#5]@2]/2", // D# G#
D: "[~@2 a5 ~ a5 ~ a5@2 ~@2 e6 ~ e6 ~ e6 ~@11 [f#4,f#5] ~ [f#4,f#5] ~ [f#4,f#5] ~, [e4,e5]@13 ~@3, ~ g#5@3, ~ c#6]/2", // F# E
E: "[~@2 a5 ~ a5 ~ a5@2 ~@2 f#6 ~ f#6 ~ f#6 ~ d#6@9 ~ [g#4,g#5,g#6] ~ [g#4,g#5,g#6] ~ [f#4,f#5,f#6] ~, [d#4,d#5]@25 ~@7, ~@8 g#5@17 ~@7]/2", // G# F# D#
F: "e4@2 [e3,e4] ~ [e3,e4] ~ [f#3,f#4] ~ g#4@2 [g#4,g#5,g#6] ~ [g#4,g#5,g#6] ~ [f#4,f#5,f#6] ~, [e5,e6] g#3, f6 ~@15", // E F# G# F# E
G: "e4@2 [e3,e4] ~ [e3,e4] ~ [f#3,f#4] ~ g#4@2 [g#4,g#5,g#6] ~ [g#4,g#5,g#6] ~ [f#5,f#6] ~, [e5,e6]@4 g#3@3 f#4", // E F# G# F# E
H: "[e3,e4,e5,e6] ~@7 [c#3,c#4,c#5,c#6]@2 ~@6", I: "[g#4@28 ~ g#4 ~@2, [g#3,g#5,g#6]@31 ~]/2",
J: "[~@3 d3@3 ~ f#3@4 a3@4 ~@64 d#5@32 ~, ~@3 e3 ~@11 b2@29 ~@4 b2@27 b4@36 ~, ~ b3@6, ~@67 d#4@44 ~, ~@71 f#4@40 ~]/7",
K: "~@12 [g#2,g#3,g#4]@3 ~", L: "[~ [g#2,g#3,g#4]@3 ~@2 [g#2,g#3,g#4]@4 ~@2 [e3,e4]@34 ~@2, ~@11 e2@35 ~@2]/3",
M: "~@11 [f#2,f#3,f#4]@5", N: "[~@2 [f#2,f#3]@4 ~@2 [f#2,f#3]@6 ~ [d#2,d#3,d#4]@64 ~, ~ f#4@5 ~@2 f#4@4 ~@68]/5",
O: "[d#2,d#3,d#5] ~@15, d#4 ~@7", // D#
})).s("gm_string_ensemble_1").gain(0.5).pan(0.9)
// chords · string ensemble 1 · "Strings r"
const string_ensemble_1_2 = note(`<
A B@2 C@2 D@2 E@2 F G H I@2 ~@4 J@2 K L M N O L P J L@2 J@2 L@2 Q R L S P J L@2 J@2 L@2 Q R L S T U V W X Y Z AA AB Y
Z AC L J L AD AE J L@2 AF N AG AH AI@7 AJ@2 AK AL@2 AM@4 AN@2 AM@2 AO AP AM@2 AQ@2 AR@7 L@2 AS J AT L AU AV AW L AX@5
AY@8 ~@10
>`.pickRestart({
A: "~@10 [g#3,g#4] ~ [g#3,g#4] ~ [g#3,g#4] ~", B: "[[e3,e4]@25 ~ [f#3,f#4] ~ [f#3,f#4] ~ [f#3,f#4] ~]/2",
C: "[[d#3,d#4]@26 [g#3,g#4] ~ [g#3,g#4] ~ [g#3,g#4]@2]/2", // D# G#
D: "[~@2 a4 ~ a4 ~ a4@2 ~@2 e5 ~ e5 ~ e5 ~@11 [f#3,f#4] ~ [f#3,f#4] ~ [f#3,f#4] ~, [e3,e4]@13 ~@3, ~ g#4@3, ~ c#5]/2", // F# E
E: "[~@2 a4 ~ a4 ~ a4@2 ~@2 f#5 ~ f#5 ~ f#5 ~ d#5@9 ~ [g#3,g#4,g#5] ~ [g#3,g#4,g#5] ~ [f#3,f#4,f#5] ~, [d#3,d#4]@25 ~@7, ~@8 g#4@17 ~@7]/2", // G# F# D#
F: "e3@2 [e2,e3] ~ [e2,e3] ~ [f#2,f#3] ~ g#3@2 [g#3,g#4,g#5] ~ [g#3,g#4,g#5] ~ [f#3,f#4,f#5] ~, [e4,e5] g#2, f5 ~@15", // E F# G# F# E
G: "e3@2 [e2,e3] ~ [e2,e3] ~ [f#2,f#3] ~ g#3@2 [g#3,g#4,g#5] ~ [g#3,g#4,g#5] ~ [f#4,f#5] ~, [e4,e5]@4 g#2@3 f#3", // E F# G# F# E
H: "[e2,e4] ~@3 [c#2,c#3,c#4,c#5] ~@3, [e3,e5] ~@15", I: "[g#3@28 ~ g#3 ~@2, [g#2,g#4,g#5]@31 ~]/2",
J: "[e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Em
K: "[e4,g#4,b4] ~ [e4,g#4,b4] ~ [g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~", // E G#m E
L: "[e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~", // E
M: "[f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~", // B
N: "[e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~ [e4,a4,c#5] ~", // A
O: "[e4,g#4,b4] ~ [e4,g4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~", // E
P: "[e4,g#4,b4] ~ [e4,g#4,b4] [e4,b4] g#4!2 [e4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~", // E E5 E
Q: "[d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
R: "[c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~", // A
S: "[e4,g#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // E B
T: "[a4,f#5] f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5", // D
U: "a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 d5", V: "a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5",
W: "a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 a4 d5 g4 d5", X: "g4 d5 g4 d5 g4 d5 g4 d5 g4 d5 g4 d5 g4 d5 g4 d5",
Y: "g4 d5 g4 d5 g4 d5 g4 d5 g4 d5 g4 d5 g4 d5 g4 f#5", Z: "a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5",
AA: "a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 e5", AB: "a4 e5 a4 e5 a4 e5 a4 e5 a4 e5 a4 e5 a4 e5 a4 d5",
AC: "a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 f#5 a4 ~",
AD: "[e4,b4,e5] ~@5 [e4,b4,e5] ~@5 [e4,b4,c#5,d5,e5] ~ [g4,b4] ~", // E5 E7 G
AE: "~@2 [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Em
AF: "[f#4,b4,d#5] ~ [f#4,b4,d#5] [f#4,b4] d#5 ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~ [f#4,b4,d#5] ~", // B B5 B
AG: "[b4,c5,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~", // Cmaj7 E
AH: "[g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~", // E
AI: "[[e3,g#3,b3]@63 [e3,g3,b3]@31 ~ [e3,g#3,b3]@17]/7", AJ: "[~@15 [f#3,b3,d#4]@16 ~]/2", AK: "[a3,c#4,e4]@15 ~",
AL: "[e3,g#3,b3,e4]/2", // E
AM: "[a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~ [a4,d5,f#5] ~", // D
AN: "[b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~ [b4,d5,g5] ~", // G
AO: "[a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~", // A
AP: "[g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~ [g4,b4,d5] ~", // G
AQ: "[~@20 d3@3 ~ f#3@4 a3@4, d2, ~@20 e3 ~@11]/2",
AR: "[~@64 d#5@32 b4 ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~, b2@29 ~@5 b2@63 ~@15, ~ b3@48 ~@7, ~@13 d#4@2 b4@9 ~@4, ~@7 f#4@5 ~@2]/7", // E
AS: "[e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g4,b4] ~", // E Em
AT: "[e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g#4,b4] ~", // Em E
AU: "[e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [d#4,f#4,b4] ~", // E B
AV: "[d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [c#4,e4,a4] ~", // B A
AW: "[c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [c#4,e4,a4] ~ [e4,g#4,b4] ~", // A E
AX: "[[e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~ [e4,g#4,b4] ~@29 a2@2 b2@2 ~@24 d3@2 e3@2 a2@2 b2@2 e2@2, ~@14 e2@28 ~@4 e3@25 ~@9, ~ [e4,g#4,b4]@2 [d4,f#4,a4]@2]/5", // E D
AY: "[~@22 a2@4 b2@4 ~@30 a2@2 b2 ~@29 [a2,b2]@2 ~@2 g#3@17 ~@15, [c4,e4,g4]@30 d3@30 ~@2 e2@30 g2 ~ e3@18 ~@16, ~@32 [a#3,d4,f4]@31 ~ [a3,c#4,e4]@31 [b3,e4]@23 ~@10]/8", // Asus2 C A# A E5
})).s("gm_string_ensemble_1").gain(0.5)
// chords · distortion guitar · "Dist Git"
const distortion_guitar = note(`<
~@13 A B C D E F@2 G H I J@3 K L M N O P Q R S T U V K L M N O P Q R S T U V W X Y Z AA AB AC X AD AE AF AG AH AI AJ
AK@2 AL AM@2 AN AO AP@2 AQ@4 ~@7 AR AS@2 AT AU AV AW@3 AX AY AZ@2 ~@8 AM BA BB BC BD BE AM BF BG BH AM BI BJ@2 BK@2
BL@2 ~@2 BM@2 BN@2 ~@8 BO BP
>`.pickRestart({
A: "~@10 g3@2 g#3@2 b3 ~", B: "[b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [b3,e4]@2 [b3,e4] ~",
C: "g4@2 e4@2 d4 ~ b3@2 a3@2 g3 ~ e3@2 [c3,d3] ~", // Csus2
D: "e3 ~ e3 ~ [b2,e3] ~ [b2,e3] ~ e3 b2 [b2,e3] ~ [b2,e3] ~ [b2,e3] ~, b2 ~@3", // E5
E: "[b2,e3] ~ [b2,e3] ~ [b2,e3] ~ [b2,e3] ~ [b2,e3]@2 b3 ~ b3 ~ b3 ~", // E5
F: "[b3 ~ b3@2 a3 ~ a3 ~ g3 ~ b3@3 ~ b3@4 b3@2 a3 ~ a3@2 g3@2 a3 g3 a3@2 g3 ~]/2",
G: "b3@4 a3@3 ~ g#3@2 ~@2 a3@2 g#3 ~", H: "b3@2 b3@2 a3 ~ [g3,g#3] ~@3 g#3@2 a3@2 g#3 ~",
I: "b3@3 ~ b3@4 b3@3 ~ b3@4", J: "[a3@4 g3@2 e3 ~ g3@2 e3@3 ~@2 b3@3 b3@2 a3@2 g3@2 e3@2 d3@3 ~ [b2,e3]@11 ~@7]/3",
K: "[e3,b3] ~@3 [e3,c#4] ~@3 [e3,b3] ~@5 [e3,a3]@2", L: "~@2 e3 a3 [e3,b3] ~@3 [e3,a3] ~@5 [e3,b3]@2",
M: "~@2 [e3,b3] ~ [e3,c#4] ~@3 [e3,b3] ~@3 c#4 ~ [e3,b3] ~", // E5 C#m E5
N: "[e3,d4]@3 ~ [e3,c#4] ~ [e3,b3]@2 ~@2 [e3,b3] ~ [e3,c#4] ~ [e3,b3] ~", O: "~@2 [e3,f3,a3] ~@5 [e3,a3] ~@7",
P: "~@2 [e3,a3] ~@5 [e3,a3] ~@5 [e3,b3]@2", Q: "~@2 [e3,b3] ~ [e3,c#4] ~@3 [e3,b3] ~@5 [e3,b3]@2",
R: "~@2 b3 e3 ~@4 [e3,b3] ~@5 [f#3,b3]@2", // E5 B5
S: "~@2 [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [e3,a3] ~", // B5 A5
T: "a3 e3 [e3,a3] ~ [e3,a3] ~ a3 ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,b3]@2", // A5 E5
U: "~@2 [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ [e3,b3] ~ b3@2, ~@14 e3 ~", // E5
V: "~@2 [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] ~ [f#3,b3] b3 f#3 ~", // B5
W: "d3 ~ [d3,a3,d4]@2 d3 ~ d3 ~ [d3,a3,d4]@2 d3 ~ d3 ~ d3 ~", // D5
X: "[d3,a3,d4] ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ [d3,b3]@2 [d3,a3]@2, ~@6 [a3,d4]@5 ~@5", // D5 G D5
Y: "d3 ~ [d3,a3,d4] ~ d3 ~ d3 ~ [d3,a3,d4] ~ d3 ~ d3 ~ d3 ~", // D5
Z: "[d3,a3,d4] ~ d3!2 ~@2 d3 ~ d3 ~ d3 ~ [d3,b3]@2 [d3,a3]@2, ~@6 [a3,d4]@5 ~@5", // D5 G D5
AA: "g3 ~ [g3,d4]@2 g3 ~ g3 ~ [g3,d4]@2 g3 ~ g3 ~ g3 ~", // G5
AB: "[g3,d4]@2 g3 ~ g3 ~ g3 ~ g3 ~ g3 ~ [g3,b3] ~ g3 ~, ~@3 d4@3 ~@2", // G5 G
AC: "d3 ~ [d3,a3,d4] ~ d3 ~ d3 ~ [d3,a3,d4]@2 d3 ~ d3 ~ d3 ~", // D5
AD: "a3 ~ [a3,d4,e4] ~ a3 ~ a3 ~ [a3,e4]@2 a3 ~ e4@2 a3 ~, ~@12 a3 ~@3", // Asus4 A5
AE: "g3 ~ [g3,d4]@2 g3 ~ g3 ~ d4@2 g3 ~ [g3,b3] ~ g3 ~, ~@8 g3 ~@7", // G5 G
AF: "[c3,d3] ~ [d3,a3,d4] ~ d3 ~ d3 ~ [a3,d4]@2 d3 ~ [d3,b3] ~ a3 d3, ~@8 d3 ~@7", // Csus2 D5 G
AG: "[d3,a3,d4] ~ [d3,a3] ~ [d3,b3]@2 [d3,a3] ~ [d3,a3,d4] ~ [d3,a3,d4]@2 [d3,b3]@2 [d3,a3] ~", // D5 G D5 G D5
AH: "~ [b3,e4] ~@2 [b3,d4,e4] ~@3", AI: "~@2 [a3,e4] ~@5 [a3,e4]@2 ~@6", AJ: "~ [b3,e4] ~@2 [b3,e4] ~ [a3,b3,e4] ~",
AK: "[[e3,b3]@2 ~@4 [e3,b3]@7 ~ e3@4 e4 ~@5 [a3,e4]@2 ~@6, ~@7 a3@3 ~@6]/2", AL: "~ [a3,e4] ~@2 [a3,e4] ~@2 [e3,b3]",
AM: "~ [b3,e4] ~@2 [b3,e4] ~@3", AN: "~ [f#3,b3] ~@2 [f#3,b3] ~@3", AO: "~ [e3,a3] ~@2 [e3,a3] ~@3",
AP: "[~@2 [b3,e4]@2 ~@4 [b3,e4]@2 ~@4 [b3,e4]@5 ~ b3@2 [a3,b3]@2 [b3,e4]@4 ~@4]/2", AQ: "[[b2,e3]@63 ~]/4",
AR: "~@5 [a4,d5]!3", AS: "[a4,d5]!2 b4 g4 a4 [a4,d5]!3", AT: "f5!4", AU: "f5@3 d5@2 c5@2 ~ d5@3 c5@3 d5@2",
AV: "f5@2 d5 c5 d5 c5@2 [d4,g4]", // G5
AW: "[[d4,g4]!6 ~ d4@2 d5@2 a4 c5 d5@2 d5@2 d5@2 a4 c5 d5@2 d5, ~@6 [d4,g4] ~@17, ~@13 g4@2 ~@33]/3", AX: "e5!4",
AY: "d5@3 d5@3 d5@2 d5@2 ~ a4@3 b4@2", AZ: "[d5@29 ~@3]/2", BA: "[b3,e4] ~@2 [b3,e4]@3 ~@2",
BB: "~@3 [b3,e4]@2 ~@3 [b3,e4]@2 ~@6", BC: "[b3,e4]@2 ~@4 [b3,e4]@7 ~@3", BD: "~ [a3,e4] ~@2 [a3,e4] ~@3",
BE: "[a3,e4]@2 ~@4 [a3,e4]@7 ~@3", BF: "[b3,e4] ~@2 [b3,e4]@4 ~", BG: "~ [b3,f#4] ~@2 [b3,f#4] ~@3",
BH: "[a3,e4] ~@2 [a3,e4]@4 ~", BI: "[b3,e4]@2 ~@4 [b3,e4]@5 ~@2 b3 ~@2, ~@6 e4 ~", BJ: "e3/2",
BK: "[e4@26 a4@2 ~ b4@3]/2", BL: "[~ e5@30 ~]/2", BM: "[e4@28 ~@2 b2 ~]/2", BN: "[[e3,b3,e4]@9 ~@7]/2",
BO: "~@5 d#2@3", BP: "~ [d#3,d#4,d#5]@6 ~@9",
})).s("gm_distortion_guitar").gain(0.5)
// bass · electric bass finger · "Bass Git"
const bass = note(`<
~@18 A@2 B C D E F G B H B I J K B@2 L M N O B H B I J K B@2 L M N O P Q R S T U V W X Y Z AA F H F AB AC AD B@2 AE AF
AG AH AI AJ AK AL AM AN AO AP AQ AR AS@2 W AT R AU AV AW Q AX H AY Q AZ ~@8 BA B BB BC J BD BE BF L BG BH BI BJ@2 BK@2
BL@4 BM@2 BN ~@11
>`.pickRestart({
A: "a1 ~ a1@2 c#2 ~ c#2 ~ e2 ~ e2@2 f#2@2 e2@2", B: "e1 ~ e1 ~ g#1 ~ g#1 ~ b1 ~ b1@2 c#2@2 b1@2",
C: "e1 ~ e1 ~ g#1 ~@3 b1 ~ b1@2 c#2@2 b1@2", D: "b1 ~ b1@2 d#2 ~ d#2@2 f#2 ~ f#2@2 d#2 ~ b1@2",
E: "a1 ~ a1 ~ c#2 ~ c#2 ~ e2 ~ e2@2 c#2 ~ c#2@2", F: "e1 ~ e1@2 g#1 ~ g#1 ~ b1 ~ b1@2 c#2@2 b1@2",
G: "e2 ~ e2@2 c#2 ~ c#2 ~ b1 ~ b1@2 g#1 ~ g#1@2", H: "a1 ~ a1 ~ c#2 ~ c#2 ~ e2 ~ e2@2 f#2@2 e2@2",
I: "e1 ~ e1 ~ g#1 ~ g#1 ~ b1 ~ b1@2 c#2@2 e2@2", J: "a1 ~ a1@2 c#2 ~ c#2@2 e2 ~ e2@2 f#2@2 e2@2",
K: "a1 ~ a1@2 c#2 ~ c#2@2 e2 ~ e2@2 f#2@2 e2 ~", L: "b1 ~ b1 ~ d#2 ~ d#2 ~ f#2 ~ f#2@2 b1@2 a#1@2",
M: "a1 ~ a1@2 c#2 ~ c#2 ~ e2 ~ e2@2 c#2 ~ c#2 ~", N: "e1 ~ e1 ~ g#1 ~ g#1 ~ b1 ~ b1@2 c#2@2 b1 ~",
O: "b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~ b1 ~", P: "d2 ~ d1@2 f#1 ~ f#1 ~ a1 ~ a1@2 b1@2 a1@2",
Q: "d1 ~ d1@2 f#1 ~ f#1 ~ a1 ~ a1@2 b1@2 a1@2", R: "d1 ~ d1 ~ f#1 ~ f#1 ~ a1 ~ a1@2 b1@2 a1@2",
S: "d1@2 d2@2 e1@2 e2 ~ f1@2 f2 ~ f#1@2 f#2@2", T: "g1 ~ g1@2 b1 ~ b1@2 d2 ~ d2@2 e2@2 d2@2",
U: "g1 ~ g1@2 b1 ~ b1@2 d2 ~ d2@2 e2@4", V: "d1 ~ d1 ~ f#1 ~ f#1 ~ a1 ~ a1 ~ b1@2 a1@2",
W: "d1 ~ d1@2 f#1 ~ f#1@2 a1 ~ a1@2 b1@2 a1 ~", X: "a1 ~ a1@2 c#2 ~ c#2@2 e2@2 e2@2 a1@2 g#1@2",
Y: "g1 ~ g1@2 b1 ~ b1@2 [d2,e2] ~ d2@2 e2@2 [c2,d2] ~", Z: "d1 ~ d1@2 f#1 ~ f#1@2 a1 ~ a1 ~ b1@2 a1@2",
AA: "d1 ~ d1@2 f#1 ~ f#1 ~ a1 ~ a1 ~ b1@2 a1@2", AB: "e2@2 [e1,f1] ~ e1@2 e2@2 e1 ~ e1 ~ e2@2 a1@2",
AC: "~@2 a1@2 c#2 ~ c#2@2 e2 ~ e2@2 f#2@2 e2@2", AD: "a1 ~ a1 ~ c#2 ~ c#2 ~ e2 ~ e2@2 f#2@2 e2@2, ~@14 f#2 ~",
AE: "b1 ~ b1 ~ d#2 ~ d#2@2 f#2 ~ f#2@2 d#2@2 b1 ~", AF: "a1 ~ a1@2 c#2 ~ c#2@2 e2 ~ e2@2 c#2 ~ c#2 ~",
AG: "e1 ~ e1 ~ g#1 ~ g#1 ~ b1 ~ b1@2 c#2 ~ c#2@2", AH: "e2 ~ e2@2 c#2 ~ c#2@2 b1 ~ b1@2 g#1 ~ g#1@2",
AI: "[d1,e2] ~ e1 ~ f#1 ~ e1 ~ g1 ~ e1 ~ a1@2 g1@2", AJ: "e1 ~ e1@2 f#1@2 e1 ~ g1 ~ e1 ~ a1@2 g1@2",
AK: "e1 ~ e1 ~ f#1 ~ e1 ~ g1 ~ e1 ~ a1@2 g1@2", AL: "e1 ~ e1 ~ f#1@2 e1 ~ g1 ~ e1 ~ a1@2 g1@2",
AM: "e1 ~ e1 ~ f#1@2 e1 ~ g1@2 e1 ~ a1 ~ g1@2", AN: "e1 ~ e1 ~ f#1 ~ e1 ~ g1 ~ e1 ~ a1 ~ g1@2",
AO: "e1 ~ e1 ~ f#1 ~ e1 ~ g1 ~ e1 ~ a1 ~ g1 ~", AP: "e1 ~ e1 ~ f#1@2 e1 ~ g1@2 e1 ~ a1@2 e1@2",
AQ: "b1 ~ b1@2 c#2@2 b1 ~ b1 ~ b1 ~ b1 ~ b1 ~", AR: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1@2",
AS: "e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~ e1 ~", AT: "d1 ~ d1@2 f#1 ~ f#1@2 a1 ~ a1@2 b1@2 a1@2",
AU: "d1@2 d2@2 e1@2 e2@2 f1@2 f2 ~ f#1@2 f#2@2", AV: "g1 ~ g1 ~ b1 ~ b1@2 d2 ~ d2@2 e2 ~ d2@2",
AW: "g1 ~ g1 ~ b1 ~ b1 ~ d2 ~ d2@2 e2@2 d2@2", AX: "d1@2 d2@2 d1 ~ d1@2 d2@2 d1 ~ d1@2 d2@2",
AY: "g1 ~ g1@2 b1 ~ b1 ~ d2 ~ d2@2 e2@2 [d2,e2] ~", AZ: "d1 ~ d1 ~ f#1 ~ f#1 ~ a1 ~ a1 ~ b1@2 a1 ~",
BA: "e1 ~ e1@2 g#1 ~ g#1@2 b1 ~ b1@2 c#2@2 b1@2", BB: "e1 ~ e1 ~ g#1 ~ g#1@2 b1 ~ b1@2 c#2@2 [b1,c2] ~",
BC: "e1@2 e2@2 f#1@2 f#2@2 g1@2 g2 ~ g#1@2 g#2@2", BD: "a1 ~ a1@2 c#2 ~ c#2@2 e2 ~ e2@2 f#2@3 ~",
BE: "e1@2 e1@2 g#1 ~ g#1@2 b1 ~ b1@2 c#2@2 b1@2, f1 ~@15", BF: "e1 ~ e1@2 g#1 ~ g#1@2 b1 ~ b1@2 c#2@2 b1 ~",
BG: "a1 ~ a1@2 c#2 ~ c#2@2 e2 ~ e2@2 c#2@2 a1@2", BH: "e1 ~ e1@2 g#1 ~ g#1@2 b1 ~ b1 ~ c#2@2 b1@2",
BI: "e1 ~ e1@2 g#1 ~ g#1 ~ b1 ~ b1 ~ c#2@2 b1@2", BJ: "[e1@13 ~@3]/2", BK: "e2/2", BL: "[e1@29 ~@3]/2",
BM: "[e1@14 a1 d2, ~@30 b1 ~]/2", BN: "e2",
})).s("gm_electric_bass_finger").gain(0.5)
// drums · kick
const kick = s("bd").struct(`<
~@18 A@4 B A@2 C A@3 C D B C E C B C F A@3 C D B C E C B C F G H C I C A C E C@3 F D C@2 J K A C E C@2 A ~@2 I ~ I ~ H
~ L ~ L ~@2 H@2 C M N B C@2 H C@3 F ~ F ~ F ~ F ~ C@7 O C@3 P F Q F R F Q F ~ F Q F S T ~@2 U V W X Y Z ~
>`.pickRestart({
A: "x ~@2 x!2 ~@3", B: "x ~@3 x ~@2 x", C: "x!2", D: "x ~@2 x!2 ~ x ~", E: "x ~@2 x ~@4", F: "x", G: "x ~ x!2",
H: "x ~@3 x!2 ~@2", I: "x ~@2 x ~ x ~@2", J: "~@7 x", K: "~ x", L: "x ~@5 x ~@3 x!2 ~@4", M: "x ~@14 x",
N: "x ~@3 x ~ x!2", O: "x!2 ~ x ~ x ~ x", P: "x ~@4 x ~@2", Q: "~@5 x ~@2", R: "~@10 x!2 ~@4", S: "x ~@2 x",
T: "~ x ~@5 x ~@5 x ~@2", U: "~@11 x ~@4", V: "~ x ~@3 x ~@2", W: "~ x ~@14", X: "~@9 x ~@6", Y: "x ~@8 x ~@6",
Z: "~@3 x ~@12",
})).gain(0.73)
// drums · snare
const snare = s("sd").struct(`<
~@17 A B@3 C B@3 D B@7 A B@3 E B@7 A B@3 E B@3 F B@3 G B@3 E B H I J B@3 K C B L M@11 N O B@3 P B@3 Q B@3 I B@3 E B@2
R S C@3 L B C B T C R B@9 U B@3 V ~ W X ~@2 Y Z AA ~ AB
>`.pickRestart({
A: "~ x ~@2 x ~ x!2", B: "~ x ~ x", C: "~@2 x ~@3 x!2", D: "~ x!2 ~@2 x!2 ~", E: "~ x!7", F: "~ x!2 ~ x ~ x!2",
G: "~ x!2 ~ x!2 ~@2", H: "~@2 x!2 ~@2 x ~", I: "~@2 x!2 ~@2 x!2", J: "x ~@2 x ~@2 x ~", K: "~ x!2 ~ x!4",
L: "~@2 x ~@2 x!3", M: "x!8", N: "x ~ x ~ x ~ x ~ x ~ x ~ x ~ x!2", O: "x ~ x!3 ~ x!3 ~ x!3 ~@3",
P: "~@2 x!3 ~ x!3 ~ x!3 ~ x!2", Q: "~ x ~@5 x", R: "~@2 x ~@2 x ~@2", S: "x ~@2 x ~ x!2 ~", T: "~ x!3",
U: "~@2 x ~ x!4", V: "~ x ~@14", W: "~@6 x!3 ~ x!2 ~ x ~ x", X: "~ x ~ x ~ x ~ x ~ x ~ x ~@2 x ~", Y: "~@13 x!3",
Z: "~ x!2 ~ x ~ x ~@5 x ~@3", AA: "~@2 x ~@4 x", AB: "x",
})).gain(0.73)
// drums · low tom
const low_tom = s("lt").struct("<~@37 A ~@11 A ~@3 B ~@3 A ~@3 C ~@7 B ~@31 C ~@2 D E ~@3 B ~@3 F ~@26>".pickRestart({
A: "~@6 x!2", B: "~@7 x", C: "~ x!7", D: "~@5 x ~@2", E: "~@3 x ~@4", F: "~@3 x",
})).gain(0.73)
// drums · hihat
const hihat = s("hh").struct(`<
~@13 A@5 ~@8 B C@2 D B C@3 B C@2 E B C@2 D B C@3 B C@2 E ~@12 B C@2 F G C H I J B ~@2 K@11 L ~@54
>`.pickRestart({
A: "x!4", B: "~ x!7", C: "x!8", D: "x!5 ~ x ~", E: "x!4 ~@4", F: "~ x!2 ~@2 x ~@2", G: "~ x ~ x!5",
// … 39 more lines
More by Electric Light Orchestra
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.