0:00/0:00
// Shape of My Heart — Backstreet Boys
// 98 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 11 "Staff 17" piano (copy of ch 4 piano)
// note: Full arrangement: all 94 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(98/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 · "MIDI MAN!A 3000!"
const bass = note(`<
~@3 A B C@2 D E C@2 D E C@2 D E F D G B H I J K L M N O P Q R S T Q R U T Q R S V W X Y Z H I J K L M N AA AB AC AD AE
AF AG AH AI AJ@2 AF AK AL AM AN AO AP AQ AF AK AL AM AN AO AP AQ AF AK AL AM AN AR AS AT ~@6
>`.pickRestart({
A: "~@18 eb2@5 ~", B: "ab1@11 ~", C: "eb1!2 ~@6", D: "bb1!2 ~@6", E: "ab1!2 ~@6", F: "c2!2 ~@6", G: "a1!2 ~@6",
H: "eb1@3 eb1@3 ~@3 eb1@3 eb1@8 ~ eb1@3", I: "ab1@3 ab1@3 ~@3 ab1@3 eb1@8 ~ ab1@3",
J: "bb1@3 bb1@3 ~@3 bb1@3 ab1@8 ~ ab1@3", K: "g1@3 g1@3 ~@3 g1@3 g1@8 ~ bb1@3",
L: "c2@3 c2@3 ~@3 eb2@3 bb1@8 ~ ab1@3", M: "f1@3 f1@3 ~@3 f1@3 f1@8 ~ g1@3", N: "ab1@3 ab1@3 ~@3 ab1@3 ab1@8 ~ ab1@3",
O: "bb1@3 bb1@3 ~@3 bb1@3 bb1@5 ~ ab1@5 ~", P: "ab1@3 ab1@3 ~@3 ab1@3 ab1@10 ~@2",
Q: "eb1@3 eb1@3 ~@3 eb1@3 eb1@10 ~@2", R: "eb1@3 eb1@3 ~@3 eb1@11 ~ ab1@3", S: "bb1@3 bb1@3 ~@3 bb1@3 bb1@10 ~@2",
T: "ab1@3 ab1@6 ab1@8 ~ ab1@3 bb1@3", U: "bb1@3 bb1@6 bb1@3 bb1@10 ~@2", V: "ab1@3 ab1@3 ~@3 ab1@11 ~ bb1@3",
W: "c2@3 c2@3 ~@3 c2@3 c2@10 ~@2", X: "bb1@3 bb1@3 ~@3 bb1@13 ~@2", Y: "a1@3 a1@6 a1@13 ~@2", Z: "ab1@16 ~@2 eb2@5 ~",
AA: "g1@3 g1@6 g1@3 g1@5 ~ g1@3 b1@3", AB: "c2@3 c2@6 c2@3 bb1@8 ~ bb1@3", AC: "eb1@3 eb1@6 gb1@3 ab1@8 ~ bb1@3",
AD: "c2@3 c2@3 ~@3 c2@3 bb1@8 ~ f1@3", AE: "eb1@3 eb1@6 gb1@3 ab1@5 ~ g1@5 ~", AF: "f1@3 f1@3 ~@3 f1@3 f1@8 ~ f1@3",
AG: "g1@3 g1@6 g1@3 g1@8 ~ g1@3", AH: "ab1@3 ab1@6 ab1@3 ab1@8 ~ ab1@3", AI: "b1@3 b1@6 b1@3 c2@5 ~ d2@5 ~",
AJ: "[eb2@23 ~]/2", AK: "bb1@3 bb1@3 ~@3 bb1@3 f1@8 ~ bb1@3", AL: "c2@3 c2@3 ~@3 c2@3 bb1@8 ~ bb1@3",
AM: "a1@3 a1@3 ~@3 a1@3 a1@8 ~ c2@3", AN: "d2@3 d2@3 ~@3 f2@3 c2@8 ~ bb1@3", AO: "g1@3 g1@3 ~@3 g1@3 g1@8 ~ a1@3",
AP: "bb1@3 bb1@3 ~@3 bb1@3 bb1@8 ~ f2 g2 ~", AQ: "bb2@4 g2@4 ~ e2@3 c2@4 a1@4 ~ g1@3",
AR: "g1@3 g1@3 ~@3 g1@3 g1@10 ~@2", AS: "bb1@11 ~", AT: "c2@11 ~",
})).s("gm_electric_bass_finger").gain(0.72)
// chords · synth strings 1
const synth_strings_1 = note(`<
~ A B C D A@2 C E F A C E A F C G H A I D J K L M N O P Q P A@2 C E F A C E A F C G H A I R J K L M N O P S T U T U V
W X Y Z A AA AB AC AD AE AF AG AH AA AB AC AD AE AF AG AH AA AB AC AD AE AF AG AI AJ AK@5
>`.pickRestart({
A: "[eb4,ab4]@8 ~ g4@13 ~@2, bb3@11 ~", B: "[bb3,eb4,ab4]@8 ~ [bb3,g4]@13 ~@2",
C: "[eb4,g4]@8 ~ [d4,f4]@13 ~@2, bb3@11 ~", D: "[ab3,c4,eb4]@11 ~", E: "[ab3,bb3]@9 [c4,eb4]@8 ~ [d4,f4]@5 ~, d4 ~@2",
F: "[eb4,ab4]@8 ~ [eb4,g4]@13 ~@2, bb3@11 ~", G: "[ab3,bb3]@9 [c4,eb4]@8 ~ [d4,eb4,f4]@5 ~, d4 ~@2",
H: "[c4,eb4,ab4]@8 ~ [c4,eb4,g4]@13 ~@2", I: "[a3,c4,f4]@11 ~", J: "[eb3,eb4,g4,bb4,eb5]@11 ~",
K: "[ab3,eb4,ab4,c5,eb5]@10 ~@2 [ab3,eb4,ab4,c5,eb5]@5 ~ [eb3,eb4,g4,bb4,eb5]@5 ~", // Ab Eb
L: "[bb3,f4,bb4,d5]@5 ~ [ab3,ab4]@5 ~", M: "[g3,d4,g4,bb4,d5]@11 ~", N: "[c4,g4,c5,eb5]@5 ~ [bb3,bb4]@5 ~",
O: "[f3,f4,a4,c5]@11 ~", P: "[ab3,ab4,c5,eb5]@11 ~",
Q: "[bb4,eb5,g5]@8 ~ bb4@3 [bb4,d5,f5]@10 ~@2, bb3@11 ~, f4@3 ~@5", R: "[bb3,eb4,ab4]@11 ~",
S: "[b3,b4,d5,g5]@5 ~ [b4,d5,g5]@5 ~", T: "[c4,eb4,g4]@5 ~ [bb3,d4,f4]@5 ~", U: "[g3,bb3,eb4]@5 ~ [ab3,c4,eb4]@5 ~",
V: "f3@3 ab3@19 ~@2, c4@11 ~", W: "[g3,b3,d4,f4]@11 ~", X: "[ab3,c4,eb4,g4]@11 ~",
Y: "[b3,d4,f4]@10 ~@2 [c4,eb4]@5 ~ [d4,f4]@5 ~", Z: "[bb3,eb4,g4]@11 ~", AA: "[f3,f4,a4,c5,f5]@11 ~",
AB: "[bb3,f4,bb4,d5,f5]@10 ~@2 [bb3,f4,bb4,d5,f5]@5 ~ [f3,f4,a4,c5,f5]@5 ~", AC: "[c4,g4,c5,e5]@5 ~ [bb3,bb4]@5 ~",
AD: "[a3,e4,a4,c5,e5]@11 ~", AE: "[d4,a4,d5,f5]@5 ~ [c4,c5]@5 ~", AF: "[g3,g4,b4,d5]@11 ~",
AG: "[bb3,bb4,d5,f5]@11 ~", AH: "[bb3,d4,f4]@5 ~ [c4,e4,g4]@5 ~", AI: "[g3,c4,e4]@5 ~ [c4,e4,g4]@5 ~",
AJ: "[c4,e4,c5,e5]@5 ~@5 [d5,f5]@8 ~ [e4,g4,e5]@5, [bb2,f3]@23 ~, ~@9 [d4,f4]@3 ~@7 g5 ~@4", // C Dm Em Bb5 Dm
AK: "[~ a4 [f5,a5]@9 ~ [e5,g5]@8 ~@3 [a4,c5,f5]@6 ~ [a4,c5,f5]@75 ~@15, ~ [c3,g3]@26 ~@2 [f2,f3,a3]@66 ~@25, ~ f4@6 ~@4 [e4,g4]@3 ~@8 [d4,f4]@6 ~ [c4,f4]@6 ~@85]/5", // F Em F C5 F Em Dm F5
})).s("gm_synth_strings_1").gain(0.72)
// chords · pad halo · "Staff 9"
const pad_halo = note(`<
~@5 A B C ~ D E@2 ~ A@2 F G H A I J@2 K L M N O P Q P A B C ~ D R ~@2 A@2 F G H A I ~ S K L M N O P T ~@11 U V W X T Y
Z ~ U V W X T Y Z ~ U V W X T Y ~@7
>`.pickRestart({
A: "[bb3,eb4,ab4]@8 ~ [bb3,eb4,g4]@13 ~@2", B: "[bb3,eb4,ab4]@8 ~ [bb3,eb4,g4]@8 ~@4 eb4@3, ~@18 f4@5 ~",
C: "[bb3,eb4,g4]@8 ~ [bb3,d4,f4]@13 ~@2", D: "[bb3,eb4,ab4]@5 ~ [bb3,g4]@3 [bb3,eb4,g4]@8 ~@7",
E: "[[bb3,eb4,ab4]@8 ~ [bb3,eb4,g4]@8 ~ [bb3,d4,f4]@16 ~@14]/2", F: "[bb3,eb4,g4]@8 ~ [d4,f4]@13 ~@2",
G: "[ab3,bb3,d4]@8 ~ [c4,eb4]@8 ~ [d4,f4]@5 ~", H: "[c4,eb4,ab4]@8 ~ [c4,eb4,g4]@13 ~@2", I: "[a3,c4,f4]@11 ~",
J: "[~@12 [g4,bb4,eb5]@11 ~, [ab3,c4,eb4]@29 ~@19]/2", K: "[ab4,c5,eb5]@16 ~@2 [g4,bb4,eb5]@5 ~",
L: "~ [bb4,d5,f5]@10 ~ ab4@10 ~@2", M: "[g4,bb4,d5]@11 ~", N: "[c5,eb5] g4@5 ~ g4@6 bb4@10 ~", O: "[a4,c5,f5]@11 ~",
P: "[ab4,c5,eb5]@11 ~", Q: "[bb4,eb5,g5]@5 ~ [bb4,d5,f5]@5 ~", R: "[bb3,eb4,ab4]@8 ~ [bb3,eb4,g4]@8 ~@7",
S: "[g4,bb4,eb5]@11 ~", T: "[b4,d5,g5]@11 ~", U: "[bb4,d5,f5]@16 ~@2 [a4,c5,f5]@5 ~", V: "[c5,e5,g5]@5 ~ bb4@5 ~",
W: "[a4,c5,e5]@11 ~", X: "[a4,d5,f5]@5 ~@2 a4@4 ~ c5@10 ~@2", Y: "[bb4,d5,f5]@11 ~",
Z: "[c5,f5,a5]@5 ~ [c5,e5,g5]@5 ~", // F C
})).s("gm_pad_halo").gain(0.72)
// chords · epiano1 · "Staff 11"
const epiano1 = note(`<
A B C D E F G H I G@2 H J G@2 K L M G N O@2 ~@8 G@2 H I G@2 H J G@2 K L M G P@3 ~@7 Q R Q S T U V W X@2 Y ~@7 Y ~@7 Y
~@13
>`.pickRestart({
A: "~@23 bb4", B: "eb5 ab5@5 ab5@3 g5@6 g5@8 ~", C: "bb4 eb5@4 ab5@4 g5@6 g5@8 ~",
D: "bb4 eb5@4 g5@4 [d5,f5]@13 ~@2, ~ g5 ~@22", E: "ab4 eb5@5 eb5@3 bb4@10 eb5@5",
F: "[eb4,ab4]@5 ~@4 [bb3,eb4,g4]@13 ~@2, bb3 ~@2", G: "[bb3,eb4,ab4]@8 ~ [bb3,eb4,g4]@13 ~@2",
H: "[bb3,eb4,g4]@8 ~ [bb3,d4,f4]@13 ~@2", I: "[ab3,bb3]@9 [c4,eb4]@8 ~ [ab3,d4,f4,eb5]@5 ~, d4 ~@2",
J: "[ab3,bb3,d4]@8 ~ [ab3,c4,eb4]@8 ~ [ab3,d4,f4,eb5]@5 ~", K: "[eb4,g4]@4 ~@2 bb3@5 ~, bb3@9 [d4,f4]@13 ~@2",
L: "[ab3,bb3]@9 [c4,eb4]@8 ~ [d4,f4,eb5]@5 ~, c4 ~@2", M: "[c4,eb4,ab4]@8 ~ [c4,eb4]@3 g4@10 ~@2",
N: "[c4,f4,f5]@5 ~ c5@5 ~, a3@11 ~", O: "[[c4,eb4]@3 eb5@26 ~@19, [ab2,ab3]@11 ~@13]/2",
P: "[[c4,f4,f5]@10 ~@2 c5@41 ~@19, a3@11 ~@25]/3", Q: "[g3,c4,eb4]@5 ~ [f3,bb3,d4]@5 ~",
R: "[g3,bb3,eb4]@5 ~ [ab3,c4,eb4]@5 ~", S: "[g3,bb3,eb4]@10 ~@2 [ab3,c4,eb4]@5 ~ [g3,bb3,d4]@5 ~",
T: "[f3,ab3,c4]@11 ~", U: "[g3,b3,d4,f4]@11 ~", V: "[ab3,c4,eb4]@11 ~",
W: "[b3,d4,f4]@10 ~@2 [c4,eb4]@5 ~ [d4,f4]@5 ~", // Bdim Cm Dm
X: "[[eb4,g4]@25 ab5@5 ab5@3 g5@7 g5@2 f5@3 [a3,c4,f4]!2 ~, bb3@15 ~]/2", Y: "[a3,c4,f4]@5 ~@19",
})).s("gm_epiano1").gain(0.72)
// chords · acoustic guitar steel · "Staff 13"
const acoustic_guitar_steel = note(`<
A B C D E F G H I G@2 H J K G L I M G N O P Q R S T U V W X Y@2 Z AA Y@2 Z AB Y@2 Z AA AC Y AD AE AF AG AH AI AJ AK AL
AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE AX AY AZ BA BB BC BD BE AX AY AZ BA BB BF BG BH@2 BI@5
>`.pickRestart({
A: "~@23 bb3", B: "eb4 ~@5 eb3@3 eb3@11 ~ eb3@2 bb3, eb3@5 ~@4 [bb3,g4]@14 ~, ~ ab4@8 ~@15",
C: "eb4 ~@5 eb3@3 [bb3,g4]@12 eb3@3, eb3@5 ~@4 eb3@11 ~@4, ~ ab4@8 ~@15", // Eb
D: "bb3 [eb4,g4]@5 [bb2,bb3]@3 bb2@11 ~ bb2@2 ab3, bb2@5 ~@4 [bb3,d4,f4]@14 ~", E: "[ab2,c4,eb4]@11 ~",
F: "[bb3,eb4,ab4]@5 ~@4 [eb4,g4]@13 ~@2", G: "[bb3,eb4,ab4]@8 ~ [bb3,eb4,g4]@13 ~@2",
H: "[bb3,eb4,g4]@8 ~ [bb3,d4,f4]@13 ~@2", I: "[ab3,bb3,d4]@8 ~ [c4,eb4]@8 ~ [d4,f4]@5 ~",
J: "[ab3,bb3,d4]@8 ~ [ab3,c4,eb4]@8 ~ [ab3,d4,f4]@5 ~", K: "[bb3,eb4,ab4]@8 ~ [eb4,g4]@13 ~@2",
L: "[bb3,eb4,g4]@8 ~ [d4,f4]@13 ~@2", M: "[c4,eb4,ab4]@8 ~ [c4,eb4,g4]@13 ~@2", N: "[a3,c4,f4]@2 ~",
O: "[ab3,c4,eb4]@11 ~", // Ab
P: "g3 [bb3,eb4]@2 eb4 [g3,bb3]@2 g3 [bb3,eb4]@2 eb4 [g3,bb3]@2 g3 [bb3,eb4]@2 eb4 [g3,bb3]@2 g3 [bb3,eb4]@2 eb4 [g3,bb3]@2", // Eb5 Gm Eb5 Gm Eb5 Gm Eb5 Gm
Q: "ab3 [c4,eb4]@2 eb4 [ab3,c4]@2 ab3 [c4,eb4]@2 eb4 [ab3,c4]@2 ab3 [c4,eb4]@2 eb4 [ab3,c4]@2 g3 [bb3,eb4]@2 eb4 [g3,bb3]@2", // Cm Ab Cm Ab Cm Ab Eb5 Gm
R: "bb3 [d4,f4]@2 f4 [bb3,d4]@2 bb3 [d4,f4]@2 f4 [bb3,d4]@2 ab3 [d4,f4]@2 f4 [ab3,d4]@2 ab3 [d4,f4]@2 f4 [ab3,d4]@2", // Dm Bb Dm Bb Dm Abdim Dm Abdim
S: "g3 [bb3,d4]@2 d4 [g3,bb3]@2 g3 [bb3,d4]@2 d4 [g3,bb3]@2 g3 [bb3,d4]@2 d4 [g3,bb3]@2 g3 [bb3,d4]@2 d4 [g3,bb3]@2", // Bb Gm Bb Gm Bb Gm Bb Gm
T: "g3 c4@2 eb4 [g3,c4]@2 g3 [c4,eb4]@2 eb4 [g3,c4]@2 g3 [bb3,eb4]@2 eb4 [g3,bb3]@2 g3 [bb3,eb4]@2 eb4 bb3@2", // C5 Cm C5 Eb5 Gm Eb5
U: "[g3,a3] [c4,f4]@2 f4 [a3,c4]@2 a3 [c4,f4]@2 f4 [a3,c4]@2 a3 [c4,f4]@2 f4 [a3,c4]@2 a3 [c4,f4]@2 f4 [a3,c4]@2", // Gsus2 F5 Am F5 Am F5 Am F5 …
V: "ab3 [c4,eb4]@2 eb4 [ab3,c4]@2 ab3 [c4,eb4]@2 eb4 [ab3,c4]@2 ab3 [c4,eb4]@2 eb4 [ab3,c4]@2 ab3 [c4,eb4]@2 eb4 c4@2", // Cm Ab Cm Ab Cm Ab Cm
W: "[ab3,bb3] [eb4,g4]@2 g4 [bb3,eb4]@2 bb3 [eb4,g4]@2 g4 [bb3,eb4]@2 bb3 [d4,f4]@2 f4 [bb3,d4]@2 bb3 [d4,f4]@2 f4 [bb3,d4]@2", // Absus2 Eb Eb5 Eb Eb5 Dm Bb Dm …
X: "ab3 [c4,eb4]@22 ~", Y: "[bb3,eb4,ab4]!3 [bb3,eb4,g4]!5", Z: "[bb3,eb4,g4]!3 [bb3,d4,f4]!5",
AA: "[ab3,bb3,d4]!3 [ab3,c4,eb4]!3 [ab3,c4,d4,eb4,f4] [ab3,d4,f4]", // Bb7 Ab Fm7 Ddim
AB: "[ab3,bb3,d4]!3 [ab3,c4,eb4] [c4,eb4] [ab3,c4,eb4] [ab3,c4,d4,eb4,f4] [ab3,d4,f4]", // Bb7 Ab Cm Ab Fm7 Ddim
AC: "[c4,eb4,a4] [c4,eb4,ab4]!2 [c4,eb4,g4]!5", AD: "[a3,c4,f4]!8", AE: "[ab3,c4,eb4]@5 ~@19",
AF: "~@3 eb4 [g3,bb3]@2 ~@3 eb4 [g3,bb3]@2 ~@3 eb4 [g3,bb3]@2 ~@3 eb4 [g3,bb3]@2", // Gm
AG: "~@3 eb4 [ab3,c4]@2 ~@3 eb4 [ab3,c4]@2 ~@3 eb4 [ab3,c4]@2 ~@3 eb4 [g3,bb3]@2", // Ab Gm
AH: "~@3 f4 [bb3,d4]@2 ~@3 f4 [bb3,d4]@2 ~@3 f4 [ab3,d4]@2 ~@3 f4 [ab3,d4]@2", // Bb Abdim
AI: "~@3 d4 [g3,bb3]@2 ~@3 d4 [g3,bb3]@2 ~@3 d4 [g3,bb3]@2 ~@3 d4 [g3,bb3]@2", // Gm
AJ: "~@3 eb4 [g3,c4]@2 ~@3 eb4 [g3,c4]@2 ~@3 eb4 [g3,bb3]@2 ~@3 eb4 bb3@2", // C5 Gm
AK: "g3@3 f4 [a3,c4]@2 ~@3 f4 [a3,c4]@2 ~@3 f4 [a3,c4]@2 ~@3 f4 [a3,c4]@2", // Am
AL: "~@3 eb4 [ab3,c4]@2 ~@3 eb4 [ab3,c4]@2 ~@3 eb4 [ab3,c4]@2 ~@3 eb4 c4@2", // Ab
AM: "[g3,b3,d4,f4] b3@2 [g3,b3,d4,f4]@2 [g3,b3,d4,f4]@2 [g3,b3,d4,f4]", // G7
AN: "g3 [c4,eb4,g4]@2 g3 [c4,eb4]@3 [c4,eb4,g4]@2 g3 [c4,eb4,g4]@2 f3 [bb3,d4,f4]@2 bb3 [d4,f4]@2 [bb3,f4] d4@2 bb3 [d4,f4]@2", // Cm Bb Dm Bb5 Dm
AO: "g3 eb4@2 g3 [bb3,eb4]@2 ~ [g3,bb3,eb4]@2 g3 [bb3,eb4]@2 ab3 c4@2 ab3 [c4,eb4]@2 ~ [ab3,c4,eb4]@2 ab3 [c4,eb4]@2", // Eb5 Eb Eb5 Cm Ab Cm
AP: "g3 [c4,eb4,g4]@2 g3 [c4,eb4,g4]@2 [c4,eb4,g4]@3 g3 [c4,eb4,g4]@2 f3 [bb3,d4,f4]@2 bb3 [d4,f4]@2 bb3 [d4,f4]@2 bb3 [d4,f4]@2", // Cm Bb Dm
AQ: "g3 eb4@2 g3 [bb3,eb4]@2 ~ [g3,bb3,eb4]@2 g3 [bb3,eb4]@2 ab3 c4@2 ab3 [c4,eb4]@2 [ab3,c4,eb4]@5 ~", // Eb5 Eb Eb5 Cm Ab
AR: "f3 [ab3,c4]@2 f3 [ab3,c4]@2 [f3,ab3,c4]@3 f3 [ab3,c4]@2 f3 [ab3,c4]@2 f3 [ab3,c4]@2 ~ [f3,ab3,c4]@2 f3 [ab3,c4]@2", // Ab Fm Ab Fm Ab
AS: "g3 [b3,d4]@2 g3 [b3,d4]@2 [b3,d4,f4]@3 g3 [b3,d4,f4]@2 g3 [b3,d4,f4]@2 g3 [b3,d4,f4]@2 ~ [b3,d4,f4]@2 g3 [b3,d4,f4]@2", // Bm Bdim
AT: "ab3 [c4,eb4,g4]@2 ab3 [c4,eb4,g4]@2 [c4,eb4] ab3@2 ab3 [c4,eb4,g4]@2 ab3 [c4,eb4,g4]@2 ab3 [c4,eb4,g4]@2 ~ [ab3,c4,eb4]@2 ab3 [c4,eb4,g4]@2", // Cm Ab Cm
AU: "b3 [d4,f4]@2 b3 [d4,f4]@2 ~ [b3,d4,f4] ~ b3 [d4,f4]@2 c4 eb4@5 d4 f4@5", AV: "[g3,bb3] [eb4,g4]@22 ~",
AW: "eb4 ~@5 eb3@3 ~ [bb3,g4]@10 ~ [a3,c4,f4]!2 ~, eb3@5 ~@4 eb3@13 ~@2, ~ ab4@9 ~@14", // Eb F
AX: "[a3,c4,f4]@3 f4 [a3,c4]@2 ~@3 f4 [a3,c4]@2 ~@3 f4 [a3,c4]@2 ~@3 f4 [a3,c4]@2", // F Am
AY: "~@3 f4 [bb3,d4]@2 ~@3 f4 [bb3,d4]@2 ~@3 f4 [bb3,d4]@2 ~@3 f4 [a3,c4]@2", // Bb Am
AZ: "~@3 g4 [c4,e4]@2 ~@3 g4 [c4,e4]@2 ~@3 g4 [bb3,e4]@2 ~@3 g4 [bb3,e4]@2", // C Bbdim
BA: "~@3 e4 [a3,c4]@2 ~@3 e4 [a3,c4]@2 ~@3 e4 [a3,c4]@2 ~@3 e4 [a3,c4]@2", // Am
BB: "~@3 f4 [a3,d4]@2 ~@3 f4 [a3,d4]@2 ~@3 f4 [a3,c4]@2 ~@3 f4 c4@2", // D5 Am
BC: "a3@3 g4 [b3,d4]@2 ~@3 g4 [b3,d4]@2 ~@3 g4 [b3,d4]@2 ~@3 g4 [b3,d4]@2", // Bm
BD: "~@3 f4 [bb3,d4]@2 ~@3 f4 [bb3,d4]@2 ~@3 f4 [bb3,d4]@2 ~@3 f4 d4@2", // Bb
BE: "[bb3,d4,f4]@3 [bb3,d4,f4]@3 ~@3 [bb3,d4,f4]@3 [c4,e4,g4]@5 ~ [c4,e4,g4]@5 ~", // Bb C
BF: "a3@3 g4 [b3,d4]@2 ~@3 g4 [b3,d4]@2 ~@3 g4 [b3,d4]@2 ~@3 g4 [b3,d4] f3", BG: "~ [bb3,d4,f4]@22 g3, bb2@11 ~",
BH: "[~ [c4,e4,g4]@21 ~@2 [f3,bb3] e4@8 ~ [d4,f4]@14, c3@22 bb2@25 ~, ~@25 c4 ~@22]/2", // C Bb5 Dm
BI: "[~ a3 c4 [f4,a4]@9 g3 c4 [e4,g4]@13 ~@3 a3 [f3,c4] f4@73 ~@15, ~ c3@11 c3@15 ~@2 f2@76 ~@15]/5", // F Em F5
})).s("gm_acoustic_guitar_steel").gain(0.72)
// chords · piano · "Staff 21"
const piano = note(`<
~@20 A B@2 C@3 D E F@2 ~@4 G ~@3 H@2 I@2 J K@3 B@2 C@3 D E L@2 ~@3 M N O P Q ~ R@3 S@4 T U@2 V@3 W X Y Z@2 V@3 W X AA
~@6
>`.pickRestart({
A: "~@12 [ab3,c4]@5 ~ [bb3,d4]@5 ~", // Ab Bb
B: "[[bb3,eb4]@3 [bb3,f4]@3 [bb3,eb4]@3 [bb3,c4]@6 [eb3,g3]@6 [eb3,ab3]@13 ~@2 [c4,f4]@5 ~ [c4,eb4]@5 ~]/2", // Eb5 Bb5 Eb5 Bbsus2 Eb Ab5 F5 Cm
C: "[[bb3,d4]@5 ~ [bb3,d4]@3 [bb3,d4]@3 ~@3 f3@6 d3@8 ~ [g3,bb3]@3 [bb3,d4]@6 [g3,bb3]@6 [g3,c4]@13 ~@2 [g3,c4]@3 [g3,c4]@3 [f3,d4]@3 [f3,eb4]@3]/3", // Bb Gm Bb Gm C5 Dm F7
D: "[f3,a3]@10 ~@5 eb4@3 d4@3 c4@3", E: "[ab3,c4]@5 ~@4 [ab3,c4]@3 ~@6 [ab3,eb4]@5 ~",
F: "[[ab3,eb4]@5 ~@4 [bb3,d4]@8 ~ [ab3,c4]@3 [ab3,c4]@19 ~@8]/2", G: "c4@8 ~ bb3@13 ~@2",
H: "[g3@5 ~ g3@3 g3@6 g3@6 ab3@6 bb3@8 ~@13]/2", I: "[~ eb4 ~ eb4@3 eb4@3 eb4@6 d4@6 d4@6 bb3@8 ~@13]/2",
J: "[g3,c4,eb4]@8 ~ [g3,c4,eb4]@8 ~@4 [c4,eb4]@3", // Cm
K: "[[g3,bb3,eb4]@5 ~@4 [g3,bb3,eb4]@8 ~ [g3,bb3,eb4]@3 [a3,c4,f4]@32 ~@7 [ab3,c4]@5 ~ [bb3,d4]@5 ~]/3", // Eb F Ab Bb
L: "[[g3,d4]@8 ~ [b3,d4]@8 ~ [ab3,c4]@3 [g3,c4]@19 ~@8]/2", M: "f3@11 ~", N: "[g3,b3,d4,f4]@11 ~",
O: "[ab3,c4,eb4,g4]@11 ~", P: "[b3,d4,f4]@10 ~@3 [c4,eb4]@5 [d4,f4]@5 ~", Q: "bb3 [eb4,g4]@22 ~",
R: "[~@3 [c4,f4,a4]@3 [c4,f4,a4]@3 [c4,f4,a4]@6 [c4,f4,a4]@6 [bb3,d4,g4]@8 ~ [bb3,d4,g4]@3 [bb3,d4,g4]@6 [bb3,d4,g4]@3 ~@3 [c4,e4,g4]@8 ~ [c4,e4,g4]@5 ~ [bb3,e4]@3 [bb3,e4,f4,g4]@3 [bb3,e4,g4]@3 [bb3,e4]@3]/3", // F Gm C Bbdim Edim Bbdim
S: "[[a3,c4,e4]@5 ~ [c4,e4,g4]@3 [c4,e4,g4]@6 [c4,e4,g4]@6 [a3,d4,f4]@11 ~ [a3,c4,f4]@8 ~ [a3,c4,f4]@3 [b3,d4,f4]@8 ~ [b3,d4,f4]@3 [b3,d4,f4,g4]@8 ~ a4@3 g4@8 ~ [bb3,d4,f4]@3 [bb3,d4,f4]@6 [bb3,d4,f4]@6 [bb3,d4,f4]@3]/4", // Am C Dm F Bdim G7 Bb
T: "~ [bb3,d4,f4]!2 [g3,c4,e4] [bb3,d4] [g3,c4,e4]!2 [a3,c4,f4]", // Bb C Bb C F
U: "[[c4,f4]@3 [c4,g4]@3 [c4,f4]@3 [c4,d4]@6 [f3,a3]@6 [f3,bb3]@13 ~@2 [d4,g4]@5 ~ [d4,f4]@5 ~]/2", // F5 C5 F5 Csus2 F Bb5 G5 Dm
V: "[[c4,e4]@5 ~ [c4,e4]@3 [c4,e4]@3 ~@3 g3@6 e3@8 ~ [a3,c4]@3 [c4,e4]@6 [a3,c4]@6 [a3,d4]@13 ~@2 [a3,d4]@3 [a3,d4]@3 [g3,e4]@3 [g3,f4]@3]/3", // C Am C Am D5 C G7
W: "[g3,b3]@10 ~@5 f4@3 e4@3 d4@3", X: "[bb3,d4]@5 ~@4 [bb3,d4]@3 ~@6 [bb3,f4]@5 ~",
Y: "[bb3,f4]@5 ~@4 [c4,e4]@8 ~ [a3,c4]@3 [a3,c4]@3", // Bb5 C Am
Z: "[[c4,f4]@3 [c4,g4]@3 [c4,f4]@3 [c4,d4]@6 [f3,a3]@3 ~@3 [f3,bb3]@13 ~@2 [d4,g4]@5 ~ [d4,f4]@5 ~]/2", // F5 C5 F5 Csus2 F Bb5 G5 Dm
AA: "[bb3,f4]@5 ~@4 [c4,e4]@8 ~@7", // Bb5 C
})).s("gm_piano").gain(0.72)
// drums · kick
const kick = s("bd").struct(`<
~@5 A@15 B C D C D C D C D C@2 D C D C D C D C D C D C D C E C D C D C D C D C D C D C D C D E F C D C D C D C D C D C
D C D C D C D C D C D G E ~@6
>`.pickRestart({
A: "x!2 ~@6", B: "x ~@2 x", C: "x!2 ~ x!2 ~@3", D: "x!2 ~ x ~@4", E: "x", F: "~@3 x", G: "x ~@6 x",
})).gain(0.72)
// drums · snare
const snare = s("sd").struct("<~@21 A@8 B A@15 ~ A@16 ~@2 A@24 ~@6>".pickRestart({
A: "~ x ~ x", B: "~@3 x",
})).gain(0.72)
// drums · low tom
const low_tom = s("lt").struct("<~@20 A ~@8 B ~@15 C ~@16 C A ~@7 D ~@7 E ~@7 F ~@6>".pickRestart({
A: "~@3 x", B: "x!2 ~ x!2 ~@3", C: "x", D: "~@18 x!2 ~@4", E: "~@7 x", F: "~@4 x!3 ~",
})).gain(0.72)
// drums · hihat
const hihat = s("hh").struct(`<
A ~@12 B@7 ~ C D@3 C D E@2 F G H@7 G H@6 ~ C D@3 C D E@2 G H@3 G H@3 ~ I J D@3 C D E@2 J D@3 C D E@2 J D@3 C D E K ~@6
>`.pickRestart({
A: "x!4", B: "~ x ~ x", C: "~@3 x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~",
D: "x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~", E: "~ x ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~",
F: "~@3 x", G: "~ x!7", H: "x!8", I: "~@21 x!2 ~", J: "x ~@2 x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~ x!2 ~",
K: "~ x!3 ~ x!2 ~",
})).gain(0.72)
// … 31 more lines
More by Backstreet Boys
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.