0:00/0:00
// Situation — Yazoo
// 92 bpm, 2/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 225 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(92/2)
// 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(`<
~@6 A B C D E@2 F G@2 H I ~ J ~ K ~ J L M N O N P Q@2 L R N O N P S@2 L T N O N P S@2 U@4 V W@5 L T N O N P S@2 L T N
O N P Q@2 L X N O N P S@2 Y@4 Z AA@5 ~@16 L X AB O N P Q@2 L X N O N P S@2 L AC N O N P S@2 L T N O N P S@2 AD AE AF@2
AG AH AI AJ C AK AL@2 AM AN@2 L T N O N P Q@2 L X N O N P S@2 L X N O N P S@2 Y@4 AO AA@5 L X N O N P Q@2 L X N O N P
S@2 L T N O N P S@2 Y@4 Z AA@5 AP AQ ~
>`.pickRestart({
A: "~@10 [gb2,gb3,bb3,e4,a4]@2 ~@2 [g2,g3,b3] ~, ~@7 [f4,bb4]", // Gb7 G Bb5
B: "~@2 [ab2,ab3,c4,gb4,b4]@3 ~@3 [d3,d4,d5]@2 [c3,c4,c5] ~ [d3,d4] ~ [c3,c4,c5] ~, ~@6 d5 ~", // Ab7 D C D C
C: "[d4,d5]@2 [c3,c4]@2 [a2,a3,a4] ~ [d3,d5] ~ [c3,c4,c5] ~ [d3,d4,d5]@2 [c3,c5] ~ [g3,g4,g5]@2, d3 ~ c5 ~@3 d4@2 ~@4 c4@2 ~@2", // D C A D C D C G
D: "[f4,f5]@2 [c3,c4,c5] ~ [d3,d4] ~ [c3,c4,c5] ~ [d4,d5]@2 [c4,c5] ~ [d4,d5]@2 [c3,c4]@2, f3 ~@3 d5@2 ~@2 d3 ~ c3@2 d3 ~ c5 ~", // F C D C D C D C
E: "[[a2,a3,a4] ~ [c3,c4,c5]@17 ~ [d3,d4] ~ [c3,c4,c5] ~ [d3,d4,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4,c5]@2, ~@10 d5 ~@3 d4 ~]/2", // A C D C D C D C
F: "[a2,a3,a4] ~ [d3,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4,c5] ~ [g3,g4,g5]@2 [f3,f4,f5] ~ [c3,c4,c5] ~, ~ d4 ~ d4 ~@4", // A D C D C G F C
G: "[[d3,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4,c5] ~ [d3,d4,d5]@2 [c3,c4] ~ [f3,f4,f5]@2 ~@4 [gb2,gb3,bb3,e4,a4]@2 ~@2 [g3,f4,bb4]@2 ~@2 [c4,gb4,b4]@3 ~@3, d4@2 ~@2 d4@2 ~@4 c5@2 ~@2 [ab2,ab3,ab4]@12 [ab2,ab3] ~@5, ~@22 [g2,b3] ~@9]/2", // D C D C D C F Gb7 …
H: "[d3,d4,a4,d5,f5] ~@3", // Dm
I: "[f2,f3,a4,c5,f5,g5]@3 [g2,b4,d5,g5]@3 [d2,d3,a4,d5,f5]@2, ~@6 g3@3 ~@3 e2 ~@3, ~@6 c5 ~@9", // F G Dm
J: "[f2,f3,a4,c5,f5]@5 ~ [g2,b4,d5,g5]@5 ~ [d2,d3,a4,d5,f5]@3 ~, ~@6 g3@3 ~@7", // F G Dm
K: "[f2,f3,a4,c5,f5,g5]@6 [g2,b4,d5,g5]@6 [d2,d3,a4,d5,f5]@3 ~, ~@6 g3@3 ~@3 e2 ~@3, ~@6 c5 ~@9", // F G Dm
L: "[d2,a4,d5,f5]@4 ~@2 [d2,a4,d5,f5] ~ [a4,d5,f5]@4 d3 ~ [d2,b4,g5]@2, ~@4 d3@4 d2@3 ~@3 d5 ~", // Dm G
M: "~@2 [d2,b4]@2 d3@2 d2@2 ~@4 [d3,d5]@2 b4 ~, ~ [d5,g5]@3 [g2,d5]@2 ~@2, ~@6 b4@7 ~@3, ~@5 g5@3", // G D G5
N: "[d2,a4,d5,f5]@4 d3@2 [d2,a4,d5,f5] ~ [a4,d5,f5]@4 d3@2 [d2,b4,d5,g5]@2, ~@8 d2@3 ~@5", // Dm G
O: "~@2 [d2,b4]@2 d3@2 ~@2 d5@2 b4 ~ [d3,d5]@2 g2@2, ~ [d5,g5]@2 [g2,b4]@2 g5@3, ~@12 b4 ~ b4 ~", // G D G5 G
P: "~ [d2,b4,d5] d3 ~ d5 ~ [d3,d5] g2, ~@2 g5@4 [g2,b4]@7 ~ b4 ~, ~@5 g5@3", // G D G
Q: "[[d2,a4,d5,f5]@4 d3@2 [d2,a4,d5,f5] ~ [a4,d5,f5]@4 d3@2 [b4,d5,g5]@2 ~@2 [b4,d5]@2 d3@2 ~@2 d5@2 g5@2 [b4,d5] ~@3, ~@8 d2@3 ~@3 d2@4 g5@4 [g2,b4]@5 ~ d3@2 ~@2]/2", // Dm G Bm G
R: "~ d2 d3 d2 ~@2 [d3,d5] g2, ~ g5@3 [g2,d5]@2 ~@2, ~@2 [b4,d5]@4 b4@7 ~ b4 ~, ~@5 g5@3", // D G5 Bm
S: "[[d2,d5,f5]@4 d3@2 [d2,a4,d5,f5] ~ [a4,d5,f5]@4 d3@2 [b4,d5,g5]@2 ~@2 [b4,d5]@2 d3@2 ~@2 d5@2 g5@2 [b4,d5] ~@3, ~@8 d2@3 ~@3 d2@4 g5@4 [g2,b4]@5 ~ d3@2 ~@2]/2", // Dm G Bm G
T: "~@2 [d2,b4]@2 d3@2 d2@2 ~@4 [d3,d5]@2 [g2,b4] ~, ~ [d5,g5]@3 [g2,d5]@2 ~@2, ~@6 b4@7 ~@3, ~@5 g5@3", // G D G G5
U: "[[bb3,c4,d4,f4]@7 ~ [a3,e4]@7 ~ [g2,b3,d4,f4]@16, ~@14 g3@15 ~ g3@31 ~@3, ~@8 [a2,c4]@9 ~@15, ~@16 ab3 ~@47]/4", // Bb A5 G7 Am
V: "[bb2,bb3,c4,f4]", // Bbsus2
W: "[[a2,a3,c4,e4]@10 [d3,d4]@2 db3@2 [bb3,c4,d4,f4]@27 ~@21 c5@4 ~@8 c4@6, ~@12 db4 ~ c3@66, ~@44 bb4@9 ~ f4@8 ~@4 d4@5 ~@9, ~@23 c5@5 ~ bb4@4 ~ f4@6, ~@50 f5@13 ~@7 bb4@10]/5", // Am D Bb
X: "~ [d2,b4] d3 d2 ~@2 [d3,d5] g2, ~ [d5,g5]@3 [g2,d5]@2 ~@2, ~@6 b4@7 ~ b4 ~, ~@5 g5@3", // G D G5
Y: "[[bb2,bb3,c4,d4,f4]@14 ~@2 [a3,e4]@14 ~@5 [g4,f5]@2 ~@2 [g4,d5,f5]@3 g3 ~ [g4,c5] ~ g3 ~ [f4,g4,bb4] ~ g3 ~ [f4,c5] ~ g3 ~ [f4,bb4] b4 g3 b4 f4@2 [d4,e4] ~, ~@14 g3@15 ~ g3@12 ~@22, ~ [a2,c4] f4 ~, ~@16 ab3 ~@15 [g2,b3,d4]@32, ~@35 db5 ~@3 db5 ~@4 e5@2 ~@2 [b4,d5]@2 ~@2 e5@2 ~@2 d5@3 ~@5]/4", // Bb A5 G7 C5 Gm7 F5 Bb5 Dsus2 …
Z: "[bb2,bb3,c4,d4,f4]", AA: "[[a2,a3,c4,e4]@10 [d3,d4]@2 db3@2 [bb3,c4,d4,f4]@27 ~@39, ~@12 db4 ~ c3@66]/5",
AB: "[d2,a4,d5]@4 d3@2 [d2,a4,d5,f5] ~ [a4,d5,f5]@4 d3@2 [d2,b4,d5,g5]@2, ~@8 d2@3 ~@5", // D5 Dm G
AC: "~@2 d2@2 d3@2 d2@2 ~@4 [d3,d5]@2 [g2,b4] ~, ~ g5@3 [g2,d5]@2 ~@2, ~@2 [b4,d5]@4 b4@7 ~@3, ~@5 g5@3", // D G G5 Bm
AD: "[d3,d4,d5]@2 [c3,c4,c5] ~ [d3,d4] ~ [c3,c4,c5] ~ [d4,d5]@2 [c3,c4]@2 [a2,a3,a4] ~ [d3,d5] ~, ~@4 d5@2 ~@2 d3 ~ c5 ~@3 d4@2", // D C D C D C A D
AE: "[c3,c4,c5] ~ [d3,d4,d5]@2 [c3,c5] ~ [g3,g4,g5]@2 [f3,f5] ~ [c3,c4,c5] ~ [d3,d4] ~ [c3,c4,c5] ~, ~@2 c4 ~ f4 ~ d5 ~", // C D C G F C D C
AF: "[[d4,d5]@2 [c4,c5] ~ [d3,d5] ~ [c3,c4]@2 [a2,a3,a4] ~ [c3,c4,c5]@17 ~ [d3,d4] ~ [c3,c4,c5] ~, d3 ~ c3@2 d4@2 c5 ~@21 d5@2 ~@2]/2", // D C D C A C D C
AG: "[d3,d4,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4,c5]@2 [a2,a3,a4] ~ [d4,d5]@2 [c3,c4,c5] ~ [d3,d5] ~, ~@4 d4@2 ~@4 d3 ~@3 d4@2", // D C D C A D C D
AH: "[c4,c5] ~ [g3,g4,g5]@2 [f3,f4,f5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4,c5] ~, ~@4 d4 ~ d4 ~", // C G F C D C D C
AI: "[d3,d4,d5]@2 [c3,c4] ~ [f3,f4,f5]@2 ~@4 [gb2,gb3,bb3,e4,a4]@2 ~@2 [g2,g3,b3] ~, ~ c5 ~ [ab2,ab3,ab4]@4 [f4,bb4]", // D C F Gb7 G Ab Bb5
AJ: "~@2 [c4,gb4,b4]@3 ~@3 [d3,d4,d5]@2 [c3,c4,c5] ~ [d3,d4] ~ [c3,c4,c5] ~, ~@2 [ab2,ab3] ~@9 d5@2 ~@2", // B D C D C Ab
AK: "[f4,f5]@2 [c3,c4,c5] ~ [d3,d4] ~ [c3,c4,c5] ~ [d4,d5]@2 [c4,c5] ~ [d3,d5] ~ [c3,c4]@2, f3 ~@3 d5@2 ~@2 d3 ~ c3@2 d4@2 c5 ~", // F C D C D C D C
AL: "[[a2,a3,a4] ~ [c3,c4,c5]@17 ~ [d3,d4] ~ [c3,c4,c5] ~ [d3,d4,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c3,c4]@2, ~@20 d5@2 ~@6 d4@2 c5 ~]/2", // A C D C D C D C
AM: "[a2,a3,a4] ~ [d3,d5] ~ [c3,c4,c5] ~ [d3,d5] ~ [c4,c5] ~ [g3,g4,g5]@2 [f3,f4,f5] ~ [c3,c4,c5] ~, ~ d4 ~ d4 ~@4", // A D C D C G F C
AN: "[[d3,d5] ~ [c3,c4,c5] ~ [d4,d5]@2 [c3,c4,c5] ~ [d3,d4,d5]@2 [c3,c4] ~ [f3,f4,f5]@2 ~@4 [gb2,gb3,bb3,e4,a4]@2 ~@2 [g2,g3,b3] ~@3 [c4,gb4,b4]@3 ~@3, d4@2 ~@2 d3 ~@5 c5@2 ~@2 [ab2,ab3,ab4]@12 [ab2,ab3] ~@5, ~@11 [f4,bb4] ~@4]/2", // D C D C D C F Gb7 …
AO: "[bb3,c4,d4,f4]", AP: "[d4,a4,d5,f5] ~@3",
AQ: "[f3,f4,a4,c5,f5]@5 ~ [g3,g4,b4,d5,g5]@3 ~@3 [d3,d4,d5,a5,d6]@4, ~@12 g5 ~@3", // F G D5
})).s("gm_piano").gain(0.37)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
~@6 A B C D E@2 F G@2 H I ~ J ~ K ~ L M N M O P N Q@2 R@2 S@2 T@2 U@2 R@2 S@2 T@2 U@2 V W X@2 Y Z@5 M N M O AA N Q@2
R@2 AB@2 T@2 U@2 R@2 AB@2 T@2 U@2 AC W X@2 Y Z@5 AD AE ~@3 AF ~@3 AG ~@3 AH ~@2 M N M O AA N Q@2 R@2 AI@2 T@2 U@2 R@2
AB@2 T@2 U@2 R@2 AB@2 T@2 U@2 ~@7 AJ C D E@2 AK G@2 AL@2 AB@2 T@2 U@2 R@2 S@2 T@2 U@2 R@2 S@2 T@2 U@2 V W X@2 Y Z@5 M
N M AM AA N AN@2 R@2 S@2 T@2 U@2 R@2 S@2 T@2 U@2 AC W X@2 Y Z@5 AD AO ~
>`.pickRestart({
A: "~@5 gb1 ~ g1", B: "~@2 ab1@2 ~@2 a1@2 d2@2 c2 ~ d2@2 c2 ~",
C: "d2@2 c2@2 a1 ~ d2@2 c2 ~ d2@2 c2@2 g2@2, ~@10 c2 ~@5", D: "f2@2 c2 ~ d2@2 c2@2 d2@2 c2 ~ d2@2 c2@2",
E: "[a1@2 c2@17 ~ d2@2 c2@2 d2@2 c2 ~ d2@2 c2@2]/2", F: "a1 ~ d2@2 c2@2 d2@2 c2@2 g2@2 f2 ~ c2 ~",
G: "[d2@2 c2@2 d2@2 c2 ~ d2@2 c2 ~ f2@2 ab1@17 ~]/2", H: "d2@3 ~@13", I: "f2@5 ~ g2@5 ~ d2@2 ~@2",
J: "f2@6 g2@5 ~ d2@2 ~@2", K: "f2@6 g2@5 ~ d2@3 ~", L: "f2@3 g2@3 d2 ~", M: "d2@5 ~ d2 ~ d2@5 ~ d2@2",
N: "~@2 d2@3 ~ d2@2 f2@4 c2@4", O: "~@2 d2@3 ~ f2@2 g2@2 a2@2 g2@2 f2@2", P: "d2@5 ~ d2@2 d2@4 ~@4",
Q: "[d2@5 ~ d2 ~ d2@5 ~ d2@4 a1@2 c2@2 d2@2 f2@2 d2@2 c2@2 a1@2]/2",
R: "[d2@4 ~@2 a2 ~ d3@2 e3@2 ~@2 g2@8 a2 ~ e3@4 d3@2 ~@2]/2",
S: "[d2@5 ~ a2 ~ d3@2 e3@2 ~@2 g2@4 a2 ~ d3@2 a2@2 e3@5 ~@3]/2",
T: "[d2@5 ~ a2 ~ d3@2 e3@2 ~@2 g2@4 a2 ~ d3@2 a2 ~ e3@4 d3@4]/2",
U: "[d2@5 ~ a2 ~ d3@2 e3@3 ~ g2@4 a2 ~ d3 ~@3 e3@4 d3@3 ~]/2", V: "bb2@6 f2@2 bb1@2 bb1@3 ~@3, bb1 ~@15",
W: "a2@3 e2 a1@4", X: "[g2@6 c2@2 g2@14 d2@2 g1@6 d2 ~]/2", Y: "bb2@6 f2 ~ bb1@7 ~",
Z: "[a2@3 e2 ~ d2 db2 c2@29 ~@4, ~@2 a1 ~@17]/5", AA: "d2@5 ~ d2@2 d2@4 ~@2 d2@2",
AB: "[d2@5 ~ a2 ~ d3@2 e3@2 ~@2 g2@4 a2 ~ d3@2 a2@2 e3@4 d3@4]/2", AC: "bb1 ~@5 f2@2 bb1@2 bb1@3 ~@3", AD: "d2 ~@3",
AE: "[f1,f2]@5 ~ [g1,g2]@6 d2@4", AF: "[f1,f2]@5 ~ [g1,g2]@6 d2@3 ~, ~@6 eb2 ~@9",
AG: "[f1,f2]@5 ~ [g1,g2]@6 d2@3 ~, ~@3 f1 ~@4", AH: "[f1,f2]@4 ~@2 [g1,g2]@6 d2@3 ~",
AI: "[d2@5 ~ a2 ~ d3@2 e3@2 ~@2 g2@4 a2 ~ d3@2 a2@2 e3@4 d3@3 ~]/2", AJ: "~@8 d2@2 c2 ~ d2@2 c2 ~",
AK: "a1 ~ d2@2 c2@2 d2@2 c2@2 g2@2 f2@2 c2 ~", AL: "[d2@4 ~@2 a2 ~@3 e3@2 ~@2 g2@8 a2 ~ e3@4 d3@2 ~@2]/2",
AM: "~@2 d2@3 ~ f2@2 g2@2 a2@2 g2@2 ~@2", AN: "[d2@5 ~ d2 ~ d2@4 ~@2 d2@4 a1@2 c2@2 d2@2 f2@2 d2@2 c2@2 a1@2]/2",
AO: "[f1,f2]@5 ~ [g1,g2]@5 ~ d2@3 ~", // F G
})).s("gm_electric_bass_finger").gain(0.6)
// other · distortion guitar · "DISTORTION"
const distortion_guitar = note(`<
~@7 A B C D@2 E F@2 G H ~ I ~ J ~ K L@2 M N O@4 ~@26 P@2 Q@2 R@4 ~@26 S T@3 U@2 V W X Y Z@2 AA@4 AB@3 AC AD@2 AE AF
AG@2 AH@2 AI@2 AJ@2 AK@2 AL@2 AM AN@2 AO AP AQ AR@2 AS AT@3 ~@49 L@2 M N AU@4 ~@26 AV AW ~
>`.pickRestart({
A: "~@8 d3@2 c3 ~ d3@2 c3 ~", B: "d3@2 c3@2 a2 ~ d3 ~ c3 ~ d3@2 c3 ~ g3@2",
C: "f3 ~ c3 ~ d3@2 c3 ~ d3@2 c3 ~ d3@2 c3 ~", D: "[a2 ~ c3@18 d3@2 c3 ~ d3 ~ c3 ~ d3@2 c3@2]/2",
E: "a2 ~ d3 ~ c3 ~ d3 ~ c3 ~ g3@2 f3 ~ c3 ~", F: "[d3@2 c3 ~ d3@2 c3 ~ d3@2 c3 ~ f3 ~ ab2@18]/2",
G: "[d2,a2,d3]@3 ~@13", H: "[f2,c3,f3]@5 ~ [g2,d3,g3]@4 ~@2 [d2,a2,d3]@3 ~, ~@12 c2 ~@3",
I: "[f2,c3,f3]@5 ~ [g2,d3,g3]@4 ~@2 [d2,a2,d3]@3 ~, b2 ~@15", J: "[f2,c3,f3]@4 ~@2 [g2,d3,g3]@4 ~@2 [d2,a2,d3]@3 ~",
K: "[f2,c3,f3]@4 ~@2 [g2,d3,g3]@3 ~@3 [d2,a2,d3]@3 ~", L: "[[d5,f5]@12 c5 a4 f4 d4]/2", M: "f4 e4@5 ~@2",
N: "~@8 g4@2 c5@2 c5@2 c5 ~", O: "[c5@7 ~ d5@2 ~@2 a4@2 f5@16 e5@27 ~@7]/4", P: "[~ c5@18 a4@9 c5@2 a4@2]/2",
Q: "[f5@12 d5 c5 a4 f4]/2", R: "[e4@25 ~ f4@3 e4@2 f4@2 e4@29 ~@2]/4", S: "g4@2 c5 ~ c5 ~ c5 ~ c5 ~ c5 ~ c5 ~ c5 ~",
T: "[c5@13 g4@31 ~@4]/3", U: "[c6@26 ~ eb4@2 ~@3]/2", V: "eb4@9 ~@3 eb4 ~@3", W: "eb4@4 ~@2 d5 ~",
X: "d5@11 d5@3 ~@2", Y: "d5@4 c5@4 a4@3 c5@5", Z: "[a4@21 ~@3 ab4@2 g4@2 f4@2 d4@2]/2",
AA: "[f4@2 d4@55 ~ d4 f4 g4 ~ d4@2, ~@61 f4@3]/4",
AB: "[c5@28 c5@3 ~ g4@4 c5@2 a4@2 g4@4 c5@2 a4 ~, ~@31 a4@2 ~@15]/3", AC: "g4@4 c5@2 a4@2 g4@4 c5@2 a4 g4",
AD: "[f5@14 d5@12 c5 d5 ~ f5 d5 f5]/2", AE: "d5 c5 d5 ~ f5 d5 [d5,f5] ~ c5 d5 g5 [d5,e5] g5 d5 c5 d5",
AF: "f5 d5 g5@2 d5 f5 d5 g5@6 ~@3", AG: "[d3@6 d3@5 ~ d3@14 f3 ~ g3 ab3 a3@2]/2",
AH: "[[b3,c4] d4@9 a3@2 c4 d4@2 ~ d4@12 c4 ~ d4@2, ~@15 c4@2 ~@15]/2", // Cmaj7
AI: "[f4@6 e4@3 c4@2 d4@2 a4@13 ~ f4 d4 f4 g4 ab4, ~@13 g4 ~@12 g4@2 ~@4]/2",
AJ: "[~ a4 c5 a4@2 c5 ab4 a4 c5 ab4 a4 c5 ab4 d5@19, ~@13 a4 ~@18]/2",
AK: "[~@2 c5 ~ d5 c5 ~ a4 g4 ~ a4 g4 e4 ~ eb4 ~ c4@2 [a3,b3] ~@2 d4 eb4 e4@9, ~ e5@2 a4@2 ~@4 c5@2 ~@4 [d4,e4]@2 ~@3 c4@2 ~@10]/2", // Asus2 Dsus2
AL: "[~@2 [a3,b3]@2 ~ d4 ~ eb4 e4@2 g4 ~ a4 g4 ~ b4 ~@16, ~@4 c4@2 ~@8 a4@17 ~]/2", // Asus2
AM: "c5@3 d5@3 a4@2, ~@6 e5 ~@5 g4@2 ~@2", AN: "[~ e5@7 c5@6 f5@14 e5@2 f5@2, ~@8 d5 ~@23]/2", AO: "e5 c5 d5@6",
AP: "f5@2 d5 e5@2 db5 ~ eb5@2 c5 eb5 ~ d5 b4 ~ db5, ~@6 e5@2 ~@3 c5@2 ~@3",
AQ: "bb4 c5@2 ~ b4 ~ ab4 [a4,b4]@2 ~ ab4 ~ a4@2 gb4 ab4, ~@3 a4@2 ~@4 g4@3 gb4 ~@3", // Asus2
AR: "[f4 ~@2 e4 gb4 ~ eb4 ~ d4@2 e4 [b3,c4] ~ d4 ~ d4@10 a3 c4 d4 ~ d4 c4 ~, ~@2 g4@2 ~@3 f4@2 ~@5 c4@2 ~@12 f4@2 ~@2]/2", // Cmaj7
AS: "d4 c4 d4@8 a3 c4 d4 ~ d4 c4, ~@13 f4@2 ~", AT: "[d4@10 a3 ~ d4 ~ d4 c4@2 d4@29 ~@2, ~@11 c4@2 f4@2 ~@33]/3",
AU: "[c5@7 ~ d5@2 c5@2 a4@2 f5@16 e5@27 ~@7]/4", AV: "[a2,d3] ~@3",
AW: "[f2,c3,f3]@5 ~ [g2,d3,g3]@4 ~@2 [c2,a2,d3]@3 ~", // F5 G5 D7
})).s("gm_distortion_guitar").gain(0.41)
// other · lead 4 chiff · "CHIFFER LD"
const lead_4_chiff = note(`<
~@31 A@2 B@2 C@2 D@2 E F G H I@2 J@2 K L@2 M N@2 O P@3 ~@139 A@2 B@2 Q@2 D@2 E F G H I@2 J@2 ~@13
>`.pickRestart({
A: "[g5@4 f5 ~ g5@15 ~@7 d5 ~ d5 ~]/2", B: "[f5@4 d5 ~ d5@4 c5 ~ f5@8 ~@8 d5 ~ d5 ~]/2",
C: "[g5 ~ e5@22 ~@4 d5 ~ c5 ~]/2", D: "[f5@4 d5 ~ d5@4 c5 ~ c5@12 ~@8, ~@6 e5 ~@25]/2",
E: "g5@4 f5 ~ g5@4 ~@6, ~@6 f5 ~@9", F: "~@12 d5 ~ d5 ~", G: "f5@2 e5@2 ~@2 c5 ~@9", H: "~@12 d5 ~ d5@2",
I: "[f5@2 e5@24 c5@2 d5@2 c5 ~]/2", J: "[f5@4 d5 ~ d5@4 c5 ~ d5@9 c5 [a4,b4] g4 ~@8]/2", K: "bb4@15 ~",
L: "[a4@2 c5@2 ~@2 d5 ~@3 f5@2 ~@2 g5@8 f5@2 ~@2 d5 ~@2 f5@2 ~]/2", M: "~ g5@2 f5@12 ~",
N: "[~@8 g5@3 f5@2 d5 ~ f5@2 ~@2 g5@5 ~@8]/2", O: "c5 d5 ~ f5 ~ d5 ~ g5", P: "[~ d5 f5@21 ~]/3",
Q: "[f5@2 e5@22 ~@4 d5 ~ c5 ~, g5 ~@31]/2",
})).s("gm_lead_4_chiff").gain(0.6)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
A B C@2 D E F@2 ~@23 G H I H J K L M N H N O P M N Q ~@2 R S ~@14 G H I H J T L M N H N O P M N Q ~@2 R S ~@30 G H I H
J K L M N H N O P M N Q N H N O P M N Q ~@15 G H I H J T L M N H N O P M U Q N H N O P M N Q ~@2 R S ~@14 G H I H J T
L M N H N O P M N Q ~@2 R S ~@9
>`.pickRestart({
A: "d3@2 c3 ~ d3@2 c3 ~ d3@2 c3@2 a2 ~ d3 ~", B: "c3 ~ d3@2 c3 ~ g3@2 f3 ~ c3 ~ d3@2 c3 ~",
C: "[d3@2 c3 ~ d3@2 c3 ~ a2 ~ c3@18 d3@2 c3 ~]/2", D: "d3 ~ c3 ~ d3@2 c3@2 a2 ~ d3 ~ c3 ~ d3 ~",
E: "c3 ~ g3@2 f3 ~ c3 ~ d3@2 c3 ~ d3@2 c3 ~", F: "[d3@2 c3 ~ a2 ~ ab2@18 ~@8]/2",
G: "[c4,f4,a4]@4 ~@2 [c4,f4,a4] ~ f4 ~ f4@3 ~ [d4,g4,b4] ~, ~@2 [c4,a4] ~", // F G F
H: "~@2 [d4,g4,b4] ~@3 [d4,g4,b4] ~ [d4,g4,b4]@7 ~", // G
I: "[c4,f4,a4]@4 ~@2 a4 ~ f4 ~ f4@3 ~ [d4,g4,b4] ~, ~@8 [c4,a4]@5 ~@3", // F G F
J: "[c4,f4,a4]@4 ~@2 a4 ~ [c4,f4,a4]@5 ~ [d4,g4,b4] ~", K: "~@2 [d4,f4,g4,b4] ~@3 [d4,g4,b4] ~ [d4,g4,b4]@6 ~@2",
L: "[c4,f4,a4]@5 ~ [f4,a4] ~ [f4,a4]@5 ~ [d4,g4,b4] ~, ~@8 c4@3 ~@5", // F G
M: "~@2 [d4,g4,b4] ~@3 [d4,g4,b4] ~ [d4,g4,b4]@8", N: "[c4,f4,a4]@5 ~ [c4,f4,a4] ~ [c4,f4,a4]@5 ~ [d4,g4,b4] ~",
O: "~@2 [d4,g4,b4] ~@3 [d4,g4,b4] ~ [d4,g4,b4]@8, ~@8 f4 ~@7", // G
P: "[c4,f4,a4]@5 ~ [c4,f4,a4] ~ [c4,f4,a4]@5 ~ [d4,g4,b4] ~, ~@8 g4 ~@7", // F G
Q: "~@2 [d4,g4,b4] ~@3 [d4,g4,b4] ~ [d4,g4,b4]@5 ~@3", R: "~@2 g3 ~ c4@6 bb3@2 g3 ~ c4@2", S: "~ bb3@2 g3@5",
T: "~@2 [d4,f4,g4,b4] ~@3 [d4,g4,b4] ~ [d4,g4,b4]@7 ~", U: "[c4,f4]@5 ~ [c4,f4,a4] ~ [c4,f4,a4]@5 ~ [d4,g4,b4] ~",
})).s("gm_electric_guitar_muted").gain(0.41)
// other · pad poly · "POLYSYNTH"
const pad_poly = note("<~@64 A B C D@2 E@2 F@2 G H I@2 J@2 K@2 L M@2 N O P Q@4 ~@121 L R@2 N O P Q@4 ~@3>".pickRestart({
A: "~@6 g5 f5", B: "g5@3 ~@5", C: "~@12 d5 ~ d5 ~", D: "[d5@4 c5 ~ c5@2 ~@2 c5 ~ c5@7 ~@9 a4@2 c5@2]/2",
E: "[f5@2 e5@22 ~@4 d5 ~ d5 ~]/2", F: "[f5@4 d5 ~ d5@4 c5 ~ f5@13 ~ a5 ~@3 a5@2]/2", G: "g5@2 ~ g5@5 ~@8",
H: "~@3 d5", I: "[f5@4 c5 ~ c5@3 ~ d5 ~ f5@10 ~@6 a4@2 c5@2]/2", J: "[f5 e5@13 c5 d5]/2",
K: "[f5@4 d5 ~ d5@3 ~ c5 ~ c5@12 ~@8]/2", L: "bb4@15 ~",
M: "[a4@2 c5@2 ~@2 d5 ~@3 f5@2 ~@2 g5@8 f5@3 ~ d5 ~@3 f5@2]/2", N: "~ g5@2 ~ f5@12", O: "~@8 g5@3 f5@2 d5 ~@2",
P: "f5@2 ~ g5@5 ~@8", Q: "[c5@2 d5@2 ~@3 f5@2 ~@2 d5@2 ~@2 g5@3 ~ d5@2 f5@42 ~]/4",
R: "[a4@2 c5@2 ~@2 d5 ~@3 f5@2 ~@2 g5@8 ~ f5@2 ~ d5 ~@3 f5@2]/2",
})).s("gm_pad_poly").gain(0.6).pan(0.8)
// other · epiano1 · "E.PIANO 1"
const epiano1 = note(`<
~@154 A B C D E F G H I@2 J K L M N O P Q R S T@2 U@2 V W X Y Z AA AB AC AD AE ~@37
>`.pickRestart({
A: "~@4 [d5,d6]@2 ~@2 d6@2 c6 ~ a5 ~ [d5,a5,c6]@2, ~@4 db6 ~@3 d5@5 ~@3, ~@8 db6 ~@7", // D D7
B: "~@2 [d5,d6]@3 ~ [g5,d6]@4 f5 ~ [g5,d6]@2 d5 ~, ~@6 ab5 ~@9", // D G5
C: "f5@2 ~ [f5,g5,a5,d6] f5@2 d5 ~ c5 ~ a4 ~ d5@2 ~ d5, d6 ~@11 ab4 ~ g4@2", // Dm
D: "f4 ~ [g4,d5]@2 d4 ~ [f4,d5]@4 d4 ~ f4 g4 ab4 a4", E: "~ c5 d5 a4 ~ c5 d5 [f5,g5] ab5 ~ a5 [c6,d6] ab5 a5@2 c6",
F: "d6 f6@9 e6 ~ c6 ~ d6 ~", G: "g6@2 f6@2 e6 ~ f6@2 e6@2 c6 ~ d6@2 c6 ~",
H: "a6@2 f6 d6 g6@2 e6 c6 f6 g6 d6 a5 e6 ~ c6 g5, g6 ~@15",
I: "[~ a5 ~ f5 c6@2 g5 e5 [a5,b5] ~ g5 d5 a5 ~ g5@4 f5 ~ g5 ~ ab5 ~ a5@2 f5 ~ d5@2 c5 ~, d6 ~@15]/2", // Asus2
J: "d5@2 c5@2 a4 ~ [ab4,d5]@2 g4@2 f4 ~ d5@2 d4@2, ~@12 g4 ~@3", K: "~ f4 ~ g4 ab4 [a4,b4] c5 ~ d5 a4 c5 d5 f5 ~@3",
L: "[db6,d6] f6 ~ d6 f6 d6 f6 d6 ~ f6 d6 f6 d6 f6 d6@2", M: "~ g6 d6 g6 d6 ~ g6 d6 g6 d6 ~@2 d6@4, ~@10 g6@5 ~",
N: "~@2 a6@2 f6@2 d6 ~ g6@2 f6@2 d6 ~ eb6@2, ~@2 ab6 ~@13", O: "e6@2 c6@2 a5 ~ g5@2 f5@2 d5 ~ eb5 ~ e5@2",
P: "g5 f5 g5 e5 g5 d5 g5 c5", Q: "g5@2 b4@2 g5@2 a4 ~ g5@2 g4 ~ f5@2 e5@2, ~@14 d5 ~",
R: "d5@2 c5 ~ db5@2 d5@2 e5@2 c5@2 a4 ~ g4@2, ~@14 a4 ~",
S: "f4 ~ d4@2 eb4@2 e4@2 g4@2 a4@2 c5 ~ eb5 e5, ~@2 e4 ~@13",
T: "[e5@2 g5@2 a5@2 g5 ~ b5 g5 g5@2 e5@2 [b5,d6]@5 [g5,a5] [e5,f5] [b4,c5,d5] [g4,a4] f4 ~@8, ~@8 c6@2 ~@4 a5 ~@17]/2", // Bm Gsus2 Fmaj7 Bm Gsus2
U: "[c6@2 a5@2 ~ b5 g5 ~ a5@2 f5 ~ g5 ~ d6@4 c6 ~@2 b5 c6@2 a5 ~ b5 ~ c6@2 a5 ~]/2",
V: "[c6,f6]@3 [c6,d6] a5 ~@2 c6@3 a5 ~ d6@2 g5@2, ~@7 b5 ~@4 ab5 ~@3", // F5 Csus2
W: "f5 ~ [g5,d6]@2 d5 ~@2 d6@2 ~ d5 ~ f5 ~ g5 ~, ~@3 f5@2 ~@3", // G5
X: "g5 ~ [g5,ab5] f5@2 d5 ~ f5@2 d5 ~ d5 ~ a4 [ab4,d5]@2, ~@5 c5 ~@2", // Abmaj7 Abdim
Y: "g4@2 f4 ~ [g4,d5]@2 d4 ~ f4@3 ~ d4 f4 g4 ~", // G5
Z: "ab4 a4 c5 d5 ~ [a4,c5] c5 ~ d5 [e5,f5] ab5 a5 ~@2 d6 a5, ~@13 c6@2 ~", // Am Fmaj7
AA: "c6 d6 ~ d6 c6 a5 c6 d6 g6@6 d6 ~, ~ f6 ~@6", AB: "~ f6 ~ d6 g6 e6 ~ c6 f6 ~ d6 a5 e6 ~ c6 g5, a6 ~@7",
AC: "~ a5 ~ f5 ~ a5 ~ f5 b5 g5 ~ e5 ~ f5 ~ d5, d6 ~ c6 ~@3 a5 ~", AD: "g5 e5 ~ c5 f5 d5 ~ a4 e5@2 ~ g4 d5@2 a4 f4",
AE: "e5 [b4,c5,d5] [g4,a4] [e4,f4] [c4,d4] b3 [g3,a3] f3 [d3,e3] [b2,c3] a2 [f2,g2] e2 d2 ~@2", // Bm Gsus2 Fmaj7 Csus2 Gsus2 Dsus2 Cmaj7 Fsus2
})).s("gm_epiano1").gain(0.49).pan(0.7)
// drums · kick
const kick = s("bd").struct(`<
~@2 A B ~@2 C D ~@2 E F ~@2 G ~ H ~ H ~ H ~ H I J I J I J I ~ I J I J I J I J I J I J I K I ~ L@3 I L@2 ~@2 M N I J I
J I K I ~ I J I J I K I J I J I J I K I ~ L@3 I L I ~@3 O ~ H ~ P ~ H ~ A ~ H ~@3 H Q R I J I J I K I ~ I J I J I K I
// … 95 more lines
More by Yazoo
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.