0:00/0:00
// Un'emozione da poco — Anna Oxa
// 116 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 107 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(116/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
const bass = note(`<
~ A@2 B C D E@2 ~ F G H ~ I ~ F G H J@7 K L@4 M@2 N O@3 P Q R@2 S T@3 U@2 V W@2 X Y Z@2 ~ AA AB AC AD@3 AE@2 AF@2 AG@3
AH@2 AI AJ@2 AK@2 AL AM@4 AN@3 AO@3 AP AQ@2 AR AS@2 AT AU@3 AV@7 AW@5
>`.pickRestart({
A: "[ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~@2 ab2@2 ~ ab2@3 ~ g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 f2@3]/2",
B: "~ f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 e2@2 ~",
C: "~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~ eb2@2 ~@2",
D: "eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~ eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 eb2@3 db2@2 ~@2 db2@2",
E: "[~@2 db2@2 ~@2 db2@2 ~@2 db2@2 ~@2 db2@2 db2 ~@2 db2@3 ~ eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 eb2 ~@10 c2@3 ~ f2@5 ~@5]/2",
F: "~@9 f2@2 ~@5", G: "~@18 db2@5 ~@9", H: "~@9 db2@2 eb2@2 ~@3", I: "~@22 f2@5 ~@5",
J: "[~@22 c2@22 ~@2 c2@38 ~ ab1@8 ~ ab2@14 g1@9 g2@14 ~ f1@9 f2@15 eb1@9 eb2@16 ~ db2@9 db3@15 ab1@8 ~ ab1@4 eb2@5]/7",
K: "~ eb2@6 ~ db2@9 db3@15",
L: "[c2@7 ~ c2@2 ~ c2@11 ab1@8 ~ ab2@14 ~ g1@8 g2@14 ~ f1@8 ~ f2@15 eb1@10 eb2@16 db2@9]/4",
M: "[db3@15 ~ ab1@8 ~ ab1@4 eb2@6 eb2@6 ~ db2@9 db3@13]/2", N: "~@2 c2@7 c2@2 ~ g2@5 ~ c2@6 f2@8",
O: "[~@2 f2@10 a2@3 c3@3 ~ e2@8 ~ e2@10 g2@6 ~ d2@10 ~ d2@10 f2@3 a2@4 db2@9 db2@11 e2@3]/3",
P: "a2@4 bb1@6 d2@3 f2@15 a1@4", Q: "~@3 c2@3 f2@6 ~ f1@9 f1@7 f2@3",
R: "[~ f2@17 c2@10 g2@10 c2@6 ~ f2@8 ~@2 f2@9]/2", S: "a2@4 c3@4 e2@9 e2@11 g2@4",
T: "[~@3 d2@10 d2@11 f2@3 a2@4 db2@9 db2@11 e2@3 a2@3 bb1@6 d2@4 f2@16 a1@6 c2@3 f2@4]/3",
U: "[~@3 f1@9 ~ f1@7 f2@3 f2@17 c2@11 ~@2 c2@2 ~@9]/2", V: "~@2 ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~ ab2 ~",
W: "[ab2@3 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~ f2@3 ~ f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2 ~@2 f2@2]/2",
X: "~ e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~@2 e2@2 ~",
Y: "eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~ eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 eb2@3 db2@2",
Z: "[~@2 db2@2 ~@2 db2@2 ~@2 db2@2 ~@2 db2@2 ~@2 db2@2 ~ db2 ~@2 db2@3 ~ eb2@2 ~ eb2@2 ~@2 eb2@2 ~@2 eb2@2 ~@2 eb2 ~@11 c2@3 ~ f2@5]/2",
AA: "~@23 f2@4 ~@5", AB: "~@23 db2@5 ~@4", AC: "~@23 db2@4 eb2@4 ~", AD: "[~@27 c2@22 ~@2 c2@37 ~ ab1@7]/3",
AE: "[~@2 ab2@14 ~ g1@9 g2@14 f1@9 f2@15]/2", AF: "[~ eb1@9 eb2@16 db2@10 db3@15 ab1@8 ~@2 ab1@3]/2",
AG: "[~ eb2@6 eb2@6 db2@9 db3@15 ~ c2@7 c2@2 ~ g2@5 ~ c2@6 ~ f2@8 ~ f2@10 a2@4 c3@3 e2@8 ~]/3",
AH: "[~ e2@10 g2@6 ~ d2@10 ~ d2@10 f2@4 a2@3 db2@9 ~ db2@8]/2", AI: "~@2 e2@3 a2@4 bb1@6 d2@3 f2@14",
AJ: "[~@2 a1@6 c2@3 ~ f2@6 f1@9 ~ f1@7 f2@3 f2@17 c2@9]/2",
AK: "[~ g2@11 c2@6 ~ f2@8 ~ f2@10 a2@3 c3@4 e2@8 ~ e2@10]/2", AL: "~ g2@6 ~ d2@10 d2@11 f2@3",
AM: "[a2@3 db2@9 ~ db2@10 e2@4 a2@3 bb1@6 d2@4 f2@15 a1@6 ~ c2@3 f2@6 f1@9 ~ f1@7 f2@3 ~ f2@17 c2@9 g2@10]/4",
AN: "[c2@6 ~ gb2@9 ~ gb2@11 bb2@3 db3@4 f2@8 ~ f2@11 ab2@6 ~ eb2@10 eb2@11 gb2@3 bb2@3 d2@7]/3",
AO: "[~@3 d2@10 f2@3 bb2@4 b1@6 eb2@3 gb2@16 bb1@6 db2@4 gb2@6 gb1@9 ~ gb1@6 gb2@2 ~ gb2@16]/3",
AP: "db2@8 ab2@8 db2@7 gb2@9", AQ: "[~ gb2@10 bb2@4 db3@3 f2@8 ~@2 f2@10 ab2@6 ~ eb2@10 eb2@9]/2",
AR: "~@2 gb2@4 bb2@3 d2@9 ~ d2@10 f2@3", AS: "[bb2@4 b1@6 eb2@3 gb2@16 bb1@6 ~ db2@3 gb2@6 gb1@9 ~ gb1@6 gb2@2 ~]/2",
AT: "~ gb2@15 db2@8 ab2@8",
AU: "[db2@7 gb2@8 ~@2 gb2@10 bb2@3 db3@4 f2@8 ~ f2@10 ab2@6 ~ eb2@10 ~ eb2@10 gb2@3 bb2@3 d2@9]/3",
AV: "[~ d2@10 ~ f2@3 bb2@4 b1@6 eb2@3 gb2@15 bb1@6 ~ db2@3 gb2@6 gb1@9 ~ gb1@6 gb2@2 ~@2 gb2@15 db2@8 ab2@8 db2@7 gb2@8 ~@2 gb2@9 bb2@4 db3@3 f2@8 ~@2 f2@10 ab2@6 ~ eb2@10 eb2@11 gb2@3 bb2@3 ~ d2@9 d2@10 ~ f2@3 bb2@3]/7",
AW: "[b1@6 eb2@4 gb2@15 bb1@6 db2@3 ~ gb2@6 gb1@9 ~ gb1@6 gb2@2 ~ gb2@16 db2@8 ab2@9 db2@8 gb1@32 ~@27]/5",
})).s("gm_electric_bass_finger").gain(0.72)
// other · string ensemble 1
const string_ensemble_1 = note(`<
A B C D@2 E F@2 ~@19 G H@2 ~@2 I J@5 K@5 L@3 M N O P Q R@2 ~@7 S T@2 ~@3 U@2 V@5 W@2 X Y@2 Z@3 AA@2 AB@3 AC@5 AD@3
AE@2 AF@5 AG AH@2 AI@3
>`.pickRestart({
A: "~@28 db5 eb5 f5 g5", B: "ab5@3 ~@5 ab5 ~@7 eb5@11 ~@5", C: "~@7 bb5@2 ~@6 eb5@9 ~@3 c5 ~@2 db5 ~",
D: "[~ c5 ~@3 db5 ~@3 eb5 ~@3 f5 ~@3 eb5 ~@3 f5 ~@3 g5 ~@2 ab4@3 gb4@3 ab4@2 bb4@2 ~ ab4@3 bb4@2 c5@3 bb4@3 c5@2 db5@3 c5@3 db5@2 eb5@2 db5@2]/2",
E: "eb5@2 f5@2 g5@2 f5@2 g5@2 ab5 bb5@2 ab5@2 bb5@2 c6@2 db6@2 c6@2 db6@2 eb6 e6@2 db6@2 a5@2",
F: "[e5@2 db6@2 a5@2 e5@2 db5@2 a5@2 e5@2 db5@2 a4 db5@2 a4@2 e4@2 eb6@2 bb5@2 g5@2 eb5@2 bb5@2 g5@2 eb5@2 bb4@2 eb5 ~@24, ~@8 e5 ~@23]/2",
G: "~@5 c6 ~@2 db6 ~@2 eb6 ~@16 g5 ~@2 ab5", H: "[~@2 bb5 ~@2 ab5@38 ~@2 ab5@2 ~ c6 ~@2 eb6 ~@3 f6 ~@8]/2",
I: "~@27 a5@2 ~@3",
J: "[~@2 bb5@2 ~@5 c6@6 c6@30 ~@4 f5@2 ~@5 g5@2 ~@4 a5@6 ~ a5@30 ~@4 d5@4 ~@2 f5@4 ~@3 bb5@5 ~ c6@25 ~@3 b5@3 ~ c6@4 ~@2]/5",
K: "[~ d6@5 ~@2 b5@6 ~ c6@28 ~@5 a5@2 ~@5 bb5@2 ~@4 c6@38 ~@3 f5@2 ~@5 g5@3 ~@4 a5@36 ~@5 d5@3]/5",
L: "[~@3 f5@4 ~@2 bb5@5 ~@2 c6@26 ~@3 b5@3 c6@4 ~@4 d6@5 ~ b5@6 ~ c6@15 ~@12]/3",
M: "db5 eb5 f5 g5 ~ ab5@3 ~@4 ab5 ~@7 eb5@11 ~", N: "~@11 bb5@2 ~@6 eb5@9 ~@3 c5",
O: "~@2 db5 ~@3 c5 ~@3 db5 ~@3 eb5 ~@3 f5 ~@3 eb5 ~@3 f5 ~@3 g5 ~",
P: "~ ab4@2 gb4@3 ab4@3 bb4@2 ab4@3 bb4@3 c5@2 bb4@3 c5@3 db5@2 c5@3 db5@2",
Q: "~@2 db5@2 eb5@2 f5@2 g5@2 f5@2 g5@2 ab5 bb5@2 ab5@2 bb5@2 c6@2 db6@2 c6@2 db6@2 eb6 e6@2, ~ eb5@2 ~@29",
R: "[db6@2 a5@2 e5@2 db6@2 a5@2 e5@2 db5@2 a5@2 e5@2 db5@2 a4 ~ db5@2 a4@2 e4@2 ~ bb5@2 g5@2 eb5@2 bb5@2 g5@2 eb5@2 bb4@2 eb5 ~@20, ~@21 e5@2 ~@5 eb6@2 ~@34]/2",
S: "~@8 c6 ~@2 db6 ~@2 eb6 ~@16 g5", T: "[~@2 ab5 ~@2 bb5 ~@2 ab5@38 ~@2 ab5@2 ~@2 c6 ~@2 eb6 ~@2 f6 ~@5]/2",
U: "[a5@2 ~@4 bb5@2 ~@5 c6@6 ~ c6@30 ~@4 f5@2 ~@5 g5@2 ~]/2",
V: "[~@3 a5@6 ~ a5@30 ~@4 d5@4 ~@2 f5@4 ~@3 bb5@5 ~ c6@25 ~@4 b5@3 c6@4 ~@3 d6@5 ~@2 b5@6 ~ c6@28 ~@6 a5@2 ~@4 bb5@2 ~@2]/5",
W: "[~@2 c6@6 ~ c6@30 ~@4 f5@2 ~@5 g5@2 ~@5 a5@6 ~]/2", X: "a5@15 ~",
Y: "[~ d5@4 ~@3 f5@4 ~@2 bb5@5 ~ c6@25 ~@4 b5@3 ~ c6@4 ~@3 d6@4]/2",
Z: "[~@3 b5@6 ~ c6@27 ~@5 bb5@2 ~@5 b5@2 ~@5 db6@5 ~@2 db6@30 ~@3]/3",
AA: "[~ gb5@2 ~@5 ab5@2 ~@5 bb5@6 ~ bb5@29 ~@4 eb5@4 ~@2 gb5@3]/2",
AB: "[~@4 b5@5 ~ db6@28 ~ c6@3 db6@4 ~@2 eb6@3 ~@3 c6@5 ~ db6@26 ~@4 bb5@2 ~@4]/3",
AC: "[~ b5@2 ~@5 db6@5 ~@2 db6@30 ~@4 gb5@2 ~@4 ab5@3 ~@4 bb5@6 ~@2 bb5@30 ~@3 eb5@4 ~@2 gb5@4 ~@3 b5@5 ~ db6@28 ~ c6@3 ~ db6@4 ~]/5",
AD: "[~ eb6@3 ~@2 c6@5 ~@2 db6@26 ~@3 bb5@2 ~@5 b5@2 ~@4 db6@5 ~@2 db6@30 ~@4]/3",
AE: "[gb5@2 ~@5 ab5@2 ~@4 bb5@6 ~ bb5@30 ~@4 eb5@4 ~@2 gb5@4]/2",
AF: "[~@2 b5@5 ~ db6@28 ~ c6@3 ~ db6@4 ~@2 eb6@3 ~@2 c6@6 ~ db6@26 ~@3 bb5@2 ~@5 b5@2 ~@4 db6@5 ~@2 db6@30 ~@4 gb5@2 ~@4 ab5@2 ~@5 bb5@5]/5",
AG: "~@3 bb5@29", AH: "[~@3 eb5@4 ~@3 gb5@4 ~@2 b5@5 ~ db6@28 ~ c6@3 db6@4 ~@2 eb6@3 ~]/2",
AI: "[~@2 c6@5 ~ db6@27 ~@2 bb5@32 ~@27]/3",
})).s("gm_string_ensemble_1").gain(0.51).pan(0.4)
// chords · electric guitar muted
const electric_guitar_muted = note("<~@7 A B C D E@2 F B G H I@2 ~@33 J K L@2 M@2 ~@49>".pickRestart({
A: "~@23 [c3,f3]@2 ~ [c3,f3] ~@3 [c3,f3] ~", // F5
B: "~@3 [c3,f3]@2 ~@2 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3]@2 ~@2 [c3,f3] ~@3 [c3,f3]", // F5
C: "~@2 [c3,f3] ~@4 [c3,f3] ~@2 c3 f3 ~@2 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 c3 f3 ~@3 [c3,f3] ~@2 [c3,f3]@2", // F5
D: "~@2 [c3,f3]@2 ~@3 c3 ~@2 [c3,f3] ~@3 [c3,f3]@2 ~@3 db3 ~@3 [db3,ab3] ~@2 [db3,ab3] ~@3 [db3,ab3] ~, ~@3 f3 ~@5 ab3 ~@6", // F5 Db5
E: "[~@2 db3 ab3 ~@3 [db3,ab3] ~@2 [db3,ab3] ~@4 [db3,ab3] ~@3 [db3,ab3] ~@3 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~ [eb3,bb3] ~@4 [eb3,bb3] ~@3 [eb3,bb3] ~@3 [eb3,bb3] ~@2 [eb3,bb3] ~@4 [c3,g3]@2 ~ [c3,g3] ~@4 [c3,g3]]/2", // Db5 Eb5 C5
F: "~@3 [c3,g3] ~@3 [c3,g3] ~@3 [c3,g3] ~@2 [c3,g3] ~@3 [c3,g3] ~@4 [c3,f3]@2 ~ [c3,f3] ~@3 c3 f3", // C5 F5
G: "~@2 [c3,f3] ~@4 [c3,f3] ~@2 [c3,f3] ~@3 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 c3 f3 ~@3 [c3,f3] ~@2 [c3,f3]@2", // F5
H: "~@2 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 [c3,f3] ~@3 [c3,f3]@2 ~@3 db3 ~@3 db3 ~@2 [db3,ab3] ~@3 ab3 db3, ~@9 ab3 ~ ab3 ~@4", // F5 Db5
I: "[~@2 db3 ab3 ~@3 [db3,ab3] ~@2 [db3,ab3] ~@4 [db3,ab3] ~@3 [db3,ab3] ~@3 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~ [eb3,bb3] ~@4 eb3 ~@3 [eb3,bb3] ~@2 eb3 bb3 ~@2 [eb3,bb3] ~@13, ~@19 bb3 ~@12]/2", // Db5 Eb5
J: "~@27 [c3,f3]@2 ~@2 [c3,f3]", // F5
K: "~@3 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3]@2 ~@2 [c3,f3]", // F5
L: "[~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3] ~@3 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 [c3,f3] ~@3 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 [c3,f3]@2 ~@2 [c3,f3] ~@3 [c3,f3]@2 ~@2 [db3,ab3]@2 ~@2 [db3,ab3] ~@3 [db3,ab3]]/2", // F5 Db5
M: "[~@3 [db3,ab3] ~@3 [db3,ab3] ~@3 [db3,ab3] ~@3 [db3,ab3] ~@3 [db3,ab3] ~@3 [db3,ab3] ~@3 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~@2 [eb3,bb3]@2 ~@2 [eb3,bb3] ~@3 [eb3,bb3] ~@3 [eb3,bb3] ~@3 [eb3,bb3] ~@3 [eb3,bb3] ~@8]/2", // Db5 Eb5
})).s("gm_electric_guitar_muted").gain(0.35).pan(0.6)
// chords · distortion guitar
const distortion_guitar = note("<~@7 A ~ B C D ~ E ~ B C D ~@34 F ~ E G H ~@50>".pickRestart({
A: "~@19 c3@2 ~@2 [c3,f3,ab3]@4 ~@5, ~@18 [f3,ab3]@3 ~@11", B: "~@19 [f3,ab3]@3 ~@10, ~@18 c3@3 ~@11",
C: "~@19 [f3,ab3,db4]@3 ~@10", D: "~@19 [f3,ab3,db4]@2 ~@2 [g3,bb3,eb4]@3 ~@6", E: "~@23 [c3,f3,ab3]@3 ~@6",
F: "~@23 [c3,f3,ab3]@3 ~ [c3,f3,ab3]@3 ~@2", G: "~@23 [f3,ab3,db4]@3 ~@6",
H: "~@23 [f3,ab3,db4]@3 ~ [g3,bb3,eb4]@3 ~@2", // Db Eb
})).s("gm_distortion_guitar").gain(0.46).pan(0.3)
// chords · electric guitar clean
const electric_guitar_clean = note(`<
~@18 A B C@6 D@6 E@4 F@4 G@6 ~@11 H I@4 J@8 K@5 L@5 M@5 N@4 O@4 P@8 Q@4 ~@2
>`.pickRestart({
A: "~@22 g3 c3 ~@2 [c3,g3] ~@3 c3@2", // C5
B: "~@2 [c3,g3] ~@4 c3 ~@2 c3@2 ~@2 [c3,g3]@2 ~@2 c3 ~@3 c3 g3 ~@2 [c3,g3] ~@3 c3@2, ~@3 g3 ~@12", // C5
C: "[~@2 g3@2 ~@2 [c3,g3]@2 ~@2 c3@2 ~@2 [c3,g3]@2 ~@2 [c3,g3] ~@11 c4@3 [ab3,c4]@11 ~@9 eb4@2 ~ [bb3,eb4]@11 ~@7 db4@5 ~ [ab3,db4]@12 eb3@8 ~@5 ab3@10 ~@12 ab3 ~@2 [ab3,db4]@11 ~@10 c4 ~@3 [c4,eb4]@12 ~@10 ab3 ~@3 [ab3,db4]@11, ~@21 c3@21 ~@2 eb3@23 ~ f3@22 ~@11 eb3@14 ~@3 db3@24 eb3@25 ~ db3@24, ~@52 c4@5 ~@39]/6", // C5 Ab Eb5 Db5 Cm Db5
D: "[~@7 c4 ~@3 [g3,c4]@11 ~@9 c4@3 [ab3,c4]@12 ~@9 eb4@2 ~ eb4@11 ~@6 db4@5 ~@2 [ab3,db4]@11 eb3@8 ~@5 [ab3,c4]@10 ~@12 ab3 ~@3 [ab3,db4]@11 ~@10 c4 ~@3 [c4,eb4]@12 ~@10 ab3 ~@2 [ab3,db4]@10, e3@21 ~ c3@21 ~@3 eb3@23 ~ f3@22 ~@11 eb3@13 ~@3 db3@24 ~ eb3@25 ~ db3@22, ~@57 bb3@11 ~@124]/6", // C5 Ab Db5 Ab Db5 Cm Db5
E: "[~@9 c4 ~@2 [g3,c4]@11 ~ [a3,c4]@24 ~@3 [a3,c4]@25 ~ [d3,f3,a3]@25 ~@2 db4@24, ~@2 e3@22 [f3,f4]@21 ~@5 e3@27 d4@21 ~@5 [db3,e3,a3]@24 ~]/4", // C5 Am Dm F A
F: "[~@4 [bb2,f3,bb3,d4]@22 ~@2 [a2,f3,a3,c4]@24 ~@3 d4@22 ~@5 [c3,e3,g3,c4]@22 ~@5 [f3,a3,c4,f4]@19, ~@54 d3@25 ~@49, ~@27 [g3,b3]@11 ~@26]/4", // Bb F C F G
G: "[~@11 e5@6 f5@7 ~ g5@6 ~@4 [d3,f3,a3]@25 ~@6 e5@6 f5@7 g5@7 ~@4 [bb2,f3,bb3,d4]@22 ~@6 g5@6 a5@7 f5@6 ~@4 [g3,b3,d4]@22 ~@9 f5@6 g5@7 ~@7, ~@7 [e3,c4]@27 ~@27 [db3,e3,a3]@24 ~@29 [a2,f3,a3,c4]@26 ~ d3@25 ~@3 [c3,e3,g3,c4]@23, ~@8 a3@26 ~ d4@22 ~@5 db4@24 ~@106, ~@31 f5@21 ~@34 f5@20 ~@31 g5@17 ~@38]/6", // Dm Bb G C A F C
H: "~@27 [c3,g3] ~@3 [c3,g3]", // C5
I: "[~@3 c3@2 ~@2 [c3,g3] ~@3 [c3,g3]@2 ~@2 c3@2 ~@2 [c3,g3]@2 ~@2 c3 ~@3 [c3,g3] ~@3 [c3,g3]@2 ~@2 c3@2 ~@2 g3@2 ~@2 [c3,g3]@2 ~@2 c3@2 ~@2 [c3,g3]@2 ~@2 [c3,g3] ~@10 c4@3 [ab3,c4]@12 ~@9 eb4@2 ~ eb4@11 ~@7 db4@5 ~ [ab3,db4]@11, ~@58 c3@21 ~@2 eb3@23 ~ f3@22 ~, ~@92 bb3@11 ~@25]/4", // C5 Ab Db5
J: "[eb3@8 ~@5 [ab3,c4]@10 ~@13 ab3 ~@2 [ab3,db4]@11 ~@11 c4 ~@3 [c4,eb4]@12 ~@9 ab3 ~@3 [ab3,db4]@12 ~@7 c4 ~@2 [g3,c4]@11 ~@2 [a3,c4]@24 ~@5 e5@7 f5@7 g5@6 ~@4 [d3,f3,a3]@25 ~@6 e5@6 ~ f5@7 g5@6 ~@4 [bb2,f3,bb3,d4]@22 ~, ~@10 eb3@14 ~@2 db3@25 ~ eb3@25 ~ db3@24 e3@22 ~ [f3,f4]@21 ~@5 [e3,c4]@27 ~@26 [db3,e3,a3]@24 ~@28, ~@152 a3@26 d4@22 ~@5 db4@24 ~@27, ~@175 f5@21 ~@33 f5@20 ~@7]/8", // Ab Db5 Cm Db5 C5 Am Dm Bb …
K: "[~@2 f5@3 g5@7 a5@6 f5@7 ~@3 [g3,b3,d4]@22 ~@6 g5@3 f5@7 g5@6 e5@6 ~@5 [a3,c4]@23 ~@6 e5@6 f5@7 ~ g5@6 ~@4 [d3,f3,a3,d4]@24, ~@2 [a2,f3,a3,c4]@23 g5@17 ~@67 [a3,c4]@26 ~@25, ~@28 d3@25 ~@3 [c3,e3,g3,c4]@22 ~@5 [f3,f4]@20 ~@5 e3@27 ~@25, ~@132 f5@21 ~@7]/5", // G Am Dm F Am C F
L: "[~@7 e5@6 f5@7 g5@7 ~@4 d4@21 ~@3 f5@3 g5@7 a5@7 f5@6 ~@4 [g3,b3,d4]@22 ~@5 g5@3 f5@7 g5@6 e5@6 ~@4 [bb3,db4,gb4]@24 ~, ~ db3@25 ~@4 [bb2,f3,bb3]@22 ~@3 [a2,f3,a3,c4]@26 ~@79, ~@2 [e3,a3]@24 ~@55 d3@25 ~@3 [c3,e3,g3]@22 ~@4 gb3@21 ~@4, ~@3 db4@24 f5@20 ~@31 g5@17 ~@65]/5", // G Gb Bb5 F A5 C
M: "[~@6 f5@6 gb5@7 ab5@6 ~@5 [eb3,gb3,bb3]@25 ~@5 f5@6 ~ gb5@7 ab5@7 ~@3 [b2,gb3,b3,eb4]@22 ~@3 gb5@3 ab5@7 bb5@6 gb5@7 ~@3 [ab3,c4,eb4]@19 ~@6, ~@2 f3@27 ~@26 [d3,f3]@25 ~@29 [bb2,gb3,bb3,db4]@25 ~ eb3@23 ~@2, ~@3 [bb3,db4]@26 ~ eb4@22 ~@4 bb3@24 ~@80, ~@26 gb5@21 ~@10 d4@24 gb5@20 ~@31 ab5@15 ~@13]/5", // Ebm B Ab Dm Gb Bbm
N: "[ab5@3 gb5@5 ab5@5 f5@5 ~@5 [bb3,db4]@24 ~@6 f5@6 ~ gb5@7 ab5@6 ~@4 [eb3,gb3,bb3]@25 ~@6 f5@6 ~ gb5@7 ab5@6, [db3,f3,ab3,db4]@18 ~@5 [gb3,gb4]@21 ~@6 [f3,bb3,db4]@24 gb5@21 ~@9 d4@24, ~@77 eb4@22 ~@4 [d3,f3,bb3]@24 ~]/4", // Bbm Ebm Db Gb Bbm Bb
O: "[~@4 [b2,gb3,b3,eb4]@23 ~@2 gb5@3 ab5@7 bb5@7 gb5@6 ~@4 [ab3,eb4]@19 ~@5 ab5@3 gb5@5 ab5@6 f5@5 ~@4 [bb3,db4]@23 ~@2, gb5@20 ~@9 [bb2,gb3,bb3,db4]@23 ab5@15 ~@61, ~@55 eb3@23 ~@2 [db3,f3,ab3,db4]@18 ~@5 [gb3,gb4]@20 ~@5, ~@55 c4@18 ~@55]/4", // B Ab5 Bbm Gb Db Gb
P: "[~@5 f5@6 gb5@7 ab5@6 ~@4 [eb3,gb3,bb3]@24 ~@7 f5@6 gb5@7 ab5@7 ~@4 [b2,gb3,b3,eb4]@22 ~@2 gb5@3 ab5@7 bb5@7 gb5@6 ~@4 eb4@19 ~@5 ab5@3 gb5@5 ab5@5 f5@5 ~@5 [bb3,db4]@23 ~@6 f5@6 ~ gb5@7 ab5@6 ~@4 [eb3,gb3,bb3,eb4]@22, ~ f3@27 ~@25 d3@25 ~@29 [bb2,gb3,bb3,db4]@25 ~ [ab3,c4]@19 ~@29 [gb3,gb4]@20 ~@6 [f3,bb3,db4]@27 ~@22, ~@2 [bb3,db4]@26 eb4@21 ~@5 [f3,bb3]@24 ~@55 eb3@23 ~@2 [db3,f3,ab3,db4]@18 ~@80, ~@25 gb5@21 ~@9 d4@24 gb5@20 ~@31 ab5@15 ~@86 gb5@21 ~@4]/8", // Ebm B Bbm Ebm Gb Ab Gb Bbm …
Q: "[~@9 f5@6 gb5@7 ab5@7 ~@4 [b2,gb3,b3,eb4]@22 ~@2 gb5@3 ab5@7 bb5@6 gb5@7 ~@3 [ab3,c4,eb4]@19 ~@6 ab5@3 gb5@5 ab5@6 f5@6, ~@4 [d3,f3,bb3]@24 ~@29 [bb2,gb3,bb3,db4]@25 ~ eb3@23 ~@2 [db3,f3,ab3,db4]@19 ~, ~@5 d4@24 gb5@20 ~@31 ab5@15 ~@33]/4", // B Ab Bb Gb Db
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.6)
// chords · pad warm
const pad_warm = note("<A@8 ~@24 B@4 C@5 D@5 E@2 F G@4 ~@11 H I@8 J K@5 L@5 M@5 N@8 O@8 P@2>".pickRestart({
A: "[~@31 [c4,eb4,ab4]@18 ~@2 [c4,eb4,ab4]@7 ~ [c4,eb4,ab4]@2 ~ [bb3,eb4,g4]@18 ~@2 [bb3,eb4,g4]@7 ~ [bb3,eb4,g4]@2 [db4,f4,ab4]@19 ~ [db4,f4,ab4]@7 ~ [db4,f4,ab4]@3 ~ [db4,e4,ab4]@19 [db4,e4,ab4]@7 ~ [db4,e4,ab4]@4 [c4,ab4]@14 ~@2 [bb3,g4]@14 ~ [db4,e4,a4]@28 [bb3,eb4,g4]@15 ~@27, ~@155 eb4@28 ~@73]/8", // Ab Eb Db Dbm Fm Eb A Eb
B: "[~ [c4,e4,g4]@21 ~ [c4,f4,a4]@21 ~@5 [e4,g4]@25 ~@2 [d4,f4]@26 ~@2 [db4,e4]@24, ~@19 a3@13]/4", // C F Em Dm Dbm
C: "[~@3 [bb3,d4]@22 ~@3 [a3,c4]@24 ~ [b3,d4]@24 ~@4 [c4,e4]@26 ~ [f4,a4]@23 ~@3 [e4,g4]@25 ~, ~@3 f4@49 ~ g4@54 ~ c4@52]/5", // Bb Am Bm C F Em
D: "[~@2 [d4,f4]@26 ~@2 [db4,e4]@26 [bb3,d4]@22 ~@4 [a3,c4]@24 ~@2 [b3,d4]@24 ~@3 [c4,e4]@12 ~@13, ~ a3@27 f4@25 ~ g4@20 ~@6]/5", // Dm Dbm Bb Am Bm C
E: "[~@3 [c4,eb4,ab4]@18 ~@2 [c4,eb4,ab4]@7 ~ [c4,eb4,ab4]@2 ~ [bb3,eb4,g4]@18 ~@2 [bb3,eb4,g4]@7 ~ [bb3,eb4,g4]@2]/2", // Ab Eb
F: "~ [db4,f4,ab4]@19 ~ [db4,f4,ab4]@7 ~ [db4,f4,ab4]@3", // Db
G: "[[db4,e4,ab4]@19 ~ [db4,e4,ab4]@7 ~ [db4,e4]@3 [c4,ab4]@14 ~@2 [bb3,g4]@14 ~ [db4,e4,a4]@28 ~ [bb3,eb4,g4]@15 ~@22, ~@28 ab4 ~@2 eb4@29 ~@68]/4", // Dbm Fm Eb A Eb
H: "~@3 [db4,f4,ab4]@5", // Db
I: "[~@5 [c4,e4,g4]@21 ~ [c4,f4,a4]@21 ~@6 [e4,g4]@25 ~@2 [d4,f4]@26 ~@2 [db4,e4]@26 ~ [bb3,d4]@22 ~@3 [a3,c4]@24 ~@2 [b3,d4]@24 ~@3 [c4,e4]@26 ~@2 [c4,f4,a4]@14, ~@81 a3@54 ~ f4@50 ~ g4@54 ~@15]/8", // C F Em Dm Dbm Bb Am Bm …
J: "~@3 [e4,g4]@5", // Em
K: "[~@7 [d4,f4]@26 ~ [db4,e4]@26 ~ [bb3,d4]@22 ~@3 [a3,c4]@24 ~@2 [b3,d4]@24 ~@4 [c4,e4]@20, ~@7 a3@54 f4@50 ~ g4@48]/5", // Dm Dbm Bb Am Bm C
L: "[~@6 [gb4,bb4]@24 ~@4 [f4,ab4]@25 ~@2 [eb4,gb4]@26 ~ [d4,f4]@26 ~ [b3,eb4]@22 ~@3 [bb3,db4]@20, ~@6 db4@52 ~@3 bb3@54 gb4@45]/5", // Gb Fm Ebm Dm B Bbm
M: "[~@6 [c4,eb4]@21 ~@4 db4@22 ~ [gb4,bb4]@24 ~@3 [f4,ab4]@25 ~@2 [eb4,gb4]@26 ~@2 [d4,f4]@24, ~@6 ab4@47 ~@107, ~@15 f4@11 ~ db4@26 ~ bb3@26]/5", // Cm Gb Fm Ebm Dm
N: "[~@3 [b3,eb4]@23 ~@3 bb3@24 ~ [c4,eb4]@21 ~@4 [db4,f4]@22 ~ [gb4,bb4]@23 ~@3 [f4,ab4]@25 ~@2 [eb4,gb4]@26 ~ [d4,f4]@26 ~ [b3,eb4]@22 ~@4 bb3@21, ~@3 gb4@50 ~ ab4@47 ~@108 gb4@47, ~@28 db4@24 ~@50 db4@51 ~@2 bb3@53 ~@26 db4@22]/8", // B Cm Db Gb Fm Ebm Dm B
O: "[~@4 [c4,eb4]@21 ~@4 [db4,f4]@22 ~ [gb4,bb4]@23 ~@3 [f4,ab4]@25 ~@2 [eb4,gb4]@26 ~@2 [d4,f4]@26 [b3,eb4]@22 ~@3 [bb3,db4]@24 ~@2 [c4,eb4]@21 ~@3 [db4,f4]@22, ~@4 ab4@46 ~@2 db4@51 ~@2 bb3@54 gb4@49 ~@2 ab4@46]/8", // Cm Db Gb Fm Ebm Dm B Bbm …
P: "[~@2 [gb3,db4,gb4]@17 ~@13]/2", // Gb5
})).s("gm_pad_warm").gain(0.32).pan(0.3)
// other · tubular bells
const tubular_bells = note(`<
~ A B C D E F ~@25 G H I J K L M N O P Q R S T U V W X Y Z ~@13 AA AB AC AD AE AF AG AH S AI AJ AK AL AM AN AO AP AQ
AR AS AT AU AR AV AW AX AY AN AZ BA BB BC BD BE BF BG BH BI BJ BK BL ~
>`.pickRestart({
A: "ab4 ~@30 eb4", B: "~@29 db4 ~@2", C: "~@29 ab4 ~@2", D: "~@28 eb4 ~@3", E: "~@11 eb4 ~@14 [e4,a4] ~@5",
F: "~@23 [eb4,g4] ~@8", G: "~@24 a4 ~@7", H: "~@19 g4 ~@12", I: "~@13 f4 ~@18", J: "~@9 db4 ~@22",
K: "~@4 bb4 ~@23 f4 ~@3", L: "~@22 g4 ~@9", M: "~@18 c4 ~@13", N: "~@13 a4 ~@18", O: "~@8 g4 ~@23",
P: "~@3 f4 ~@27 db4", Q: "~@25 bb4 ~@6", R: "~@19 f4 ~@12", S: "~@13 g4 ~@18", T: "~@8 c4 ~@23", U: "~@4 ab4 ~@27",
V: "~@3 eb4 ~@28", W: "~@2 db4 ~@29", X: "~ ab4 ~@30", Y: "eb4 ~@14 eb4 ~@14 [e4,a4] ~", Z: "~@28 [eb4,g4] ~@3",
AA: "~@29 a4 ~@2", AB: "~@23 g4 ~@8", AC: "~@18 f4 ~@13", AD: "~@14 db4 ~@17", AE: "~@9 bb4 ~@22",
AF: "~@2 f4 ~@25 g4 ~@3", AG: "~@23 c4 ~@8", AH: "~@19 a4 ~@12", AI: "~@8 f4 ~@23", AJ: "~@3 db4 ~@26 bb4 ~",
AK: "~@23 f4 ~@8", AL: "~@17 g4 ~@14", AM: "~@13 c4 ~@18", AN: "~@7 bb4 ~@24", AO: "~@3 ab4 ~@26 gb4 ~",
AP: "~@25 d4 ~@6", AQ: "~@20 b4 ~@11", AR: "~@13 gb4 ~@18", AS: "~@7 ab4 ~@24", AT: "db4 ~@22 bb4 ~@8",
AU: "~@18 ab4 ~@13", AV: "~@9 d4 ~@22", AW: "~@4 b4 ~@24 gb4 ~@2", AX: "~@23 ab4 ~@8", AY: "~@16 db4 ~@15",
AZ: "~@2 ab4 ~@25 gb4 ~@3", BA: "~@23 d4 ~@8", BB: "~@19 b4 ~@12", BC: "~@11 gb4 ~@20", BD: "~@5 ab4 ~@24 db4 ~",
BE: "~@21 bb4 ~@10", BF: "~@15 ab4 ~@16", BG: "~@10 gb4 ~@21", BH: "~@6 d4 ~@25", BI: "b4 ~@24 gb4 ~@6",
BJ: "~@19 ab4 ~@12", BK: "~@12 db4 ~@19", BL: "~@5 gb4@2 ~@25",
})).s("gm_tubular_bells").gain(0.55).pan(1)
// other · timpani
const timpani = note("<A ~@5 B C ~@37 D E ~@4 F G ~@54>".pickRestart({
A: "~@20 g2!12", B: "~@27 g2!5", C: "g2!7 ~@25", D: "~@24 g2!8", E: "g2!4 ~@28", F: "~@31 g2", G: "g2!11 ~@21",
})).s("gm_timpani").gain(0.36).pan(0.3)
// other · timpani · soft notes
const timpani_soft = note("<[~@16 g2!4 ~@12] ~@5 [~@23 g2!4 ~@5] ~@38 [~@21 g2!3 ~@8] ~@5 [~@28 g2!3 ~] ~@55>")
.s("gm_timpani").gain(0.22).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
~ A B C D E F G ~ H@2 I ~ J ~ H@2 I ~@2 K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO
AP AQ ~ AR@2 AS ~@2 AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU AI BV BW T BX
BN BY BZ CA CB CC CD CE CF CG CH CI CJ CK ~
>`.pickRestart({
A: "x ~@15 x ~@14 x", B: "~@15 x ~@13 x ~@2", C: "~@13 x ~@15 x ~@2", D: "~@13 x ~@14 x ~@3", E: "~@11 x ~@14 x ~@5",
F: "~@10 x ~@12 x ~@8", G: "~@7 x ~@14 x ~@9", H: "~@9 x ~@6", I: "~@9 x ~ x ~@4", J: "~@11 x ~@4",
K: "~@18 x ~@2 x ~@8 x ~", L: "~@10 x ~ x ~@2 x ~@5 x ~@5 x ~@4", M: "~@4 x ~@8 x ~@12 x ~ x ~@2 x",
N: "~@5 x ~@6 x ~@9 x ~@8 x", O: "~@12 x ~ x ~@2 x ~@5 x ~@6 x ~", P: "~@8 x ~@8 x ~@12 x ~",
Q: "x ~ x ~@5 x ~@13 x ~@8 x", R: "~@6 x!3 ~@2 x ~@2 x ~", S: "~@5 x ~@8 x ~@12 x ~ x ~@2",
T: "x ~@6 x ~@5 x ~@9 x ~@8", U: "x ~@13 x ~ x ~@2 x ~@5 x ~@6", V: "x ~@9 x ~@8 x ~@12", W: "~@2 x ~@6 x ~@14 x ~@7",
X: "~@2 x ~@14 x ~ x ~ x ~@6 x ~@3", Y: "~@3 x ~@9 x ~@10 x ~@7", Z: "~@7 x ~ x ~@2 x ~@5 x ~@6 x ~@6",
AA: "~@4 x ~@8 x ~@12 x ~ x ~@3", AB: "x ~@5 x ~@6 x ~@8 x ~@9", AC: "~ x ~@16 x ~@9 x ~@3", AD: "~@13 x ~@9 x ~@8",
AE: "~@6 x ~ x ~@2 x ~@5 x ~@6 x ~@7", AF: "~@3 x ~@9 x ~@15 x ~ x", AG: "~@2 x ~@5 x ~@6 x ~@9 x ~@6",
AH: "~@3 x ~@13 x ~ x ~@2 x ~@5 x ~@3", AI: "~@3 x ~@9 x ~@9 x ~@8", AJ: "~ x ~@2", AK: "~ x ~@3 x ~@2",
AL: "~@3 x ~@15 x ~@12", AM: "~ x ~@7 x ~@6", AN: "~ x ~@15 x ~@14", AO: "x ~@14 x ~@14 x ~", AP: "~@7 x ~@6 x ~",
AQ: "~@11 x ~@15 x ~@4", AR: "~@23 x ~@8", AS: "~@23 x ~@3 x ~@4", AT: "~@23 x ~ x ~@6",
// … 236 more lines
More by Anna Oxa
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.