0:00/0:00
// Waarom nou jij — Marco Borsato
// 70 bpm, 4/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 87 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/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.
// chords · piano · "A.PIANO 1"
const piano = note(`<
A@2 B C D E B C D E B C D E F G H I J K L M N O P Q R S T U V S T U W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AH AI AJ
AK AH AI AL AM AN AO AP AM AQ AO AR AS AT AU AV AS AW AU AX AS AY AU AZ AS AW AU AX AS AY AU AZ AS AY ~
>`.pickRestart({
A: "[a#1@95 ~]/2", B: "~@3 d3@3 ~@6 c4@11 ~, a#2@47 ~, a#3@23 ~@25, ~@4 f3@11 ~, ~@6 d3@9 ~",
C: "~@2 d3@2 ~@4 c4@7 ~, g2@23 ~, a#3@23 ~@25, ~@4 g3@11 ~, ~@6 d3@9 ~",
D: "~@2 d#3@2 ~@4 c4@7 ~, d#2@23 ~, a#3 ~, ~@4 g3@11 ~, ~@6 d#3@9 ~",
E: "~@3 d#3@3 ~@6 c4@11 ~, f2@11 ~, a#3 ~, ~@4 g3@11 ~, ~@9 d#3@14 ~",
F: "~@3 f3@3 ~@6 d#4@11 ~, c#2@47 ~, c#4@23 ~@25, ~@4 g#3@11 ~, ~@6 f3@9 ~",
G: "~@2 f3@2 ~@4 d#4@7 ~, a#1@23 ~, c#4@23 ~@25, ~@4 a#3@11 ~, ~@6 f3@9 ~",
H: "~@2 f#3@2 ~@4 d#4@7 ~, f#1@23 ~, c#4 ~, ~@4 a#3@11 ~, ~@6 f#3@9 ~",
I: "~@3 f#3@3 ~@6 d#4@11 ~, g#1@11 ~, c#4 ~, ~@4 a#3@11 ~, ~@9 f#3@14 ~",
J: "~@6 g#3@6 ~@12 f#4@23 ~, e2@47 ~, e4@23 ~@25, ~@4 b3@11 ~, ~@6 g#3@9 ~",
K: "~@3 g#3@3 ~@6 f#4@11 ~, c#2@23 ~, e4@23 ~@25, ~@4 c#4@11 ~, ~@6 g#3@9 ~",
L: "~@2 a3@2 ~@4 f#4@7 ~, a1@23 ~, e4 ~, ~@4 c#4@11 ~, ~@6 a3@9 ~",
M: "~@3 a3@3 ~@6 f#4@11 ~, b1@11 ~, e4 ~, ~@4 c#4@11 ~, ~@9 a3@14 ~",
N: "~@6 b3@6 ~@6 b3@6 ~@6 b3@6 ~@6 b3@5 ~, [g2,g3]@47 ~, [d4,g4]@11 ~ [d4,g4]@12 [d4,a4]@11 ~ [d4,a4]@11 ~", // G G5 D5
O: "~ b3 ~ b3 ~ b3 ~ b3, [e2,e3]@23 ~, [e4,g4]@11 ~ [e4,g4]@11 ~ [e4,a4]@11 ~ [e4,a4]@12", // E Em A5
P: "~@6 c4@6 ~@6 c4@5 ~@7 c4@6 ~@6 c4@6, [c2,c3]@23 ~, [e4,g4]@11 ~ [d4,g4]@11 ~ [e4,a4]@11 ~ [e4,a4]@11 ~", // C Em G5 A5
Q: "~@6 c4@5 ~@7 d4@6 ~@6 d4@5 ~@7 e4@6, [d2,d3]@23 ~ [e2,e3]@23 ~, [e4,g4]@11 ~ [f#4,a4]@11 ~ [f#4,a4]@11 ~ [g#4,b4]@12", // D E Em F#m G#m
R: "~@6 c#4@6 ~@6 c#4@6 ~@6 c#4@6 ~@6 c#4@5 ~, [a2,a3]@47 ~, [e4,a4]@11 ~ [e4,a4]@12 [e4,b4]@11 ~ [e4,b4]@11 ~", // A A5 E5
S: "~ c#4 ~ c#4 ~ c#4 ~ c#4, [f#2,f#3]@23 ~, [e4,a4]@11 ~ [e4,a4]@11 ~ [e4,b4]@11 ~ [e4,b4]@12", // F# A5 E5
T: "~@6 d4@6 ~@6 d4@5 ~@7 d4@6 ~@6 d4@6, [d2,d3]@23 ~, [e4,a4]@11 ~ [e4,a4]@11 ~ [e4,b4]@11 ~ [e4,b4]@11 ~", // D A5 E5
U: "~@6 d4@5 ~@7 d4@6 ~@6 e4@5 ~@7 e4@6, [e2,e3]@47 ~, [f#4,a4]@11 ~ [f#4,a4]@11 ~ [g#4,b4]@11 ~ [g#4,b4]@12", // E F#m G#m
V: "~@6 c#4@6 ~@6 c#4@6 ~@6 c#4@6 ~@6 c#4@5 ~, [a2,a3]@47 ~, [e4,a4]@11 ~ [e4,a4]@11 ~ [e4,b4]@11 ~ [e4,b4]@11 ~", // A A5 E5
W: "~@6 e4@6 ~@6 e4@6 ~@6 e4@6 ~@6 e4@5 ~, [c2,c3]@47 ~, [g4,c5]@11 ~ [g4,c5]@11 ~ [g4,d5]@11 ~ [g4,d5]@11 ~", // C C5 G5
X: "~ e4 ~ e4 ~ e4 ~ e4, [a1,a2]@23 ~, [g4,c5]@11 ~ [g4,c5]@11 ~ [g4,d5]@11 ~ [g4,d5]@12", // A C5 G5
Y: "~@6 f4@6 ~@6 f4@5 ~@7 f4@6 ~@6 f4@6, [f1,f2]@23 ~, [g4,c5]@11 ~ [g4,c5]@11 ~ [g4,d5]@11 ~ [g4,d5]@11 ~", // F C5 G5
Z: "~@6 f4@5 ~@7 f4@6 ~@6 g4@5 ~@7 g4@6, [g1,g2]@47 ~, [a4,c5]@11 ~ [a4,c5]@11 ~ [b4,d5]@11 ~ [b4,d5]@12", // G Am Bm
AA: "~@6 c#5@5 ~@7 c#5@5 ~@7 b4@5 ~@7 c#5@6, [a1,a2]@47 ~, [e4,g4,d5]@11 ~ [d4,g4,b4]@11 ~ [e4,a4,c#5]@11 ~ [d4,g4,b4]@12", // A Em7 G A G
AB: "~@6 d4@6 ~@6 d4@6 ~@6 d4@6 ~@6 d4@5 ~, [d2,d3]@47 ~, [e4,f#4,a4]@11 ~ [e4,f#4,a4]@11 ~ [e4,f#4,a4]@11 ~ [e4,f#4,a4]@11 ~", // D F#m7
AC: "e4@3 f#4@3 e4@3 f#4@3 f#4@2 ~ f#4@3 ~@3 f#4@3, [b1,b2]@23 ~, [a4,c#5]@11 ~ [a4,c#5]@11 ~ [a4,d5]@11 ~ [a4,d5]@12", // B A D5
AD: "~@6 g4@6 ~@6 g4@5 ~@7 g4@6 ~@6 g4@5 ~, [g1,g2]@23 ~, [d4,a4,b4]@11 ~ [d4,a4,b4]@11 ~ [d4,a4,b4]@11 ~ [d4,a4,b4]@11 ~", // G Bm7
AE: "~@6 e4@5 ~@7 e4@5 ~ [e4,g4,a4,e5]@15 ~@9, a1@47 ~, a2@5 ~, [g4,a4,d5]@11 ~ [g4,a4,d5]@11 ~@25", // A7 Gsus2
AF: "~@3 f#3@3 ~@6 e4@11 ~, [d2,d3]@47 ~, d4@23 ~@25, ~@4 a3@11 ~, ~@6 f#3@9 ~", // D
AG: "~@2 f#3@2 ~@4 e4@7 ~, [b1,b2]@23 ~, d4@23 ~@25, ~@4 b3@11 ~, ~@6 f#3@9 ~", // B
AH: "~@2 g3@2 ~@4 e4@7 ~, [g1,g2]@23 ~, d4 ~, ~@4 b3@11 ~, ~@6 g3@9 ~", // G
AI: "~@3 g3@3 ~@6 e4@11 ~, [a1,a2]@11 ~, d4 ~, ~@4 b3@11 ~, ~@9 g3@14 ~", // A
AJ: "~@6 f#3@6 ~@12 e4@23 ~, [d2,d3]@47 ~, d4@23 ~@25, ~@4 a3@11 ~, ~@6 f#3@9 ~", // D
AK: "~@3 f#3@3 ~@6 e4@11 ~, [b1,b2]@23 ~, d4@23 ~@25, ~@4 b3@11 ~, ~@6 f#3@9 ~", // B
AL: "~@6 a3@6 ~@6 a3@6 ~@6 b3@6 ~@6 b3@5 ~, [b1,b2]@23 ~ [b1,b2]@23 ~, [b3,c#4,f#4]@11 ~ [b3,c#4,f#4]@11 ~ [d#4,f#4]@11 ~ [d#4,f#4]@11 ~", // B Bsus2 D#m
AM: "~@6 g#3@6 ~@6 g#3@6 ~@6 g#3@6 ~@6 g#3@5 ~, [e2,e3]@47 ~, [b3,e4]@11 ~ [b3,e4]@12 [b3,f#4]@11 ~ [b3,f#4]@11 ~", // E E5 B5
AN: "~ g#3 ~ g#3 ~ g#3 ~ g#3, [c#2,c#3]@23 ~, [c#4,e4]@11 ~ [c#4,e4]@11 ~ [c#4,f#4]@11 ~ [c#4,f#4]@12", // C# C#m F#5
AO: "~@6 a3@6 ~@6 a3@5 ~@7 a3@6 ~@6 a3@6, [a1,a2]@23 ~, [c#4,e4]@11 ~ [c#4,e4]@11 ~ [c#4,f#4]@11 ~ [c#4,f#4]@11 ~", // A C#m F#5
AP: "~@6 a3@5 ~@7 a3@6 ~@6 b3@5 ~@7 b3@6, [b1,b2]@47 ~, [c#4,e4]@11 ~ [c#4,e4]@11 ~ [d#4,f#4]@11 ~ [d#4,f#4]@12", // B C#m D#m
AQ: "~@2 g#3@2 ~@2 g#3@2 ~@2 g#3@2 ~ c#4 g#3@2, [c#2,c#3]@23 ~, [c#4,e4]@11 ~ [c#4,e4]@11 ~ [c#4,f#4]@11 ~ f#4@12", // C# C#m F#5
AR: "~@6 a3@5 ~@7 a3@6 [d#4,f#4]@6 ~@3 [f#4,b4]@3 ~@6 [f#4,b4]@6, [b1,b2]@47 ~, [c#4,e4]@11 ~ [c#4,e4]@11 ~@7 b3@5 ~ b3@11 ~", // D#m B5 B C#m
AS: "~@6 b3@6 ~@6 b3@6 ~@6 b3@6 ~@6 b3@5 ~, [e2,e3]@47 ~, [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~", // E Esus2
AT: "~ b3 ~ b3 ~ b3 ~ b3, [c#2,c#3]@23 ~, [d#4,f#4,b4]@11 ~ [d#4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~", // C# B Esus2
AU: "~@6 a3@5 ~@7 a3@5 ~@7 b3@6 ~@6 b3@5 ~, [a1,a2]@23 ~, [c#4,e4,b4]@11 ~ [c#4,e4,b4]@11 ~ [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~", // A C#m7 Esus2
AV: "~@6 b3@5 ~@7 b3@5 ~ [b3,f#4]@5 ~ [f#4,b4]@6 b3 ~@2 f#4@2 b3@5 ~@2, [b1,b2]@47 ~, [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~@7 b3@2 ~@7 b4@8 ~", // B5 B Esus2
AW: "~@6 b3@6 ~@6 b3@6 [f#4,b4]@6 b3@3 ~@3 b3@6 [e4,f#4,b4]@5 ~, [c#2,c#3]@23 ~, [d#4,f#4,b4]@11 ~ [d#4,f#4,b4]@11 ~ e4@5 ~@4 [e4,f#4,b4]@8 ~@7", // B5 Esus2 C# B Esus2
AX: "~@6 b3@5 ~ b4@5 ~@7 [b4,b5]@6 ~@9 f#4@2 ~ [f#4,b4,f#5]@5 ~, b1@47 ~, b2@18 [b4,b5]@5 ~@7 [f#4,b4,f#5]@6 b3@6 ~@6, [e4,f#4,b4]@11 ~ [e4,f#4]@9 b2@10 ~@2 b2@12 ~@3", // B B5 B B5 Esus2
AY: "~@3 b3@3 ~@3 b3@3 ~@3 b3@2 ~@4 b3@3, [c#2,c#3]@23 ~, [d#4,f#4,b4]@11 ~ [d#4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~ [e4,f#4,b4]@11 ~", // C# B Esus2
AZ: "~@6 b3@5 ~@13 [f#4,b4]@3 b3@6 ~@9 [f#4,b4]@6, b1@47 ~, b2@18 b3@5 ~@10 [f#4,b4]@8 ~@7, [e4,f#4,b4]@11 ~ [e4,f#4,b4]@9 b2@10 ~@2 b2@12 ~@3, ~@36 b3@11 ~", // B5 Esus2
})).s("gm_piano").gain(0.33)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~@14 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG ~@4 AH AI AJ AG AK AL AM AN AO AP AQ AR
AS AT AU AV AW AT AX AY AZ AT BA BB BC BD BE BF BG BH BI BJ BK AT BL ~
>`.pickRestart({
A: "c#2@47 ~", B: "a#1@23 ~", C: "f#1@23 ~", D: "g#1@37 ~@11", E: "e2@14 g#1 b1", F: "c#2@23 ~", G: "a1@23 ~",
H: "b1@23 ~", I: "g2@42 d2@2 ~ g2@3", J: "e2@34 ~@2 e2@9 ~@3", K: "c2@17 ~ c2@5 ~ c2@18 c2@2 ~ c#2@3",
L: "d2@5 ~ d2@5 ~ d2@5 ~ d2@5 ~ e2@5 ~ e1@5 ~ e1@5 ~ g#1@6, ~@42 g1 ~@5", M: "a1@17 ~ a1@5 ~ a1@11 ~ a2@9 ~@3",
N: "f#2@17 ~ f#2@5 ~ f#2@16 ~@2 a1@2 b1@4", O: "d2@17 ~ d2@5 ~ d2@17 ~ d2@2 ~ d#2@3", P: "e2@17 ~ e2@5 ~ e2@23 ~",
Q: "a1@17 ~ a1@5 ~ a1@8 ~ f#1@2 ~ a1@5 ~ a2@2 ~ g#2@3", R: "f#2@17 ~ f#2@5 ~ f#2@16 ~@2 f#2@2 ~ b1@3",
S: "d2@17 ~ d2@5 ~ d2@17 ~ b1@2 ~ d2@3", T: "e2@20 ~ e2@2 ~ e1@23 ~",
U: "c2@17 ~ c2@5 ~ c2@11 ~@4 e1@2 ~ g1@2 ~ a1@2 ~", V: "a1@17 ~ a1@5 ~ a1@6 b2@3 c3@2 ~ b2@2 ~ g2@3 d2@3 c2@2 ~",
W: "f1@17 ~ f1@5 ~ f1@14 ~ c2@3 c2@2 ~ f2@3", X: "g1@11 ~ g2@6 g1@2 ~ g1@3 g1@8 ~ g1@2 ~ g1@6 g2@5 ~",
Y: "a1@5 ~@4 a1@2 ~ a1@2 ~@4 a1@5 ~ a1@5 ~ a1@5 ~ a1@5 ~ a1@3 c#2@3, ~@6 a2@5 ~@37",
Z: "d2@17 ~ d2@5 ~ d2@15 ~@3 f#1@2 ~ a1@3", AA: "b1@17 ~ b1@5 ~ b1@6 c#3@3 d3@3 b2@3 a2@2 ~ d2@3 b1@3",
AB: "g1@17 ~ g1@5 ~ g1@17 ~ g1@2 ~ a1@3", AC: "a1@17 ~ a1@5 ~ a1@5 ~ d3@5 ~ c#3@2 ~ a2@2 ~@4 e2@3, ~@29 c#3@2 ~@17",
AD: "d2@46 ~ b1", AE: "b1@47 ~", AF: "g2@47 ~", AG: "a2@47 ~", AH: "~@3 d2@2 ~@19", AI: "~@15 b1@2 ~@7",
AJ: "~@21 g1@2 ~", AK: "b2@23 ~ b2@5 a1 b1@5 ~ d#2@5 ~ b1@5 ~", AL: "e1@21 b1@2 ~",
AM: "c#2@30 d#3@3 e3@2 ~ d#3@2 ~ b2@2 ~ e2@2 ~ b1@3", AN: "a1@40 ~@2 a1@2 ~ a#1@3", AO: "b1@35 ~ b1@5 ~ d2@2 ~ d#2@3",
AP: "e2@17 ~ e2@5 ~ e2@16 ~@2 b1@2 ~ c2@3", AQ: "c#2@17 ~ c#2@5 ~ c#2@10 ~@2 c#2@10 ~@2",
AR: "a1@17 ~ a1@5 ~ a1@17 ~ a1@2 ~ a1 ~@2", AS: "b1@17 ~ b1@5 ~ b1@10 ~@2 b1@7 a#1 [g#1,a1] g1 f#1@2, ~@46 c1 ~",
AT: "e1@17 ~ e1@5 ~ e1@17 ~ b1@2 ~ c2@3", AU: "c#2@17 ~ c#2@5 ~ c#2@16 ~@2 c#2@2 ~ c#2@3",
AV: "a1@17 ~ a1@5 ~ a1@8 ~@4 a1@2 ~ e1@2 ~ a1@2 ~ a#1@3",
AW: "b1@8 ~ b1@2 ~ b1@5 ~ b1@5 ~ b1@5 ~ b1@5 ~ b1@5 ~ d2@2 ~ d#2@3",
AX: "c#2@17 ~ c#2@5 ~ c#2@6 d#3@3 e3@2 ~ d#3@3 b2@2 ~ c#2@3 b1@3",
AY: "a1@17 ~ a2@3 a1@2 ~ a1@8 ~@4 a1@5 ~ a1@2 ~ a#1@3",
AZ: "b2@2 ~ b1@5 ~ b1@2 ~ b1@5 ~ b1@2 ~ b1@3 b1@5 ~ b1@5 ~ b1@5 ~ e2@2 ~ d#1@3",
BA: "c#2@17 ~ c#2@5 ~ d#2@11 ~ e2@9 ~@2 c2", BB: "a1@17 ~ a1@2 ~ a1@2 ~ a1@8 ~ a1@2 ~ a1@5 ~ a1@5 ~",
BC: "a1@3 b1@5 ~ b1@2 ~ b1@6 b2@2 ~ b1@3 b1@5 ~ b1@5 ~ b1@2 ~ a1@2 ~ g#1@2 ~ f#1@3",
BD: "~@2 e2@15 ~@2 e2@4 ~ e1@14 ~ e1@3 b1@2 ~ c2@3, e1@17 ~ e1@5 ~@25",
BE: "c#2@17 ~ c#3@3 c#2@2 ~ c#2@6 d#3@3 e3@2 ~ d#3@3 b2@2 ~ e2@3 b1@3",
BF: "a1@17 ~ a1@3 e2@2 ~ a2@6 a1 ~@2 a1@2 ~ a1@3 e1@3 a1@2 ~ a#1@3",
BG: "b1@6 b1 ~@2 b1@2 ~ b1@5 ~ b1@2 ~ b1@3 b1@5 ~ b1@5 ~ b1@5 ~ e2@2 ~ d#1@3",
BH: "e1@17 ~ e1@5 ~ e1@5 ~ e1@5 ~ g#1@5 ~ b1@6", BI: "c#2@6 c#3@3 c#2@3 d#2@11 ~ e2@8 ~ f#2@8 ~ d#2@6",
BJ: "a1@17 ~ a1@2 ~ a1@2 ~ a2@2 ~ a2@3 a1@5 ~ a1@5 ~ a1@5 ~",
BK: "b1@2 ~ b1@14 ~ b1@2 ~ b1@3 b1@5 ~ b1@5 ~ b1@2 ~ a1@2 ~ g#1@2 ~ f#1@3", BL: "c#2@17 ~ c#2@5 ~ d#2@11 ~ e2@9 ~@3",
})).s("gm_electric_bass_finger").gain(0.4)
// bass · electric bass finger · "FINGERDBAS" · soft notes
const bass_soft = note("<~@23 A ~@2 B ~@16 C ~@11 D E ~@4 F ~@4 G ~@3 G ~@2 A ~@13>".pickRestart({
A: "~@46 c#2 ~, ~@22 d#2 ~, ~@45 d2@2 ~", B: "~@46 f#2 ~, ~@22 g#2 ~, ~@45 g2@2 ~", C: "~@23 c2, ~@45 c#2@2 ~",
D: "~@28 g#1 ~ a#1@2 ~@16", E: "~@23 c#2, ~@45 c2@2 ~, ~@46 d2 ~", F: "~@45 c2 b1 a#1", G: "~@33 a1@2 ~@13",
})).s("gm_electric_bass_finger").gain(0.2)
// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@13 A@5 B@5 C@5 D@6 E@3 F@6 ~@13 G@4 H@4 I@7 J@8 K@7 ~>".pickRestart({
A: "[~@47 f4@36 [g#4,g#5]@12 c4@24 ~ c#5@22 g#4@95 ~@2 g#5, ~@119 c#4@26 ~@95]/5", // G#
B: "[~@22 [b4,b5]@13 [e5,e6]@12 ~ d#6@23 c#5@24 b5@120 ~ d4@5 [g4,g5]@6 ~ d4@5 [b3,g5,g6]@6 [f#4,f#5], ~@47 d#5@25 ~@143 [f#4,d5,f#5]@7 ~@5 [d5,d6]@7 ~@6]/5", // B E G Em F# D
C: "[f#6@11 [e4,e5,e6]@12 [d4,d5,d6]@18 [e4,e5,e6]@6 d6@42 ~ b4@3 ~@3 d4@29 [e4,e5,e6]@12 [b3,b4,b5]@6 [c#5,c#6]@36 ~ b5@5 ~ a4@29 [g#4,g#5]@18 [a4,a5]@7, ~@89 b5@4 [c5,c6]@4 ~@82 b4@7 ~@54, ~@95 [d5,d6]@31 ~@59 a5@30 ~@25]/5", // E D E B C# G# A C …
D: "[~@17 [e4,e5]@56 ~@22 e6@120 g#5@7 ~@5 e4@7 a5@5 [a4,a5]@6 ~ b5@23 [e5,e6]@18 [g4,g5], ~@245 b4@25 ~@18]/6", // E A E G
E: "[~@6 c6@5 d5@11 ~@2 d5@5 [g5,g6]@6 [b4,b5]@6 ~@6 c5@6 d5@17 ~ d5@6 [g5,g6]@6 [b4,b5]@6 ~ c5@11 [d5,d6]@12 [g5,g6]@12 [b4,b5]@12 [c5,c6]@7, ~@5 c5@6 d6@18 ~@12 c5@6 ~@6 d6@26 ~@65, ~@42 c6@13 ~@34 c6@13 ~@42]/3", // G B G B D G B C
F: "[c5@5 d5@16 ~ d5@6 ~ [e5,e6]@18 [d5,d6]@6 e5@17 ~ e5@6 ~ f#5@17 [d4,a4,f#5,d6]@48 ~ c#5@23 ~ d5@22 ~ [a4,d6]@48 g4@25 a4@15 ~@9, ~@5 d6@26 ~@22 e6@24 f#6@18 ~@48 [b3,a5]@47 g3@49 [a3,e4,d5]@40 ~@9, ~@143 e6@24 f#6@25 ~@96]/6", // E D D5 B7 Asus4
G: "[~@11 e5@59 ~ d#4@12 c#5@11 ~@50 f#4@48, ~@35 d#5@7 ~@5 b4@49]/4",
H: "[~@11 [e4,e5]@12 [b4,b5]@12 [e5,e6]@11 [d#5,d#6]@25 ~ c#5@22 ~ b4@77 ~@19 [b4,b5], ~@71 c#6@23 b5@76 ~@22]/4", // E B E D# B
I: "[~@11 b4@11 ~@2 e5@10 ~ [e5,g#5,e6]@12 [d#5,f#5,d#6]@23 ~ c#6@23 ~@43 [g#4,g#5]@3 [a4,a5]@3 ~ b4@6 ~@2 [a4,a5]@3 ~ b4@6 ~@3 a5@2 [b4,f#5,b5]@23 ~ b4@23 ~@2 e5@10 ~ [e5,g#5,e6]@12 [d#5,f#5,d#6]@23 ~ c#6@23 ~@43 [g#4,g#5]@3 [a4,a5]@3 [e5,b5], ~@5 e5@18 [b4,b5]@13 ~@34 c#5@24 [b4,b5]@44 ~@5 b5@7 [g#4,g#5]@4 ~ b5@7 [g#4,g#5]@4 ~@24 [e4,e5]@25 ~@48 e5@48 f#5@24 ~, ~@6 e4@17 ~@48 e5@48 f#5@24 e5@21 a4@3 ~@48 [b4,b5]@13 ~@34 c#5@24 [b4,b5]@44 ~@6]/7", // E D#m G# A B5 E D#m G# …
J: "[b4@6 ~@2 [a4,a5]@3 ~ b4@6 ~@3 a5@2 [b4,f#5,b5]@23 ~ [b4,b5]@23 ~@2 e5@10 ~ [e5,g#5,e6,g#6]@12 [d#5,f#5,d#6,f#6]@23 ~ [c#6,e6]@23 ~@43 [g#4,g#5]@3 [a4,a5]@3 ~ b4@6 ~@2 [a4,a5]@3 ~ b4@6 ~@3 a5@2 [b4,f#5,b5]@23 ~ [b4,b5]@23 ~@2 e5@10 ~ [e5,g#5,b5,e6]@12 [d#5,f#5,d#6,f#6]@23 ~ [c#6,e6]@23 ~@43 [g#4,g#5]@3 [a4,a5]@3 [e5,b5], ~@6 [g#4,g#5]@4 ~ b5@7 [g#4,g#5]@4 ~@24 [e4,e5]@25 ~@48 e5@48 f#5@24 e5@21 a4@3 ~@48 [b4,b5,g#6]@12 ~@35 c#5@24 [b4,b5]@44 ~@6, ~@20 a4@3 ~@48 [b4,b5,e6]@13 ~@34 c#5@24 [b4,b5]@44 ~@5 b5@7 [g#4,g#5]@4 ~ b5@7 [g#4,g#5]@4 ~@24 [e4,e5]@25 ~@48 e5@48 f#5@24 ~]/8", // A B5 B E D#m C#m G# A …
K: "[b4@6 ~@2 [a4,a5]@3 ~ b4@6 ~@3 a5@2 [b4,f#5,b5]@23 ~ [b4,b5]@23 ~@2 e5@10 ~ [e5,g#5,b5,e6]@12 [d#5,f#5,d#6,f#6]@23 ~ [c#6,e6]@23 ~@43 [g#4,g#5]@3 [a4,a5]@3 ~ b4@6 ~@2 [a4,a5]@3 ~ b4@6 ~@3 a5@2 [b4,f#5,b5]@23 ~ [b4,b5]@23 ~@2 e5@10 ~ [e5,g#5,b5,e6]@12 [d#5,f#5,d#6,f#6]@23 ~ [e5,c#6,e6]@25, ~@6 [g#4,g#5]@4 ~ b5@7 [g#4,g#5]@4 ~@24 [e4,e5]@25 ~@48 e5@48 f#5@24 e5@21 a4@3 ~@48 [b4,b5,g#6]@12 ~@35 c#5@24 ~@2, ~@20 a4@3 ~@48 [b4,b5,g#6]@12 ~@35 c#5@24 [b4,b5]@44 ~@5 b5@7 [g#4,g#5]@4 ~ b5@7 [g#4,g#5]@4 ~@24 [e4,e5]@25 ~@73]/7", // A B5 B E D#m C#m G# A …
})).s("gm_string_ensemble_2").gain(0.15)
// chords · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@13 A@2 B@8 C@2 ~@15 D@7 ~@3 E@6 F@5 ~@14 G ~@11>".pickRestart({
A: "[~@47 f5@36 ~@13]/2",
B: "[c5@24 ~@22 g#5@95 ~ [g#4,e5]@26 ~@47 c#6@24 b4@120 ~@7 b3@6 ~@12, ~@191 b4@47 ~@127 b4@6 ~@13]/8", // C#m
C: "[~@47 [d4,d5]@43 b3@3 c4@3]/2", D: "[~@47 b5@50 ~@46 [a4,a5]@192 ~]/7",
E: "[~@45 a4@50 c#5@24 b4@24 a4@94 ~ f#4@50, ~@79 b4@17]/6", F: "[b3@12 e4@60 ~@11 c#4@12 b3@98 ~@47]/5",
G: "~@15 b6",
})).s("gm_string_ensemble_2").gain(0.1)
// chords · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
~@25 A B@6 C D@4 E F G H I J ~@10 K@2 H L@3 M@2 N O P Q@4 R@4 S@12 T@2 ~
>`.pickRestart({
A: "~@41 e2@5 ~ g#2, ~@23 g2",
B: "[a2@45 ~@2 f#2@48 d3@41 ~@2 d3@3 d#3@2 e3@36 ~ e3@8 ~@4 a2@41 ~ a2@2 ~ g#2@2 f#2@42 ~ a2@3 c#3@3, ~@45 g#2@2 ~@141 d#3@2 c#3@2 ~@96, ~@46 g2@2 ~@141 d3@2 c3@2 ~@95]/6",
C: "d3@14 a2 d3", D: "[e3@44 e3 ~@3 c3@46 ~ a2@47 ~ f2@48 ~, ~@45 d#3@2 c#3@2 ~@45 [g2,g#2]@2 ~@96, ~@23 d3 ~@72]/4",
E: "g2!2", F: "a2@24 a2@22 c3 c#3", G: "d3@23 [c3,c#3]", H: "b2", I: "g2@47 ~", J: "a2@5 ~", K: "[~@47 a2@49]/2",
L: "[e3@45 ~@2 c#3@48 a2@41 ~@2 a2@3 a#2@3, ~@45 d#3@2 ~@97, ~@23 d3 ~@48]/3",
M: "[b2@15 ~ e3@14 b2 c3, ~@45 c#3@2 d#3@2 ~@47, ~@23 d3 ~@24]/2", N: "c#3", O: "a2@14 a2 a#2",
P: "b2@28 ~@6 g2 ~@3 a2@2 ~@4 d3@2 d#3@2, ~@28 a2@2 b2@2 a2@2 ~@3 [g2,g#2]@2 ~ a#2@2 c3@2 ~@4, ~@29 a#2@2 a#2@2 g#2@2 ~ f#2@2 ~@3 b2@2 c#3@2 ~@3", // G#maj7
Q: "[e3@46 ~ c#3@47 ~ a2@45 ~ g#2 a2 ~ b2@24 b2@12 ~@2 a2@2 ~@4 d3@2 d#3@2, ~@46 [b2,c3]@2 ~@95 a#2@2 ~@35 f#2@2 ~@3 b2@2 c#3@2 ~@3, ~@181 [g2,g#2]@2 ~ a#2@2 c3@2 ~@4]/4", // Cmaj7 G#maj7
R: "[[e3,b3,e4]@46 ~@3 c#4@46 ~@2 a3@44 g#2 a2 ~@25 b2@12 ~@2 a2@2 ~@4 d3@2 d#3@2, ~@46 [b2,c3]@2 g#3@47 ~ e3@47 ~ f#3@47 ~, ~@47 c#3@47 ~ a2@45 ~@3 a#2@2 c#4@46 ~, ~@144 b2@24 ~@12 f#2@2 ~@3 b2@2 c#3@2 ~@3, ~@181 [g2,g#2]@2 ~ a#2@2 c3@2 ~@4]/4", // E5 Cmaj7 G#maj7
S: "[[e3,b3,e4]@46 ~@2 [g#3,c#4]@47 ~ [e3,a3]@45 g#2 a2 ~ b2@24 b2@12 ~@2 a2@2 ~@4 d3@2 d#3@2, ~@46 [b2,c3]@2 ~@47 a2@45 ~@3 a#2@2 ~@35 f#2@2 ~@3 b2@2 c#3@2 ~@3, ~@47 c#3@47 ~@50 [f#3,c#4]@48, ~@181 [g2,g#2]@2 ~ a#2@2 c3@2 ~@4]/4", // E5 C#5 A5 Cmaj7 F#5 G#maj7
T: "[[e3,b3,e4]@23 ~ [g#3,c#4]@24, ~@23 [b2,c3] ~@24, ~@47 c#3@47 ~@2]/2", // E5 C#5 Cmaj7
})).s("gm_distortion_guitar").gain(0.4).pan(0.8)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@29 A B@3 ~@30 C ~@23>".pickRestart({
A: "~@24 a3@2 ~ b3@2 ~ c#4@2 ~ d4@2 [e4,e5]@3 [f#4,f#5]@3 ~ g#5@2 [a4,a5]@3 ~, ~@23 a4@3 b4@3 c#5@3 d5@3 ~@6 g#4@3 ~@4", // E F# A
B: "[[a4,a5]@6 [e4,e5]@11 ~ a5@2 ~ b5@2 ~ c#6@5 ~ e6@5 ~ b5@6 [c#5,c#6]@5 ~ a5@5 ~ e5@12 [a4,a5]@3 [b4,b5]@3 [c#5,c#6]@5 ~ e6@5 ~ b5@6 [c#5,c#6]@5 [c#5,c#6]@7 [a4,a5]@12 [a4,a5]@2 ~ b5@2 ~ c#6@5 ~ a4@6 e5@5 a4@7, ~@17 a4@3 b4@3 c#5@6 e5@6 b4@7 ~@5 a4@6 e4@12 ~@12 e5@6 b4@7 ~@26 b4@3 c#5@6 a5@6 ~@13]/3", // A E C# A B C# A
C: "~@24 b3@2 ~ c#4@2 ~ d#4@2 ~ e4@2 [f#4,f#5]@3 [g#4,g#5]@3 ~ a5@2 [b4,b5]@3 ~, ~@23 b4@3 c#5@3 d#5@3 e5@3 ~@6 a4@3 ~@4", // F# G# B
})).s("gm_string_ensemble_1").gain(0.39)
// other · distortion guitar · "DISTORTION"
const distortion_guitar_2 = note("<A@2 ~@45 B@4 ~@21 C@2 D E F G ~@2 H I@2 ~@4>".pickRestart({
A: "[~@3 f4@5]/2", B: "[~@32 b3 d4 f#4 a4@48 ~ c#5@9 b4@2 ~ d5@35 ~ e5@21 d5@2 e5@37, ~@95 c#5@2 ~@95]/4",
C: "[~@22 [e4,g#4] b4 e5@2 ~ f#5@3 e5@3 f#5@53 f5 [d#5,e5] d5 ~@7]/2", // E Emaj7
D: "~@23 b4 e5@3 f#5@3 e5@3 f#5@15, ~@11 [e4,g#4] ~@12", E: "f#5@6 f#5@6 f#5@6 f#5@6 f#5@6 f#5 ~@5 f#5@3 f#5@6 b4@3",
F: "b5@18 g#5 b5@11 b5@4 b2 c3 [d3,e3] [f3,g3]@2 c6@9", // Dsus2 Fsus2
G: "~@3 c6@12 [b2,c3] [d3,e3]@2 c#5 g#5 ~@2 e5 c#5@15 ~ [a4,b4,c5] [e4,f4,g4] [c#4,d4,d#4] ~@6, ~@21 g5@2 ~@25", // Cmaj7 Dsus2 Am Em
H: "e3@17 c#4@3 ~ g#3@3 b3@14 a#3 [g3,a3] [e3,f3] [c3,d3]@2 ~@5", // Gsus2 Fmaj7 Csus2
I: "[d#5@18 e5@3 c#5@17 ~ [a4,b4] [e4,f4,g4] [c4,d4] ~@54, ~@38 c5@2 ~ g#5@54 ~]/2", // Asus2 Em Csus2
})).s("gm_distortion_guitar").gain(0.44).pan(0.3)
// chords · pad sweep · "SWEEP PAD"
const pad_sweep = note("<A@3 ~@7 B C D E F@6 G@2 C H I ~@22 J K@8 ~@31>".pickRestart({
A: "[[a#2,f3,a#3]@11 ~@5]/3", B: "~ a#3@3", C: "g3@47 ~", D: "~@24 d4@23 ~, ~@12 d#3@35 ~", E: "~@11 c5@5, f3@47 ~",
F: "[[c#3,c#4]@46 ~@2 a#2@46 ~@2 f#2@46 ~@2 g#2@45 ~@3 e3@47 ~@24 f#4@25, ~@46 g#4@48 f4@48 d#4@47 e4@98 ~, ~@240 c#3@47 ~]/6", // C#
G: "[[a2,a3]@46 ~@2 b2@47 ~, ~@23 b3@25]/2", H: "e3@47 ~", I: "c3@47 ~", J: "d3@47 ~",
K: "[~@48 g2@47 ~@49 d3@47 ~@49 g2@47 ~@37 a4@59 ~, b2@47 ~@48 g3@36 d4@72 e4@84 b3@36 ~@61, ~@35 a4@61 a2@47 ~@49 b2@47 ~@49 a2@95 ~]/8",
})).s("gm_pad_sweep").gain(0.33)
// drums · kick
const kick = s("bd").struct(`<
~@26 A@3 B C D@2 E D@3 F G H D@2 A ~@8 I J K ~@2 A@3 L A@3 M D N D O D@3 P D N D Q D N D R D N D S D N ~
>`.pickRestart({
A: "x ~@2 x!2 ~@3", B: "x ~@6 x!2 ~@6 x", C: "x ~@2 x ~@2 x ~ x ~@5 x ~", D: "x ~@5 x ~ x ~@2 x ~@2 x ~",
E: "x ~@2 x ~@4 x ~@7", F: "x ~@2 x ~@4 x ~@2 x ~@4", G: "x ~@2 x ~@2 x ~@3 x ~@3 x ~", H: "x ~@2 x!2 ~@2 x",
I: "~ x ~@6", J: "~@5 x ~@2", K: "~@7 x", L: "x ~@2 x!2 ~ x ~", M: "x ~@2 x ~@2 x ~@8 x",
N: "x ~@6 x!2 ~@2 x ~@2 x ~", O: "x ~@2 x ~@2 x ~@3 x!2 ~@4", P: "x ~ x ~@8 x ~@3 x",
Q: "x ~@2 x ~@2 x!2 ~@2 x!2 ~@4", R: "x ~@2 x ~@2 x ~ x ~ x ~@5", S: "x!2 ~ x ~@5 x!2 ~@2 x!3",
})).gain(0.48)
// drums · rim
const rim = s("rim").struct("<~@26 [~ x ~ x]!3 [~ x ~@2] ~@26 [~@3 x]!4 [~ x ~ x]!3 ~@24>").gain(0.64)
// drums · snare
const snare = s("sd").struct("<~@29 A B@8 C B@4 ~@20 D B@3 C B@3 E B@3 F B@3 G B@3 H B@2 ~>".pickRestart({
A: "~@13 x!2 ~", B: "~ x ~ x", C: "~@4 x ~@3 x ~@3 x!2 ~@2", D: "~@4 x ~@3 x ~@2 x!2 ~@3", E: "~@2 x!3 ~ x ~",
F: "~@2 x ~ x ~@3 x ~@3 x!2 ~@2", G: "~@4 x ~@7 x ~@2 x", H: "~@4 x ~@2 x!2 ~@2 x!2 ~@3",
})).gain(0.64)
// drums · snare · soft notes
// … 58 more lines
More by Marco Borsato
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.