0:00/0:00
// Ich freue mich auf Dich — Borg Andy
// 126 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 112 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): MUTED GTR.
setcpm(126/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.
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A@2 B C D E F G F G F G H I J K L I J M N O@2 I P O@2 I Q R S T O R S T O U F G F G F G H I J K L I J M N O@2 I P O@2
I Q R S T O R S T O U F G F G F G H I F G F G F G H I V W X Y Z AA X AB O AC F G F G F G H I F G F G F G H AD
>`.pickRestart({
A: "[f2@7 c2]/2", B: "d2@4 c2@3 ~", C: "c2 ~@2 c2@3 ~@2", D: "c2@3 ~@3 c2@6 g1@2 a1@2",
E: "c2@3 ~@3 c2@3 ~ c2@2 d2@2 c2@2", F: "f2 ~ f2@2 c2@2 d2@2 f2 ~ f2@2 f1@2 a1@2",
G: "bb1 ~ bb1@2 a1@2 g1@2 f1@2 f2@2 c2@2 d2@2", H: "d2 ~ d2 ~ a1@2 d2@2 c2 ~ c2@2 g1@2 c2@2",
I: "f1 ~ f1@2 c2@2 d2@2 f2 ~ f2@2 c2@2 d2@2", J: "c2 ~ c2@2 g1@2 bb1@2 c2 ~ c2@2 g1@2 a1@2",
K: "f1 ~ f1@2 c2@2 d2@2 f2 ~ f2@2 f1@2 a1@2", L: "bb1 ~ bb1@2 f1@2 g1@2 bb1 ~ bb1@2 a1@2 g1@2",
M: "f1 ~ f1@2 c2@2 d2@2 f2 ~ f2@2 c2 ~ d2@2", N: "f2 ~ f2@2 c2@2 d2@2 f2 ~ f2@2 c2@2 d2 ~",
O: "c2 ~ c2@2 g1@2 a1@2 c2 ~ c2@2 g1@2 a1@2", P: "f2 ~ f2@2 c2@2 d2@2 f2 ~ f2@2 g1@2 a1@2",
Q: "f2 ~ f2@2 c2@2 d2@2 f2 ~ f2@2 f1 ~ a1@2", R: "bb1 ~ bb1@2 f1@2 g1@2 bb1 ~ bb1@2 f1@2 bb1@2",
S: "a1 ~ a1@2 c2@2 a1@2 d2 ~ d2@2 a1@2 c2@2", T: "g1 ~ g1@2 d1@2 f1@2 g1 ~ g1@2 a1@2 g1@2", U: "c2!8",
V: "f2 ~ f2@2 c2@2 d2@2 f2@2 f1@2 g1@2 ab1@2", W: "a1 ~ a1@2 e1@2 g1@2 a1 ~ a1@2 g1@2 a1@2",
X: "d2 ~ d2@2 a1@2 c2@2 d2 ~ d2@2 a1@2 c2@2", Y: "g1 ~ g1@2 f1@2 g1@2 c2 ~ c2@2 g1@2 c2@2",
Z: "f1 ~ f1@2 c2@2 d2@2 f2 ~ f2@2 c2@2 d2 ~", AA: "a1 ~ a1 ~@3 a1@5 ~ a1 ~ c2@2",
AB: "g1 ~ g1 ~ g1@2 d2@2 g2 ~ g2@2 g1@2 a1@2", AC: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
AD: "f1 ~ f1@2 c2@2 d2@2 f2 ~ f2@2 ~@4",
})).s("gm_electric_bass_finger").gain(0.37)
// chords · brass section · "BRASS 1"
const brass_section = note(`<
A B C D E F G@6 H@2 ~@6 I J ~@2 I J ~@3 K ~@3 L ~@2 M@2 G@6 H@2 ~@6 I J ~@2 I J ~@3 K ~@3 L ~@2 M@2 G@6 H@2 G@6 H@2
~@8 N@2 G@6 H@2 G@6 O@2
>`.pickRestart({
A: "[c4,f4,c5,f5] [d4,d5] [c4,c5] [a3,a4], f3, a4 ~", // F5 D C A
B: "[bb3,f4,bb4] [d4,f4,bb4,d5] ~ c5@5, f3, ~@3 f4@4 ~, ~@3 c4@3 ~@2, ~@3 a4@2 ~@3", // Bb5 Bb
C: "f5 [d4,d5] [g3,g4,c5] a3, [d3,a3,f4,a4]@4 [d4,b4] ~ a4 ~, d4 ~@3 c4@3 ~", // D C5 Dm G
D: "[c4,e4,g4] [d4,f4] ~ [e4,g4]@3 ~@2, ~@2 e4 ~@3 c4@8 ~@2", E: "[d4,f4,bb4]@3 ~@3 [e4,c5]@9 ~, ~@6 g4@7 ~@3",
F: "[f4,bb4,d5,f5]@2 ~@4 [g4,c5,e5,g5]@9 ~", // Bb C
G: "[[c4,c5]@8 [bb3,d4,bb4,d5]@3 [c4,a4,c5]@13 [bb3,d4,bb4,d5]@3 [c4,a4,c5]@13 [bb3,d4,bb4,d5]@3 [a4,c5]@5, f5@95 ~, [f3,f4]@31 ~, ~@86 c4@7 ~@3]/6", // C Bb F Bb F Bb Am F
H: "[[d3,a4,d5,f5]@4 [c3,c4,e5]@4 [f3,a4,f5]@7 ~, d4@6 ~@2 c5@21 ~@3]/2", // Dm C F
I: "~@4 [bb3,f4,bb4] ~ [f3,f4,a4] ~, ~@12 c4 ~@3", J: "[c3,c4,e4,g4] ~@7", K: "bb3", L: "bb3@13 ~@3",
M: "[~@15 c6@15 ~@2, [c4,g4,c5]@15 ~, ~@8 g5@23 ~]/2", // C5
N: "[~@16 c5@3 ~ [c4,g4,c5]@3 ~ [c4,g4,c5]@3 ~ [c4,g4,c5]@3 ~, c4@19 ~@13, ~@8 g4@11 ~@13]/2", // C5
O: "[[d3,a4,d5,f5]@8 [c3,c4,e5]@8 [f3,a4,f5]@13 ~@3, d4@6 ~@2 c5@19 ~@5]/2", // Dm C F
})).s("gm_brass_section").gain(0.16)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
A@2 B C@3 D@7 E F@7 G H I@2 J@2 K@2 L M N@2 O@3 P Q D@7 E F@7 G H I@2 J@2 K@2 L M N@2 O@3 P Q D@7 E R@8 S T@2 U V W X
Y Z@2 D@7 E AA@7 AB
>`.pickRestart({
A: "[[f3,c4,f4]@29 ~@3]/2", B: "[f3,c4,f4]", C: "[~@2 [g4,c5], [c3,g3,c4]]/3",
D: "[a4@8 d5@3 [a4,c5]@13 d5@3 [a4,c5]@13 d5@3 c5@5 d4@4 [g4,e5]@4, f5@13 ~, f4@6 ~, c5 ~@85 a4@18 ~@8]/7", // Am C
E: "f5@7 ~",
F: "[[e3,g4]@15 ~ bb4@2 a4@14 c5@2 d5@10 f5@4 d5@2 c5@12 ~ [f4,a4]@2 [e4,g4]@14 ~ [f3,f4,a4]@21 ~@3 [bb3,f4,bb4]@2 ~@2 [f3,f4,a4]@2 ~@2, c4@32 ~@2 bb4@13 ~ [f4,a4]@15 ~@49, e4@13 ~@2 f3@48 c3@16 ~@33, ~@16 f4@14 ~@2 f4@14 ~@2 c4@53 ~@7 c4 ~@3]/7", // Em F Em F Bb5 F
G: "[c3,c4,e4,g4] ~@7", H: "~ c5", I: "[[f4,a4]@21 ~@3 [bb3,f4,bb4]@2 ~@2 [f3,f4,a4]@2 ~@2, ~@28 c4 ~@3]/2",
J: "[[c3,c4,e4,g4] ~@3 g4@12]/2", K: "[a4@5 f4 g4 a4, f4@9 ~@23]/2", L: "bb4", M: "~ d5, a4",
N: "[[g3,bb4] [c4,c5], g4@29 ~@3, d4@7 ~@9 e4@12 ~@4]/2", // Gm C
O: "[~@8 d5@7 ~ [a3,e4]@7 ~ f4@5 ~@3 [g3,g4]@16, [bb3,d4,bb4]@15 c5@8 d5@24 ~, ~@16 a4@16 b4@13 ~@3, ~ d4]/3", // A5 G Bb
P: "c5 g5, c4", Q: "c6@3 ~ c6@3 ~ c6@3 ~ c6@3 ~",
R: "[a4@8 d5@3 [a4,c5]@13 d5@3 [a4,c5]@13 d5@3 c5@5 [g3,d4,bb4,d5]@4 [c5,e5]@4 [f3,f4,a4,f5]@8, f5@13 ~@3, f4@48 g4@7 ~@9, c5 ~@85 a4@18 c4@24]/8", // Am Gm C F
S: "~@4 f4@2 g4@2 a4@2 f4@2 ~ f4@3, ~@6 g4 ~", T: "[a4@14 g4 a4]/2", U: "bb4@8 c5@3 g4@4 ~", V: "[f4,a4]@7 ~",
W: "[e4,a4]@3 g4", X: "[d4,f4]@12 ~ a4@3, ~@6 g4 ~", Y: "~ d5, [g3,d4,g4]@5 ~@3",
Z: "[~@8 c6@7 ~, [c4,g4,c5]@15 ~, ~@4 g5@11 ~]/2", // C5
AA: "[a4@8 d5@3 [a4,c5]@13 d5@3 [a4,c5]@13 d5@3 c5@5 d4@4 [g4,e5]@4, f5@25 ~@3, f4@6 ~, ~@43 a4@9 ~@4]/7", // Am C
AB: "f5@11 ~@5",
})).s("gm_string_ensemble_1").gain(0.15)
// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
~@6 A B C@2 ~ D E@2 ~@11 F@2 G ~@3 H ~@6 A B C@2 ~ D E@2 ~@11 F@2 G ~@3 H ~@6 A B C@2 ~ D E@2 A B C@2 ~ D ~@12 A B C@2
~ D E@2 A B C@2 ~ D I@2
>`.pickRestart({
A: "~ c5@15", B: "bb4@7 ~@9", C: "[~@15 bb4@7 ~@10]/2", D: "bb4@3 ~@5", E: "[~@4 c4@4 a4@7 ~, ~@4 c5@11 ~]/2",
F: "[~ e4@3]/2", G: "~@9 f4@7", H: "~@9 d4@6 ~", I: "[~@8 c4@8 a4@11 ~@5, ~@8 c5@19 ~@5]/2",
})).s("gm_string_ensemble_1").gain(0.1)
// other · overdriven guitar · "OVERDRIVE"
const overdriven_guitar = note("<~@19 A@2 ~@11 B C ~@17 D@2 ~@11 E@2 ~@19 F@2 ~@3 G@2 ~@20>".pickRestart({
A: "[~@6 g4 ~ g4@4 f4 ~ f4@13 ~@5]/2", B: "~@3 d4@3 c4 a3", C: "bb3@7 ~", D: "[~@7 g4@3 c5@2 g4@2 f4@13 ~@5]/2",
E: "[~@4 e4@2 g4 ~ e4 d4 c4 ~ d4@16 ~@4]/2", F: "[~@6 g4 c5@7 ~@2]/2", G: "[~@4 g4@2 c5 ~ a4 g4 f4 ~ g4@17 ~@3]/2",
})).s("gm_overdriven_guitar").gain(0.26)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~@7 A ~ A ~ A ~@27 A ~ A ~ A ~@27 A ~ A ~ A ~@3 A ~ A ~ A ~@13 A ~ A ~ A ~@3 A ~ A ~ A ~ B
>`.pickRestart({
A: "~@6 bb4 ~@9", B: "~@10 [f4,a4] ~@5",
})).s("gm_electric_guitar_muted").gain(0.26)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
A B C D@2 E F@6 G@4 H@8 I@8 J@5 K@7 G@4 H@8 I@8 J@5 K@7 L@2 M@6 N@8 O P@8 Q@3 R@8
>`.pickRestart({
A: "[f2,c3,f3,a3,c4,f4]", B: "[f2,bb2,f3,bb3,d4,f4]@6 [c3,f3,a3,c4,f4]@9 ~, ~@6 f2@7 ~@3",
C: "[a2,d3,a3,d4,f4] [g2,c3,e3,g3,c4,e4]", D: "[g2,c3,e3,g3,c4,e4]@3 [g2,c3,e3,g3,c4,e4]@5",
E: "[g2,c3,e3,g3,c4,e4]@3 [g2,c3,e3,g3,c4,e4]@4 ~", // C
F: "[~ [c3,f3,a3,c4]!2 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]!2 [c3,f3,a3,c4,f4]@2 [bb2,f3,bb3,d4,f4] [f2,bb2,f3,bb3,d4,f4] [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4] [f3,a3,c4,f4]@2 [f3,a3,c4] [c3,f3,a3] [c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]!2 [f3,a3,c4,f4]@2 [f3,bb3,d4,f4] [bb2,f3,bb3,d4,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]!2 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]!2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f2,c3,f3,c4,f4] [c3,f3,a3,c4,f4]@2 [bb2,f3,bb3,d4,f4] [f2,bb2,f3,bb3,d4,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4] [c3,f3,a3,c4,f4], f2@4 ~@10 f2@6 ~@2 [f2,c3]@6 ~@2 [f2,c3]@6 f2@6 ~@4 f2@22 f2@8 ~@2 f2@6 ~@2 f2@6 ~@2 f2 ~, ~@17 f4@2 ~@29, ~@36 c4 ~@9 c3@6 ~@18 c3@6 ~@20]/6", // F Bb F Bb F F5 F Bb …
G: "[~ [a2,d3,a3,d4,f4]!2 [a2,d3,a3,d4,f4]@2 [g2,c3,e3,g3,c4,e4] [g2,c3,e3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [f2,c3,c4,f4] c4@2 [e3,g3,c4,e4] [c3,e3,g3,c4,e4] [e3,g3,c4,e4]@2 [e3,g3,c4,e4] [c3,e3,g3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [c3,f3,a3,c4,f4]!2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f2,c3,f3,c4,f4] [c3,f3,a3,c4,f4], ~@11 f2@3 ~ [f2,f3,a3,f4]@4 g2@4 ~@9, ~@15 c3@3 ~ c3@3 ~@5 c3@3 ~@2]/4", // Dm C F F5 C F F5 F
H: "[~ [f3,bb3,d4,f4] [f2,bb2,f3,bb3,d4,f4] [f3,bb3,f4]@2 [f3,bb3] [f3,bb3,d4,f4] [f3,bb3,d4,f4]@2 [f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]!2 [c3,f3,a3,c4,f4]@2 [c3,e3,g3,c4,e4] [g2,c3,e3,c4,e4] [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4]!2 [e3,g3,c4,e4]@2 [f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4] [f3,a3,c4,f4]@2 [a3,f4] [f2,c3,f3,a3,c4,f4] [f3,a3,c4,f4]@2 [f3,a3,f4] [f2,c3,f3,a3,c4,f4] [c3,f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4] [c3,c4]@2 [g2,c3,e3,g3,e4] [g2,c3,e3,g3,c4,e4] [g2,c3,e3,g3,c4]@2 [g2,c3,e3,g3,c4] [g2,c3,e3,c4] [g2,c3,e3,g3,c4,e4]@2 [g2,c3,g3,e4] [g2,c3,e3,g3,c4,e4] [c3,e3,g3,e4]@2 [c3,e3,e4] [g2,c3,e3,g3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [f2,c3,f3,a3,c4,f4]!2 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]!2 [f2,c3,f3,a3,f4], ~@6 [f2,bb2]@6 f2@8 ~@10 f2@6 ~@2 g2@6 g2@8 ~@2 [f2,c3]@6 ~@2 [f2,c3]@6 ~@2 f2@7 ~ [f2,f3,a3,f4]@24 g2@6 ~@20, ~@7 bb2@3 ~@13 c3@3 ~@11 c3@2 ~@4 e4@3 ~@18]/8", // Bb Bb5 Bb F C F Dm F …
I: "[~@2 [f2,c3,f3,a3,f4]@2 [f2,c3,f3,a3,c4]@2 [f3,a3,c4]@4 [f3,a3]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,f4]@4 [e3,g3]@2 [g2,e3,g3,e4]@2 ~ g2@3 ~ g2 [g2,c3,e3,g3,c4]@2 ~ g2@3 [g2,c3,e3,g3,c4,e4]@2 [g2,e3,g3,e4]@2 [g2,c3,e3,g3,c4,e4]@4 [c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4]@2 [g2,c3,e3,g3]@4 [f2,c3,f3,a3]@2 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,a3,f4]@2 [f2,c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@4 [f2,bb2,f3,bb3,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 ~ f2@3 [f2,bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]@4 [e3,a3,e4]@2 [e2,a2,a3,c4,e4]@2 [a2,e3,a3,c4,e4]@4 [a2,d3,a3,f4]@2 a3@2 [a2,d3,a3,d4,f4]@4 [g2,bb2,d3,bb3,d4,g4]@2 [g2,bb3]@2 [g2,bb2,d3,bb3,d4,g4]@3 ~ [g2,bb2,d3,bb3]@2 [d3,bb3,d4]@2 [d3,bb3,d4]@2, ~@4 f4@5 ~@37 e4@6 ~@69 g4@3 g4 ~@3, ~@6 [f2,c3]@6 ~@2 [f2,c3]@6 ~@2 [c3,e3,g3,c4,e4]@4 [c3,e3,g3,c4,e4]@2 ~@2 [c3,e3,g3,c4,e4]@4 ~@8 g2@4 ~@40 [bb2,f3,bb3,f4]@4 ~@4 [f2,bb2]@6 ~@2 e2 ~@21 [g2,bb2]@4]/8", // F Em C F F5 F Bb5 Bb …
J: "[~ [g2,c3,e3,g3,e4] [g2,e3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [g2,c3,e3,g3,e4] [g2,e3,g3,e4] [c3,e3,g3,c4]@2 [bb2,f3,bb3,f4] [f2,bb2,f3,bb3,d4,f4] [f2,bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4] [f2,bb2,f3,bb3,f4] [f2,bb2,f3,bb3,d4,f4]@2 [a2,e3,a3,c4,e4] [a3,c4] [a3,c4,e4]@2 [a2,d3,a3,d4,f4]!2 [d3,a3,d4,f4]@2 [d3,g3] [g2,b2,d3,g3,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [g2,b2,d3,g3,b3,g4] [g2,b3,g4] [g2,b2,d3,g3,b3,g4]@2 [c3,e3,g3,e4] [g2,c3,e3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [g2,c3,e3,g3,c4,e4]!3, ~@7 g2@3 ~@8 e3@3 ~@19, ~@18 e2@2 ~@3 a2@3 ~@14, ~@36 e4 ~@43]/5", // C Bb5 Bb Bb5 Bb Am Dm G5 …
K: "[~@2 [g2,c3,e3,g3,c4,e4]@2 ~@2 [g2,c3,e3,g3,c4]@2 [g2,c3,e3,g3,c4,e4]!2 [g2,c3,e3,g3] [g2,c3,e3,g3,c4] ~ [e3,g3,c4] [g2,e3,g3,c4,e4] ~@3 [c3,f3,a3,c4]@2 [c3,f3,a3,c4]@2 [f2,f3,a3,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4]@2 [c3,f3,a3]@2 [c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f2,c3,f3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2, ~@4 [g2,c3,e3,g3,c4,e4]@2 ~@6 [g2,c3,e3,g3,c4,e4]@2 ~ [g2,e3,g3,e4]@8 ~@29 c4 ~@9 c3@6 ~@18 c3@6 ~@20, ~@5 e4@3 ~@7 [c3,c4]@3 ~@4 [c3,c4] ~@27 f4@4 ~@58, ~@16 f2@4 ~@10 f2@6 ~@2 [f2,c3]@6 ~@2 [f2,c3]@6 f2@6 ~@4 f2@22 f2@8 ~@2 f2@6 ~@2 f2@6 ~@2 f2 ~]/7", // C F Bb F Bb F F5 F …
L: "[~ [a2,d3,a3,d4,f4]!2 [a2,d3,a3,d4,f4]@2 [g2,c3,e3,g3,c4,e4] [g2,c3,e3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [f2,c3,c4,f4] [f2,c3,f3,a3,c4,f4], ~@11 f2@3 ~@2]/2", // Dm C F F5 F
M: "[~@2 [c3,f3,a3,c4]@2 [c3,f3,a3,c4]@2 [c3,f3,a3,c4,f4] ~@3 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4]@2 [c3,f3,a3]@2 [c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f2,c3,f3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2, f2@4 ~@2 f2@4 ~@4 f2@6 ~@2 [f2,c3]@6 ~@2 [f2,c3]@6 f2@6 ~@4 f2@22 f2@8 ~@2 f2@6 ~@2 f2@6 ~@2 f2 ~, ~@17 f4@2 ~@29, ~@36 c4 ~@9 c3@6 ~@18 c3@6 ~@20]/6", // F Bb F Bb F F5 F Bb …
N: "[~ [a2,d3,a3,d4,f4]!2 [a2,d3,a3,d4,f4]@2 [g2,c3,e3,g3,c4,e4] [g2,c3,e3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [f2,c3,c4,f4] [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,f4] [c3,f3,a3,c4]@2 [c3,f3,a3,c4,f4] [f2,c3,c4,f4] a3@2 [e2,a2,e3,a3,db4,e4] [e2,a2,e3,db4] [e2,a2,e3,a3,db4,e4]@2 [a2,e3,a3,db4,e4]!2 [a2,e3,a3,db4,e4]@2 [a2,d3,a3,d4,f4] [a2,d3,d4,f4] [a2,d3,a3,d4,f4]@2 [a2,d3,a3,f4] [a2,d3,a3,d4] [a2,d3,a3,d4,f4]@2 [bb2,d3,bb3,d4,g4] [d3,bb3,d4,g4] [d3,bb3,d4,g4]@2 [g2,c3,e3,g3,c4,e4] [c3,e3,c4] [c3,e3,g3,c4,e4]@2 [f3,a3,c4,f4]!2 [a3,c4,f4]@2 [a3,f4] [f2,c3,f3,a3,f4] [f2,c3,f3,a3,c4,f4]@2 ~ [e3,a3,db4] [e2,a2,e3,a3,db4,e4]@2 [e2,a2,e3,a3,db4,e4] [e3,a3,db4] [a2,e3,a3,db4,e4], ~@22 f2@6 ~@10 f2@6 ~@2 [f2,c3,f3,f4]@8 ~@4 e2@4 e2 ~@21 bb2@6 ~@2 g2@6 [f2,c3]@4 [f2,c3,f3]@6 ~@6 a2@4 ~@10, ~@38 f4 ~@7 c4@14 ~@54 [e3,a3,db4,e4]@2 ~@8 e4 ~@3, ~@115 e2@3 ~@6 e2@4]/8", // Dm C F F5 F F5 A Dm …
O: "~ [d3,a3,d4,f4]!2 [a2,d3,a3,d4,f4]@2 [d3,a3,d4,f4]!3, ~ a2@2 ~@2 a2@3", // Dm
P: "[~ b3 [b3,g4] [b2,d3,g3,b3,g4]@2 [g3,b3,g4]!2 [d3,g3,g4]@2 [e3,g3,c4,e4] [c3,e3,g3,c4,e4] [e3,g3,c4,e4]@2 [e3,c4,e4] [e3,g3,c4,e4] [e3,g3,c4,e4]@2 [e3,g3,c4,e4] [g2,c3,e3,g3,c4,e4] [e3,g3,c4,e4]!2 [c3,e3,g3,c4,e4] [c3,e3,g3,c4] ~@2 [c3,f3,a3,c4]!2 [f2,f3,a3,f4]@2 [f2,c3,f3,a3,c4,f4]!2 [c3,f3,a3,c4,f4]@2 [bb2,f3,bb3,d4,f4] [f2,bb2,f3,bb3,d4,f4] [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4] [f3,a3,c4,f4]@2 [f3,a3,c4] [c3,f3,a3] [c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]!2 [f3,a3,c4,f4]@2 [f3,bb3,d4,f4] [bb2,f3,bb3,d4,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]!2 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]!2 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f2,c3,f3,c4,f4] [f2,c3,f3,a3,c4,f4], ~@2 [b2,d3,g3]@4 ~@4 [g2,b2,d3]@4 g2@16 [g2,c3]@6 ~@2 g2@8 [g2,g3,e4]@8 ~@30 c4 ~@9 c3@6 ~@18 c3@6 ~@4, ~@14 b2@6 ~@2 c3@8 ~@8 c3@4 ~@4 [c3,c4]@4 ~@4 [c3,c4] ~@27 f4@4 ~@42, ~@24 f2@2 ~@5 f2@3 ~ [f2,c3]@3 ~ [f2,c3]@3 f2@3 ~@2 f2@11 f2@4 ~@2]/8", // Em G G5 C F Bb F Bb …
Q: "[~ [bb2,f3,bb3,d4,f4] [f2,bb2,f3,bb3,d4,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [f2,c3,f3,a3,c4,f4] [c3,f3,a3,c4,f4]@2 [a2,d3,a3,d4,f4]!2 [a2,d3,a3,d4,f4]@2 [g2,c3,e3,g3,c4,e4] [g2,c3,e3,c4,e4] [g2,c3,e3,g3,c4,e4]@2 [f2,c3,f3,a3,c4,f4] [f2,c3,f3,a3,f4] [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4] [f2,c3,c4,f4] [f2,c3,f3,a3,c4,f4], ~@6 f2@6 ~@2 f2 ~@23 f2@6 ~@4]/3", // Bb F Dm C F F5 F
R: "[~@2 [c3,f3,a3,c4]@2 [c3,f3,a3,c4]@2 [c3,f3,a3,c4,f4] ~@3 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4]@2 [c3,f3,a3]@2 [c3,f3,a3,c4,f4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,bb3,d4,f4]@2 [bb2,f3,bb3,d4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@2 [f3,a3,c4,f4]@4 [f3,a3,c4,f4]@2 [f2,c3,f3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [bb2,f3,bb3,d4,f4]@2 [f2,bb2,f3,bb3,d4,f4]@2 [c3,f3,a3,c4,f4]@4 [c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,c4,f4]@2 [c3,f3,a3,c4,f4]@4 [a2,d3,a3,d4,f4]@2 [a2,d3,a3,d4,f4]@2 [a2,d3,a3,d4,f4]@4 [g2,c3,e3,g3,c4,e4]@2 [g2,c3,e3,c4,e4]@2 [g2,c3,e3,g3,c4,e4]@4 [f2,c3,f3,a3,c4,f4]@2 [f2,c3,f3,a3,f4]@2 [c3,f3,a3,c4,f4]@4 ~@6, f2@4 ~@2 f2@4 ~@4 f2@6 ~@2 [f2,c3]@6 ~@2 [f2,c3]@6 f2@6 ~@4 f2@22 f2@8 ~@2 f2@6 ~@2 f2@6 ~@2 f2 ~@23 f2@6 ~@4, ~@17 f4@2 ~@45, ~@36 c4 ~@9 c3@6 ~@18 c3@6 ~@52]/8", // F Bb F Bb F F5 F Bb …
})).s("gm_acoustic_guitar_steel").gain(0.06)
// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@6 A ~@3 B ~ C D ~ E@2 ~ F G H I J K@3 L@2 B M N O@3 P Q R S A ~@3 B ~ C D ~ E@2 ~ F G H I J K@3 L@2 B M N O@3 P Q R
S A ~@3 B ~ C D A ~@3 B ~ C D@2 T U V W X ~ Y@2 Z@2 ~@3 B ~ C D A ~@3 B ~ C AA
>`.pickRestart({
A: "f3 f4 [f2,f4] ~@5", B: "~@6 a3 ~", C: "~@6 g3 ~", D: "~@2 c4 ~@3 [f3,a3] ~",
E: "[~ f2@5 a3 f2@3 ~ d4@2 [d4,f4] bb2 ~]/2", F: "~@2 g3 ~@5", G: "~@5 [f3,c4] ~@2", H: "~ c4 ~@3 f4 ~@2",
I: "~ c4 ~@4 [g3,e4] ~", J: "~@2 [e3,c4]@2 ~@2 c4 ~@3 [g3,c4]@2 ~@4",
K: "[~@7 c4@2 c4 ~@3 [c4,f4] ~ c4@2 [c4,e4] [c3,c4] ~@3 e4 ~]/3", L: "[~@2 [c3,c4] ~@3 e4 c4@3 ~@4 [f3,c4] ~]/2",
M: "~ d4 ~ d4@2 ~@3", N: "~ c4 e3 ~@2 d4 [a2,d3,d4,f4] ~",
O: "[~@2 [bb2,d3,d4,g4] ~@2 d4 ~ g4@2 c4 [c3,g3] ~@2 c4 [c3,c4] e4@2 d4 ~@4 d4 ~]/3", P: "~@2 a2@3 ~@3",
Q: "~ [b3,g4] ~@4 [b2,d3,g3] ~", R: "~ c4 g3 ~@5", S: "~@11 e4 ~@2 c3 ~", T: "~@2 [a3,e4] ~@5",
U: "~@2 a3 ~@2 d4 f4 ~", V: "~@6 [g3,e4] ~", W: "~@5 c4!2 ~", X: "~@2 e4 ~@3 a2 ~", Y: "[~ g4 ~@5 b3@2 ~@4 g3 ~@2]/2",
Z: "[~@6 e4 ~ f3 f4 [f2,f4] ~@5, ~@7 e3@4 ~@5]/2", AA: "~@2 c4 ~@5",
})).s("gm_acoustic_guitar_steel").gain(0.03)
// other · timpani
const timpani = note("<~@3 [c3 ~@2 c3@5] ~@108>").s("gm_timpani").gain(0.39).pan(0.6)
// chords · pad warm · "WARM PAD"
const pad_warm = note("<A@6 ~@15 B@4 C@4 D@5 E@5 ~@14 B@4 C@4 D@5 E@5 ~@41>".pickRestart({
A: "[f3@32 d3@8 c3@7 ~@17 g4@10 ~@6 [g5,c6]@15 ~, f4@48 [c2,c3,g3]@47 ~, c4@45 ~@2 c4@47 ~@2, ~@64 c5@31 ~]/6", // C5
B: "[c3@15 ~ c5@15 [f3,a4]@33, [c4,g4] ~, e4@26 ~@5 f4@29 ~@4]/4", // F C5
C: "[~@16 [f3,c4,f4,a4]@9 ~@7, g4 ~, [c4,e4]@29 ~@35, ~@23 c5@27 ~@14]/4", // F C
D: "[[bb3,f4,bb4]@15 ~ a3@8 f4@8 ~@7 bb4@9 [c4,c5]@15 ~@9 d5@8, ~@15 a4@14 ~@3 g4@30 ~ bb4@16 ~, ~@15 e4@8 ~ [d4,d5]@24 ~@32, ~@2 g3 ~ [bb3,d4,f4]]/5", // Bb5 C D Bb
E: "[c5@7 ~ d3@8 g4@15 ~@17 c6@16 ~@16, [a3,a4]@16 g3@49 ~@15, e4@5 ~@2 d5@24 ~@9 g5@24 ~@16, ~@8 d4@20 ~@3 [c3,c4,c5]@33 ~@16, ~@8 f4@4 ~@4 b4@11 ~@53]/5", // A C
})).s("gm_pad_warm").gain(0.07)
// chords · orchestra hit · "ORCH.HIT"
const orchestra_hit = note("<~@20 A B ~@2 A B ~@26 A B ~@2 A B ~@54>".pickRestart({
A: "~@4 [bb4,f5,bb5] ~ [f4,f5,a5] ~, ~@12 c5 ~@3", B: "[c4,c5,e5,g5] ~@7",
})).s("gm_orchestra_hit").gain(0.2)
// drums · kick
const kick = s("bd").struct("<~@6 [x!2]!106>").gain(0.47)
// drums · snare
const snare = s("sd").struct(`<
~@5 A B@3 C B@3 D@3 C B@3 E B@15 E F B@3 C B@3 D@3 C B@3 E B@15 E F B@3 C B@3 D B@3 C B@3 G C B@3 D B@8 C B@3 D B@3 C
B@3 H
>`.pickRestart({
A: "~@5 x ~ x", B: "~ x ~ x", C: "~@2 x ~@2 x!3", D: "~@2 x ~@2 x!2 ~", E: "~ x!2 ~@2 x!2 ~", F: "~ x!2 ~@3 x ~",
G: "~@2 x ~@3 x!2", H: "~@2 x ~@2 x ~@2",
})).gain(0.53)
// drums · low tom
const low_tom = s("lt").struct("<~@36 A B ~@30 A B ~@24 C D ~@16>".pickRestart({
A: "~@3 x", B: "~@14 x!2", C: "~@7 x", D: "x!8",
})).gain(0.42)
// drums · mid tom
const mid_tom = s("mt").struct("<~@28 A ~@7 B C ~@22 A ~@7 B C ~@16 D ~@25>".pickRestart({
A: "~@6 x!2", B: "~@2 x ~@2 x ~@2", C: "~@4 x ~@7 x!2 ~@2", D: "~@7 x",
})).gain(0.42)
// drums · open hat
const open_hat = s("oh").struct(`<
~@6 A@7 B@8 ~ B ~ B ~ B@3 ~ B ~ B ~ B ~ B ~ A@7 B@8 ~ B ~ B ~ B@3 ~ B ~ B ~ B ~ B ~ A@7 B A@7 B@11 A@7 B A@7 ~
>`.pickRestart({
A: "~ x ~ x", B: "~@3 x",
})).gain(0.37)
// drums · high tom
const high_tom = s("ht").struct("<~@5 A ~@22 B ~@7 A C ~@22 B ~@7 A C ~@16 D ~@7 E ~@17>".pickRestart({
A: "~ x ~@6", B: "~@4 x!2 ~@2", C: "~@2 x ~@5 x!4 ~@4", D: "~@5 x!2 ~", E: "~@2 x!3 ~@11",
})).gain(0.37)
// drums · crash
const crash = s("cr").struct(`<
A ~@5 A ~@5 A@2 ~@6 B A ~@2 C A ~@2 C A ~@2 C A ~@3 B A ~@5 A@2 ~@6 B A ~@2 C A ~@2 C A ~@2 C A ~@3 B A ~@5 A@3 ~@5
A@2 ~ A ~@3 A ~@2 D@2 A ~@5 A@3 ~@5 A@2
>`.pickRestart({
A: "x", B: "~@2 x!2", C: "~@3 x", D: "x!4",
})).gain(0.32)
// drums · tambourine
const tambourine = s("tb").struct("<[~@3 x] ~ [~ x ~@2] ~@3 [~ x ~ x]!105 [~ x ~@2]>").gain(0.47)
// drums · bongos
const bongos = s("bongo:18").struct("<~ [~@8 x!5 ~@3] ~ [~@12 x!4] x ~@107>").gain(0.55)
// drums · shaker
const shaker = s("sh").struct(`<
~@6 A@14 B A@2 C B A@2 D A B A@2 E B A F E A@15 B A@2 C B A@2 D A B A@2 E B A F E A@42 G
// … 10 more lines
More by Borg Andy
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.