0:00/0:00
// I Swear — All-4-One
// 84 bpm, 4/4, key D 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 80 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(84/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 · fretless bass · "FRETLESS"
const bass = note(`<
~@15 A B C D ~@2 E F G B H I A J K L M N O P ~@3 Q R S T U V W X Y Z T AA AB AC AD AE AF AG AH AI AJ AK AL AI AM AN AO
AP AQ AR AS AT AU AV AW AX AY AZ BA ~@3
>`.pickRestart({
A: "d1@31 ~", B: "b1 ~", C: "d1@29 ~@3", D: "g1@7 ~ a1@8", E: "g#1@31 ~", F: "a1@15 ~@17", G: "d1@3 ~",
H: "f#1@15 ~@17", I: "g1@15 ~@17", J: "b1@10 ~@6 b1@3 ~@13", K: "f#1@5 ~@11", L: "g1@8 a1@7 ~", M: "e1@13 ~ e1@2",
N: "a1@27 ~ [f#1,g1]@2 ~@2", O: "e1@5 ~ e1@10", P: "a1@5 ~ a1@10", Q: "~@12 g1@4 a1@7 ~@9",
R: "d1@10 ~@2 d1@3 ~ d1@16", S: "b1@5 ~ b1@2 c#2@5 ~ c#2@2", T: "d2@12 d1@3 ~ d1@16", U: "g1@5 ~ g1@2 a1@8",
V: "b1@12 b1@4 b1@15 ~", W: "g1@11 ~ g1@3 ~ g1@16", X: "a1@10 ~@2 a1@3 ~ a1@8 a1@8", Y: "d1@11 ~ d1@3 ~ d1@16",
Z: "b1@10 ~@2 b1@4 c#2@11 ~ c#2@4", AA: "g1@10 ~@2 g1@4 a1@11 ~ a1@4", AB: "b1@11 ~ b1@4 b1@16",
AC: "a1@10 ~@2 a1@3 ~ a1@16", AD: "g#1@10 ~@2 g#1@3 ~ g#1@16", AE: "a1@10 ~@2 a1@3 ~ a1@7 ~ a1@8",
AF: "d1@4 ~@2 d1 ~ d1@3 ~@5", AG: "b1@2 ~ b1 b1@4", AH: "f#1@8 ~@4 f#1@3 ~ f#1@9 ~@3 f#1@3 ~",
AI: "g1@8 ~@4 g1@4 a1@7 ~ a1@8", AJ: "d1@8 ~@4 d1@3 ~ d1@8 d2@4 c#2@4", AK: "b1@8 ~@4 b1@3 ~ b1@8 ~@4 b1@4",
AL: "f#1@8 ~@4 f#1@3 ~ f#1@8 ~@4 f#1@3 ~", AM: "e1@5 e2@2 e1", AN: "a1@11 ~ a1@16 g1@2 f#1@2",
AO: "e1@2 ~ e1@3 e2 e1", AP: "a1@10 ~@2 a1@11 ~ a1@7 ~", AQ: "d2@4 ~@2 d2 ~ d2@2 d1 a1 d2@2 c#2@2",
AR: "b1@4 ~@2 b1 ~ a1@4 ~@2 a1 ~", AS: "f#1@8 ~@4 f#1@2 ~@2 f#1@11 ~ e1@2 f#1 ~",
AT: "g1@10 ~@2 g1@3 ~ a1@6 ~@2 a1@6 ~@2", AU: "f#1@4 ~ f#1 a1 f#1 b1@3 ~ b1@3 ~", AV: "e1@4 ~@2 e1 ~ e1@3 ~@5",
AW: "c#2@2 ~ c#2 c#2@4", AX: "g#1@8 ~@4 g#1@3 ~ g#1@9 ~@3 g#1@3 ~", AY: "a1@8 ~@4 a1@4 b1@7 ~ b1@8",
AZ: "e1@8 ~@4 e1@3 ~ e1@8 e2@4 d#2@4", BA: "c#2@8 ~@4 c#2@3 ~@17",
})).s("gm_fretless_bass").gain(0.4)
// bass · fretless bass · "FRETLESS" · soft notes
const bass_soft = note("<~@16 A ~@2 B C ~ D E F G H ~@2 I ~@5 J K L M ~@37 N O P ~>".pickRestart({
A: "~ c#2", B: "b1@29 ~@3", C: "a1@15 ~", D: "~@16 a1@15 ~", E: "~@3 d2", F: "~@8 b1@7 ~", G: "~@8 f#1@7 ~",
H: "~ a1", I: "~@16 f#1@3 ~@13", J: "d2", K: "b1@11 ~ b1@4", L: "f#1@25 ~@3 f#1@4", M: "g1@11 ~@13 a1@6 ~@2",
N: "~@4 c#2@2 ~ c#2", O: "g#1@8 ~@4 g#1@3 ~ g#1@8 ~@4 g#1@3 ~", P: "a1@8 ~@4 a1@4 b1@7 ~ b1@8",
})).s("gm_fretless_bass").gain(0.25)
// chords · pad warm · "WARM PAD"
const pad_warm = note("<~ A B@4 C D ~@27 E@2 F@2 ~@7 G@2 H@6 I@3 J@3 K L M N M O P@2 Q@2 R S@3 T@3 U V ~>".pickRestart({
A: "[d3,d4,d5]", B: "[[b2,b3,b4]@31 ~ [a3,a4]@31 [d3,d4,d5]@32 [b3,b4]@33, ~@31 a2@32 ~@32 b2@28 ~@5]/4",
C: "~ f#2@31, [f#3,f#4]", D: "[a2,a3,a4]@31 ~",
E: "[d3@31 ~@17 d5@4 e5@4 f#5@4 b5@4, [a3,d4,f#4]@63 ~, ~@31 b2@32 ~]/2", // D
F: "[[f#2,e4,a5]@31 [g2,g3,b3,d4]@16 d4@8 c#4@9, [a3,c#4]@29 ~@18 [a2,a3,e4]@17]/2", // F#m7 G A A5
G: "[[d3,f#3]@31 ~ b2@15 [c#3,b3]@17, ~@31 g3@17 ~@16]/2", // D C#7
H: "[[d3,a3]@31 [d3,g3,b3]@16 ~ c#4@15 f#3@64 ~ g#3@32 b3@15 [a3,e4]@14 ~@3, ~@47 [e3,a3]@16 d4@113 ~@16, ~@63 b3@96 ~ g3@29 ~@3]/6", // D5 G A5
I: "[d3 b2 [f#2,c#4,e4], a3@31 ~, f#4@31 ~@17]/3", // F#7
J: "[[g2,b3,d4]@15 d4@9 c#4@7 ~ d3@32 [b2,a3]@31 ~, g3@13 ~@2 a3@48 ~@33, ~@15 [a2,e4]@16 ~ [d4,f#4]@64]/3", // G B7 A5 D
K: "[f#2,a3,c#4,e4]", L: "[g2,b3,d4] [a2,c#4,e4], g3@13 ~@3 a3@13 ~@3", M: "[e2,g3,b3,d4]", N: "[a2,a3,c#4,e4]",
O: "d4@3 c#4@4 ~, [a2,a3,e4]@15 ~", P: "[[d3,a3,d4,f#4]@31 ~ [b3,d4,f#4]@15 [a2,a3,c#4,e4]@16 ~, ~@31 b2@16 ~@17]/2",
Q: "[[f#2,a3,c#4,e4]@31 [g2,g3,b3,d4]@16 [a2,a3,c#4,e4]@16 ~]/2", // F#m7 G A
R: "[f#2,a3,c#4,e4]@15 ~ c#4 ~@15, ~@15 [b2,b3,d#4,f#4]@15 ~@2", S: "[e3 c#3 [g#2,d#4,f#4], b3@31 ~, g#4@31 ~@17]/3",
T: "[[a2,c#4,e4]@15 e4@9 d#4@7 ~ e3@32 [c#3,b3]@31 ~, a3@13 ~@2 b3@48 ~@33, ~@15 [b2,f#4]@16 ~ [e4,g#4]@64]/3", // A C#7 B5 E
U: "[g#2,b3,d#4,f#4]", V: "[a2,c#4,e4] [b2,d#4,f#4], a3@13 ~@3 b3@13 ~@3",
})).s("gm_pad_warm").gain(0.07).pan(0.4)
// chords · string ensemble 2 · "SLOWSTRIN"
const string_ensemble_2 = note("<~@15 A@8 B@3 C@4 D@5 E@2 F@2 ~@7 G H I@2 J@3 K ~@17 L@4 M@4 ~>".pickRestart({
A: "[[d3,f#3]@31 [b2,g3]@16 [c#3,b3]@16 [d3,a3]@32 [d3,g3,b3]@16 [e3,a3,c#4]@16 f#3@64 ~ g#3@31 b3@16 [a3,e4]@14 ~@3, ~@127 d4@113 ~@16, ~@127 b3@96 g3@29 ~@4]/8", // D Em C#7 D5 G A A5
B: "[d3@31 b2@32 ~ f#2@32, a3@31 ~, f#4@62 ~ e4@33, ~@21 c#4@10 ~]/3",
C: "[[g2,b3,d4]@15 d4@8 c#4@7 ~ d3@33 [b2,a3]@31 [f#2,a3,c#4,e4]@33, g3@13 ~@2 a3@48 ~@65, ~@15 [a2,e4]@16 [d4,f#4]@64 ~@33]/4", // G B7 F#m7 A5 D
D: "[[g2,b3,d4]@15 ~ [a2,c#4]@15 [e2,b3,d4]@32 [a2,a3,c#4,e4]@32 ~ [g3,b3,d4]@31 ~ d4@12 c#4@16 ~@4, g3@13 ~@2 e4@16 ~@97 [a3,e4]@30 ~@2, ~@16 a3@13 ~@2 g3@30 ~@34 e2@32 a2@30 ~@3]/5", // G A E7 A G A5
E: "[d4@47 d4@5 e4@4 f#4@4 b4@4]/2", F: "[a4@55 ~@9]/2", G: "d5@19 e5@5 f#5@3 a5@4 ~", H: "d6@2 c#6 b5",
I: "[a5@23 d6@4 e6@4 f#6@16 e6@17]/2", J: "d6/3", K: "e6@17 d6@3 c#6@2 b5@2 a5@2 g5@2 f#5@2 e5@2",
L: "[e6@49 d#6@7 c#6@7 b5@65]/4", M: "[e6@23 d#6@8 c#6@32 b5@20 g#5@4 a5@4 b5@24 c#6@5 e6@4 f#6@4]/4",
})).s("gm_string_ensemble_2").gain(0.15).pan(0.6)
// chords · pad halo · "HALO PAD"
const pad_halo = note("<~ A B C D@4 ~@29 E F ~@41>".pickRestart({
A: "d3", B: "b2", C: "~@2 e5 ~ a5@2 d6@4 a5@2 e5@2 a4@4 e4@2 d4@2 a3@10, a2",
D: "[f#4@32 b3@32 f#3@32 [a3,e4]@29 ~@3, d4@62 ~@2 d4@61 ~@3, ~@16 a4@47 ~]/4", E: "~@5 d6 a5 ~",
F: "d6 a5 ~ d6 a5 ~ e6 ~",
})).s("gm_pad_halo").gain(0.09)
// chords · pad halo · "HALO PAD" · soft notes
const pad_halo_soft = note("<~@37 [~@7 e5] [~@8 e5@3 ~@9 e5@4 ~@4 e5@2 ~@2] ~@41>").s("gm_pad_halo").gain(0.05)
// other · alto sax
const alto_sax = note("<~@66 A B@2 C D ~@2 E@2 ~@5>".pickRestart({
A: "~@6 b3@2 d4@2 d4@2 b3@2 d4@6 d4 ~@9 a4@2, ~@5 a3@2 ~@25",
B: "[b4@4 d5@3 ~ d5@4 a5@8 g5@4 f#5@4 e5@7 b4 c#5@8 b4@2 a4 ~ b4@2 a4@3 a4@8 ~@3]/2",
C: "b4@2 d5@2 d5 e5 b4@3 a4@3 a4 b4 f#4 e4, a4 ~@31", D: "f#4@9 ~ f#4@2 a4@2 f#4@2 c#5@4 b4@9 ~@3",
E: "[~@10 g#4 b4 c#5 d#5 b4@8 g#4 b4 g#4 a4 b4@2 ~@4]/2",
})).s("gm_alto_sax").gain(0.42)
// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
~@8 A B@3 C@3 D E F@2 G H@2 I J K L M N O P Q R S T U V W X Y A B@3 C@3 D E F@2 G H@2 I J K L M N O P Q R S T U Z AA
AB AC AD AE AF AG AH AI AJ AK ~@2
>`.pickRestart({
A: "~@3 f#5, d3@5 e5@3, ~ a3@7, ~ e4@3, ~@3 f#4@5",
B: "[~@12 d5@4 [c#3,e5]@12 ~@8 a4@8 ~@12 [d4,f#5]@7 a4 ~@12 d5@4 [a3,a4,c#5]@8 [a3,a4,c#5,e5]@8, b2@17 ~@15 d3@16 [d3,d5]@16 g3@8 g3@8 ~@16, d5@12 ~@16 f#5@21 ~@3 e5@12 b4@16 ~@16, ~@4 f#4@13 ~@11 a4@8 ~@27 d5@12 ~@21, ~@17 g4@3 e4 ~@3]/3", // C#m D A D
C: "[d5@16 ~@8 f#5@4 ~@16 g4@8 ~@24 d5@4 [a2,c#5]@13 ~@3, f#5@24 ~@4 f#5@28 f#5@8 ~@8 a4@21 ~@3, b4@12 ~@4 d5@12 [b4,d5]@15 [b4,d5]@21 ~@4 e4@14 ~@14, ~@28 g4@7 g4@8 ~@17 e5@20 ~@16, ~@4 g3!2 ~@6]/3", // A Bm
D: "f#4 ~@6 d5, a4@3 [d4,a4], d3 d3@3, ~ f#4@4 f#4@3, ~@3 d5@4 ~", // D5
E: "f#4 ~@5 d5@2 e4@2 ~@4 e4@2, b3 [c#4,c#5], d5@3 ~@5, b4!2 ~ a4, ~ f#4@3 ~ e4@2 ~", // C#
F: "[f#4@2 ~@10 f#4@8 f#4@4 f#4@4 f#4@3 g4 ~@12 [b4,d5]@4 e4@2 ~@10 e4@4, [a4,d5]@12 [a4,d5]@12 [a4,d5]@7 d5@9 d4@8 ~@4 e4@8 ~@4, d4 d4@3 g3@2 [a3,c#5]@2, ~@4 f#4@8 ~@19 a4@2 ~@3 g4@12 a4@8 a4@8, ~@8 b4@3 ~@5]/2", // Bm D5 A
G: "f#4 ~@9 b4@2 [b4,d5,f#5]@4, b3, d5@3 d5@3 ~@2, b4@2 b4@3 ~@3, ~ f#4@7", // Bm
H: "[f#4 ~@11 [f#4,a4,d5]@8 f#4@8 f#4@4 ~@24 [g#4,b4,d5]@8, [a4,d5]@3 ~@2 d5@7 g#3@4, a3@2 a3@6 g#3@3 f#5@5, ~ f#4@2 ~@2 a4@3 b4@2 b4@4 ~@2, ~@9 g#4@5 ~@2]/2", // D G#dim D5
I: "e4 ~@5 [e4,a4,d5]@2 [e4,a4,c#5]@4 [e4,a4,c#5]@2 ~@2, [a4,d5]@3 ~@5, a3@8 a3@8 a3@13 ~@3, ~ e4@2 ~@5", // Dsus2 A D5
J: "f#4@3 ~@3 [a4,d5]@2, [a4,d5]@3 ~, d3!2, ~@3 f#4@2 ~@3", K: "[b2,f#4,b4,d5]",
L: "c#5@6 ~ f#4, [f#3,a4], f#4@5 ~@3", M: "[g3,g4,b4,d5] [a3,e4,a4,c#5]",
N: "[f#4,a4,d5]@3 ~@3 d3@2, d3@3 ~, ~@3 [a4,d5]@5, ~@3 f#4@4 ~", O: "[f#4,b4,d5]@3 [f#4,b4,d5]@5, b2",
P: "[a4,c#5]@3 [a4,c#5]@3 [f#4,a4,c#5]@2, f#3, f#4@3 ~, ~@3 f#5@5", Q: "[g3,g4,b4,d5] [a3,a4,c#5,e5]",
R: "[e3,g4,b4,d5]", S: "[a3,e4,g4,a4,c#5]", T: "[e4,g4,b4,d5]@3 [e4,g4,b4,d5]@5, e3",
U: "[e4,g4,b4,d5]@6 ~@6 e5@3 ~, a3@15 ~, ~@6 [e4,g4,a4,c#5]@9 ~", // Em7 A7
V: "[d5,f#5]@2 [e5,g5] ~@4 a4, d3, d4@3 ~, a4 ~ a4@3 ~@3, ~@3 [d5,f#5]@5", // D Em D
W: "[d5,f#5]@8 g5@3 ~@9 b4@4 [b3,b4,f#5]@8, b2, b3@3 d5@5, b4 ~ e5@6, ~@2 b4 f#5 b3@2 ~@2", // D B5
X: "f#3@8 ~@4 f#4@8 f#4@7 f#4@5, e5, c#5@5 c#5@3, a4 ~@2 a4@5",
Y: "~@12 g4@4 [a3,e4,a4,d5]@8 [e4,a4,c#5]@5 ~@3, [a4,d5] ~, g4@3 ~@5, g3!2 ~@2, ~ b4@3 ~@4", // Asus4 A D5
Z: "f#4 ~@2 [a4,d5]@3 [a4,d5,f#5]@2, d4, [a4,d5]@6 f#4 ~@9, ~ d3@3", // D5 D D5
AA: "b3@2 ~ f#5 a4 ~ a3@2, [b4,d5] c#5, f#5@3 ~ e5@3 ~, a4 ~@3 b3@4 a3@4 ~@4, ~@5 a4@3", // Bm
AB: "[a4,c#5,e5]@3 [f#4,a4,c#5]@2 [f#4,a4,e5]@3, f#3", // A F#m F#m7
AC: "b4@2 ~ d5 [a4,e5]@2 [a4,c#5,e5]@2, g3 a3, d5@3 ~@5, g4 ~@3 b4@4 ~@8", // A5 A
AD: "f#4 ~@3 f#3@4 [b3,f#4,a4,d#5]@7 ~, [a4,c#5] ~, e5@3 ~@5, f#3 ~@3, ~ f#4@3 ~@4", // B7 A
AE: "g#4@3 ~@3 [b4,e5]@2, [b4,e5]@3 ~, e3!2, ~@3 g#4@2 ~@3", AF: "[c#3,g#4,c#5,e5]",
AG: "d#5@6 ~ g#4, [g#3,b4], g#4@5 ~ d#5@2", AH: "[a3,a4,c#5,e5] [b3,f#4,b4,d#5]",
AI: "[g#4,b4,e5]@3 ~@4 g#4, e3@3 e3, ~@3 [b4,e5]@5, ~@3 g#4@4 ~", AJ: "[g#4,c#5,e5]@3 [g#4,c#5,e5]@5, c#3",
AK: "[b4,d#5]@3 [b4,d#5]@3 ~@2, g#3, g#4@3 ~, ~@3 g#5@5", // B
})).s("gm_epiano2").gain(0.36).pan(0.3)
// chords · epiano2 · "E.PIANO 2" · soft notes
const epiano2_soft = note(`<
~@9 A B C D E F ~@8 G ~ H ~ I ~@3 J ~@3 K L M N ~ A B C D E F ~@8 G ~ H ~ I ~@3 J ~@3 O P ~ Q R S ~ T ~@3 U V ~
>`.pickRestart({
A: "~@8 g4@9 ~@7 c#4@6 ~@2, ~@5 a4@2 ~", B: "~@12 a4@4 a4@15 ~, ~ d4@2 ~", C: "~@5 e4@3",
D: "b3@8 ~@12 e5@9 ~@3, ~@8 b3@21 ~@3, ~@3 b4@4 ~", E: "~@5 g4@3, ~ g3", F: "~@12 a3@3 ~, a3@3 ~, ~@20 e4@9 ~@3",
G: "~@5 f#4@3", H: "~@3 c#5, ~@5 f#4@2 ~", I: "~@7 f#4", J: "e4", K: "~ a4 ~@4 d4@2, ~@5 a4@2 ~", L: "~ b4 ~@6",
M: "~ f#3@2 f#3, ~ a4@2 ~@5", N: "~@24 a3@5 ~@3", O: "~ f#4@2 ~@5", P: "~ a4@3 ~@3 e5", Q: "~ g4@3 c#5@2 ~@2",
R: "~@3 e5 ~@4", S: "~@5 g#4@3", T: "~@5 g#4@2 ~", U: "~@3 [g#4,b4,d#5]",
V: "[a3,a4,c#5,e5]@16 [b3,b4,d#5,f#5]@5 ~@11", // A B
})).s("gm_epiano2").gain(0.18).pan(0.3)
// other · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
~@39 A B C D A B C D A B C D A B C D A B C D A B C D A B C D A B C E F G H I F J ~@3
>`.pickRestart({
A: "~@6 a3@4 ~@2 a3 ~ a3@2 ~@2 a3 ~ a3@2 a3@3 ~@3 a3@2 a3@2", B: "~@6 a3@4 ~@2 a3 ~ a3@2 ~@6 a3@3 ~@3 a3 ~ a3@2",
C: "~@4 a3 ~ a3@4 ~@2 a3 ~ a3@2 ~@2 a3 ~ a3@2 a3@4 ~@2 a3 ~ a3@2",
D: "~@4 a3 ~ a3@4 ~@2 a3@2 a3@2 ~@2 a3 ~@3 a3@3 ~@3 a3@2 a3@2",
E: "~@4 a3 ~ a3@4 ~@2 a3@2 a3@2 ~@2 b3 ~@3 b3@3 ~@3 b3@2 b3@2",
F: "~@4 b3 ~ b3@4 ~@2 b3@2 b3@2 ~@2 b3 ~@3 b3@3 ~@3 b3@2 b3@2",
G: "~@6 b3@4 ~@2 b3 ~ b3@2 ~@2 b3 ~ b3@2 b3@3 ~@3 b3@2 b3@2", H: "~@6 b3@4 ~@2 b3 ~ b3@2 ~@6 b3@3 ~@3 b3 ~ b3@2",
I: "~@4 b3 ~ b3@4 ~@2 b3 ~ b3@2 ~@2 b3 ~ b3@2 b3@4 ~@2 b3 ~ b3@2", J: "~@6 b3@4 ~@2 b3 ~ b3@2 ~@2 b3 ~ b3@2 ~@10",
})).s("gm_electric_guitar_muted").gain(0.09).pan(0.7)
// other · electric guitar muted · "MUTED GTR" · soft notes
const electric_guitar_muted_2 = note(`<
~@76
[~@22 b3@3 ~@3 b3@2 b3@2]
[~@6 b3@4 ~@2 b3 ~ b3@2 ~@6 b3@3 ~@3 b3 ~ b3@2]
[~@4 b3 ~ b3@4 ~@2 b3 ~ b3@2 ~@2 b3 ~ b3@2 b3@4 ~@2 b3 ~ b3@2]
~
>`).s("gm_electric_guitar_muted").gain(0.03).pan(0.7)
// other · orchestral harp · "HARP"
const orchestral_harp = note("<~@22 A B ~@29 A B ~@15 C D ~@8>".pickRestart({
A: "~@16 d6 c6 [g5,a5,b5] [e5,f5] [b4,c5,d5] [e4,f4,g4,a4] [c4,d4] b3!2 [c4,d4] [e4,f4,g4] a4 [b4,c5,d5] [e5,f5] [g5,a5] [b5,c6], ~@12 a3 ~@3", // G Fmaj7 Bm Fmaj7 Csus2 Em Bm Fmaj7 …
B: "d6 ~@7",
C: "~@16 e6 d6 [a5,b5,c#6] [f#5,g5] [c#5,d5,e5] [f#4,g4,a4,b4] [d4,e4] c#4!2 [d4,e4] [f#4,g4,a4] b4 [c#5,d5,e5] [f#5,g5] [a5,b5] [c#6,d6], ~@12 b3 ~@3", // A Gmaj7 C#m Gmaj7 Dsus2 F#m C#m Gmaj7 …
D: "e6 ~@7",
})).s("gm_orchestral_harp").gain(0.12)
// drums · kick
const kick = s("bd").struct("<~@39 [x ~@2 x!2 ~@3]!14 [x ~@2 x ~ x ~@2] [x ~@2 x!2 ~@3]!25 ~>").gain(0.54)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@23 A ~ A ~ A ~ A ~ A ~ A ~@4 B ~@41>".pickRestart({
A: "x", B: "~@5 x ~ x",
})).gain(0.3)
// drums · rim
const rim = s("rim").struct("<~@15 [~@3 x]!20 ~@3 [~@11 x!2 ~@3] ~@15 [~ x ~@2]!25 ~>").gain(0.48)
// drums · snare
const snare = s("sd").struct("<~@39 A ~ A@2 ~@2 A@2 ~ A@2 ~@2 A B A@11 C A@4 C A@8 ~>".pickRestart({
A: "~@3 x", B: "~@2 x!2", C: "~@11 x!2 ~@3",
})).gain(0.54)
// drums · hihat
const hihat = s("hh").struct(`<
~@15 A@8 B@12 C@4 D E D F D E D@2 E D F D E D G H I J K E D@2 E L M I N L M I N L H I J K E D@2 E ~
>`.pickRestart({
A: "~ x ~@2", B: "x!8", C: "x!4", D: "x ~ x!3 ~ x ~ x ~ x!2 ~@2 x ~", E: "x ~ x!3 ~ x ~ x ~ x!3 ~ x ~",
F: "x ~ x!3 ~ x ~ x ~ x!4 ~@2", G: "x ~ x!3 ~@5 x ~@5", H: "~@2 x ~ x ~ x ~ x ~ x!3 ~ x ~",
I: "x ~ x!3 ~ x ~ x ~ x!2 ~ x!3", J: "x ~ x ~ x ~ x ~ x ~ x!6", K: "x ~ x!3 ~ x ~ x ~ x!2 ~@2 x!2",
L: "x ~ x!3 ~ x ~ x ~ x!2 ~ x!2 ~", M: "x ~ x!3 ~ x ~ x ~ x!6", N: "x ~ x!3 ~ x ~ x ~ x ~ x ~ x ~",
})).gain(0.24)
// drums · mid tom
const mid_tom = s("mt").struct("<~@53 [~@14 x!2] ~@11 [~@14 x!2] ~@14>").gain(0.3)
// drums · open hat
const open_hat = s("oh").struct("<A ~@37 B C ~@13 D E ~ E ~@14 E ~ E ~@6>".pickRestart({
A: "~@7 x", B: "~@29 x!3", C: "x", D: "~@6 x ~@4 x ~@4", E: "~@3 x ~@12",
})).gain(0.18)
// drums · open hat · soft notes
const open_hat_soft = s("oh").struct("<~@38 [~@25 x!4 ~@3] ~@41>").gain(0.06)
// … 20 more lines
More by All-4-One
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.