0:00/0:00
// Drowning — Backstreet Boys
// 70 bpm, 4/4, key B major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2, 2/4 at bar 19, 4/4 at bar 19, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 79 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar program 25, guitar program 30.
setcpm(70/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.
// other · accordion
const accordion = note(`<
~@18 A B C D E F G H ~@3 I ~ J K ~@2 L@4 M N@2 O@4 P@2 Q ~@4 R@2 S@4 T@2 U ~ V@2 W X Y@4 Z@4 AA ~@3
>`.pickRestart({
A: "~@11 b4 f#5!4", B: "f#5@2 f#5 e5@3 d#5 c#5@4 ~@3 f#4!2", C: "f#5@3 e5 d#5@2 d#5 c#5 b4@4 ~@4",
D: "b4 c#5 d#5@4 f#4 g#4@3 b4@2 ~ b4 c#5 b4", E: "d#5@2 d#5!2 c#5@2 b4 b4@4 f#4 f#5!4",
F: "f#5@2 f#5 e5@3 d#5 c#5@4 ~@3 f#4@2", G: "f#5@2 f#5 e5@3 d#5 c#5!2 b4@4 ~@3", H: "b4 c#5 d#5@4 f#4 g#4@3 b4@2 ~@4",
I: "~@3 a4!2 b4 c#5@4 ~@6", J: "~@14 c#5!2", K: "c#5@2 c#5 b4 a4@2 e5 e5@5 b4 g#4@2 ~",
L: "[~@11 a4 b4@2 a4 b4@3 c#5@3 ~@3 f#4@2 a4 a4@2 b4 a4 b4@3 c#5@2 ~@7 a4 c#5 e5 c#5 e5@3 b4 a4@2 ~ a4@2 f#5@2 e5@2 e5@2 c#5!2]/4",
M: "b4 ~", N: "[~@3 b4 f#5!4 f#5@2 f#5 e5@3 d#5 c#5@4 ~@3 f#4!2 f#5@3 e5 d#5@2 d#5 c#5]/2",
O: "[b4@4 ~@4 b4 c#5 d#5@4 f#4 g#4@3 b4@2 ~ b4 c#5 b4 d#5@2 d#5!2 c#5@2 b4 b4@4 f#4 f#5!4 f#5@2 f#5 e5@3 d#5 c#5@4 ~@3 f#4@2 f#5@2 f#5 e5@3 d#5 c#5]/4",
P: "[c#5 b4@4 ~@3 b4 c#5 d#5@4 f#4 g#4@3 b4@2 ~ b4 c#5 b4 d#5@2 c#5 c#5@3 b4 c#5]/2", Q: "b4@3 ~@5",
R: "[~@4 g#5!4 g#5@2 g#5 f#5@3 f5 d#5@4 ~@3 g#4!2 g#5@3 f#5 f5@2 f5 d#5]/2",
S: "[c#5@4 ~@4 c#5 d#5 f5@4 g#4 a#4@3 c#5@2 ~ c#5 d#5 c#5 f5@2 f5!2 d#5@2 c#5 c#5@4 g#4 g#5!4 g#5@2 g#5 a#5 g#5@2 g#5 g#5@2 f5@2 ~@3 g#4@2 g#5@2 g#5 f#5@3 f5 d#5]/4",
T: "[d#5 c#5@4 ~@3 c#5 d#5 f5@4 g#4 a#4@3 c#5@2 ~ c#5 d#5 c#5 f5@2 f5!2 d#5@2 c#5 d#5]/2", U: "c#5@5 a#4 ~@10",
V: "[~@8 f5 d#5 c#5@4 c5 c5@3 a#4@2 ~ c#5!3 g#5@2 g#5!2 f5 g#5 f5 g#5]/2", W: "f5@8 ~@3 g#4 a#4@2 c#5@2",
X: "d#5@4 a#4 g#4@4 ~@7",
Y: "[~@8 f5 d#5 c#5@4 f5 f#5@2 f#5@2 ~@2 f#5@2 g#5@2 g#5 ~@2 g#5@2 d#5 c#5@5 g#5!4 g#5@2 g#5 f#5@3 f5 d#5@4 ~@3 g#4!2 g#5@3 f#5 f5@2 f5 d#5]/4",
Z: "[c#5@4 ~@4 c#5 d#5 f5@4 g#4 a#4@3 c#5@2 ~ c#5 d#5 c#5 f5@2 f5!2 d#5@2 c#5 c#5@4 g#4 g#5!4 g#5@2 g#5 f#5@3 f5 d#5@5 a#4 g#4@4 ~@7]/4",
AA: "~@8 f5 d#5 c#5@4 ~@2",
})).s("gm_accordion").gain(0.4)
// other · tenor sax
const tenor_sax = note(`<
~@4 A@2 ~@12 B C D E F C G H ~@2 I J K L M N O P ~@4 Q@2 R@4 S@3 T ~ U V W@2 X Y@3 Z@2 AA ~ AB@2 AC AD AE@2 AF@2 AG@4
AH@4
>`.pickRestart({
A: "[~@3 g#4@5 a4 f#4@11 ~@12, ~@9 g#4 ~@22]/2", B: "~@12 d#5!4", C: "d#5@2 d#5 c#5@3 b4 a#4@4 ~@5",
D: "c#5@3 e5 d#5@2 c#5!2 b4@4 ~@4", E: "g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~ f#4 g#4 f#4",
F: "b4@2 b4!2 a#4@2 f#4 f#4@4 ~ d#5!4", G: "c#5@2 c#5 b4@3 a#4@2 a#4 g#4@4 ~@3", H: "g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~@4",
I: "c#5@2 b4 b4@3 a4 b4@5 f#4 e4@2 ~", J: "~@3 e4 f#4 g#4 a4@4 ~@5 c#4", K: "c#5 b4@2 b4@3 a4 d4@3 a4@3 a4!2 b4",
L: "c#5@2 b4!2 a4!2 f#4 e4@4 ~@3 e5!2", M: "e5@2 e5 d5@3 c#5 b4@5 f#4 e4@2 ~", N: "~@3 e4 f#4 g#4 a4@3 ~@6 e4",
O: "c#5@2 b4 b4@3 a4 d5@3 a4@3 ~@3", P: "c#5 b4@3 b4 a4 a4@3 ~@7",
Q: "[~@4 d#5!4 d#5@2 d#5 c#5@3 b4 a#4@4 ~@5 c#5@3 e5 d#5@2 c#5!2]/2",
R: "[b4@4 ~@4 g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~ f#4 g#4 f#4 b4@2 b4!2 a#4@2 f#4 f#4@4 ~ d#5!4 d#5@2 d#5 b5 a#5@2 [b4,g#5] [a#4,g#5]@3 f#5@4 ~@2 c#5@2 c#5 b4@3 a#4@2, ~@43 c#5@3 ~@18]/4", // E A#7
S: "[a#4 g#4@4 ~@3 g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~ f#4 g#4 f#4 b4@2 a#4 a#4@3 f#4 g4@7 ~@10]/3",
T: "b4 d#5 d#5@3 e5@2 e5@2 f#5@2 d#5@3 ~@2", U: "f#5@2 f#5 f#5@2 d#5 g#5@2 f#5@4 ~@2 f#5!2",
V: "g#5@3 g#5@2 f5 a#5@2 g#5@4 ~@4", W: "[~@4 f5!4 f5@2 f5 d#5@3 c#5 c5@4 ~@5 d#5@3 f#5 f5@2 d#5!2]/2",
X: "c#5@4 ~@4 a#4 c5 c#5@4 ~@2",
Y: "[a#4 c#5!2 a#4 c#5@2 d#5@2 c#5@2 c#5!2 c5@2 g#4 g#4@4 ~ f5!4 f5@2 f5 d#5@3 c#5 c5@4 ~@5 d#5@2 d#5 c#5@3 c5@2]/3",
Z: "[c5 a#4@4 ~@3 a#4 c5 c#5@4 f4 f#4@3 a#4@2 ~ g#4 a#4 g#4 c#5@2 c#5!2 c5@2 g#4 a#4]/2", AA: "g#4@3 ~@5",
AB: "[~@8 f5 d#5 c#5@4 c5 c5@3 a#4@2 ~@3 a#4 g#4 ~@3 c5@4]/2", AC: "c#5@4 ~@3 f5 d#5 c#5@4 ~@3",
AD: "~@3 d#5@2 d#5@2 d#5@2 d#5@2 f5@2 f#5@2 f#5",
AE: "[f5@2 d#5@3 f5 c#5@6 ~@2 c5 c5@3 a#4@2 ~@3 a#4 g#4@2 ~@2 c5@4, ~@6 d#5 ~@25]/2",
AF: "[c#5@4 [a#4,f5] f5!3 f5@2 f5 d#5@3 c#5 ~@2 c#5 f5 d#5@4 ~ g#5@3 g#5 f5@2 f5 f#5, ~@5 g#4@4 ~@6 c5@4 ~@13]/2", // A#5
AG: "[f5@4 ~ f5@5 c#5@4 f4 f#4@3 a#4@2 ~ g#4 a#4 g#4 c#5@2 c#5!2 c5@2 g#4 g#4@4 ~ f5!4 f5@2 f5 d#5@3 c#5 ~ d#5@4 a#4 g#4@4 ~@7, ~@47 c5@4 ~@13]/4",
AH: "[~@8 f5 d#5 c#5@4 c5 c5@2 a#4 a#4@2 ~ g#4!2 ~ g#4 g#4@3 f#4!2 f4 c#4@4 ~@7 g#4 ~ g#4@13 ~@7, ~@31 d#4 ~@32]/4",
})).s("gm_tenor_sax").gain(0.28)
// other · baritone sax
const baritone_sax = note(`<
~@18 A B C D E B F G ~@5 H I ~@7 J@2 K@4 L@2 M N O P Q R@2 S@4 T@2 U ~ V@2 W X Y@2 Z@2 AA@2 AB AC AD ~@3
>`.pickRestart({
A: "~@12 b4!4", B: "b4@2 b4 b4@3 b4 a#4@4 ~@5", C: "a#4@3 a#4@3 a#4!2 g#4@4 ~@4",
D: "g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~ f#4 g#4 f#4", E: "b4@2 b4!2 a#4@2 f#4 f#4@4 ~ b4!4",
F: "a#4@2 a#4 a#4@3 a#4@2 a#4 g#4@4 ~@3", G: "g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~@4", H: "~@14 c#5!2",
I: "c#5@2 c#5 b4 a4@2 g#4 g#4@5 e4@3 ~", J: "[~@4 b4!4 b4@2 b4 b4@3 b4 a#4@4 ~@5 a#4@3 a#4@3 a#4!2]/2",
K: "[g#4@4 ~@4 g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~ f#4 g#4 f#4 b4@2 b4!2 a#4@2 f#4 f#4@4 ~ b4!4 b4@2 b4 b4@3 b4 a#4@4 ~@5 a#4@2 a#4 a#4@3 a#4@2]/4",
L: "[a#4 g#4@4 ~@3 g#4 a#4 b4@4 d#4 e4@3 g#4@2 ~@12]/2", M: "~@4 d5!2 c#5 c#5@2 b4 b4@2 g#4 f#4@2 ~",
N: "f#4 b4 b4@3 c#5@2 c#5@2 d#5@2 b4@3 ~@2", O: "~@4 d5@2 c#5 c#5@2 b4 b4@2 g#4 f#4@2 f#4",
P: "c#5@2 c#5 c#5@2 b4 d#5@2 c#5@4 ~ g#4 b4 c#5", Q: "d#5@3 d#5@2 c#5 f5@2 d#5@4 ~@4",
R: "[~@4 c#5!4 c#5@2 c#5 c#5@3 c#5 c5@4 ~@5 c5@3 c5@3 c5!2]/2",
S: "[a#4@4 ~@4 a#4 c5 c#5@4 f4 f#4@3 a#4@2 ~ g#4 a#4 g#4 c#5@2 c#5!2 c5@2 g#4 g#4@4 ~ c#5!4 c#5@2 c#5 c#5@3 c#5 c5@4 ~@5 c5@2 c5 c5@3 c5@2]/4",
T: "[c5 a#4@4 ~@3 a#4 c5 c#5@4 f4 f#4@3 a#4@2 ~ g#4 a#4 g#4 c#5@2 c#5!2 c5@2 g#4 a#4]/2", U: "g#4@3 ~@5",
V: "[~@8 c#5 a#4 g#4@4 f4 f#4@3 f#4@2 ~@3 a#4 g#4 ~@3 g#4@4]/2", W: "g#4@4 f#4 f4@4 ~@3 f4@2 g#4@2",
X: "c5@4 a#4 g#4@4 ~@7", Y: "[~@8 c#5 a#4 g#4@4 f4 f#4@3 f#4@2 ~@3 a#4 g#4@2 ~@2 g#4@4]/2",
Z: "[g#4@4 [f#4,c#5] c#5!3 c#5@2 c#5 c#5@3 c#5 c5@4 ~@5 c5@3 c5@3 c5!2, ~@5 f4@4 ~@23]/2", // F#5
AA: "[a#4@4 ~@4 a#4 c5 c#5@4 f4 f#4@3 a#4@2 ~@3 a#4 g#4@2 ~@2 c5@4]/2", AB: "c#5@4 a#4 g#4@4 ~@2 g#4 a#4@2 c#5@2",
AC: "d#5@4 a#4 g#4@4 ~@7", AD: "~@8 c#5 a#4 g#4@4 ~@2",
})).s("gm_baritone_sax").gain(0.28)
// other · piccolo
const piccolo = note(`<
~@14 A B C D@2 E F G H E I J ~@5 K L ~@2 M@2 N@2 ~ O@2 P@4 Q@2 ~@5 R@2 S@4 T@3 ~ U@2 V W X@2 Y@2 Z@2 AA@2 AB ~@3
>`.pickRestart({
A: "~@3 a4 b4@2 a4 b4@3 c#5@4 ~@2", B: "f#4@2 a4 a4@2 b4 a4 b4@3 c#5@4 ~@2",
C: "~@3 a4 c#5 e5 c#5 e5@3 b4 a4@2 ~ a4@2", D: "[f#5@2 e5@2 e5@2 c#5!2 b4@14 ~@6 b5!4]/2",
E: "b5@2 b5 b5@3 b5 a#5@4 ~@5", F: "a#5@3 a#5@3 a#5!2 g#5@4 ~@4", G: "d#5 e5 f#5@4 d#5 e5@3 e5@2 ~ d#5 e5 d#5",
H: "f#5@2 f#5 f#5@3 d#5 d#5@4 ~ b5!4", I: "a#5@2 a#5 a#5@3 a#5@2 a#5 g#5@4 ~@3", J: "d#5 e5 f#5@4 d#5 e5@3 e5@2 ~@4",
K: "~@14 a5!2", L: "a5@2 a5 f#5 e5@2 g#5 g#5@5 e5@3 ~", M: "[~@11 a5 b5@2 a5 b5@3 c#6@3 ~@11]/2",
N: "[~@12 f#5 a5 f#5 a5@3 e5 c#5@2 ~@11]/2", O: "[~@4 b5!4 b5@2 b5 b5@3 b5 a#5@4 ~@5 a#5@3 a#5@3 a#5!2]/2",
P: "[g#5@4 ~@4 d#5 e5 f#5@4 d#5 e5@3 e5@2 ~ d#5 e5 d#5 f#5@2 f#5 f#5@3 d#5 d#5@4 ~ b5!4 b5@2 b5 b5@3 b5 a#5@4 ~@5 a#5@2 a#5 a#5@3 a#5@2]/4",
Q: "[a#5 g#5@4 ~@3 d#5 e5 f#5@4 d#5 e5@3 e5@2 ~ d#5 e5 d#5 f#5@2 f#5 f#5@3 ~@2]/2",
R: "[~@4 c#6!4 c#6@2 c#6 c#6@3 c#6 c6@4 ~@5 c6@3 c6@3 c6!2]/2",
S: "[a#5@4 ~@4 f5 f#5 g#5@4 f5 f#5@3 f#5@2 ~ f5 f#5 f5 g#5@2 g#5 g#5@3 f5 f5@4 ~ c#6!4 c#6@2 c#6 c#6@3 c#6 c6@4 ~@5 c6@2 c6 c6@3 c6@2]/4",
T: "[c6 a#5@4 ~@3 f5 f#5 g#5@4 f5 f#5@3 f#5@2 ~ f5 f#5 f5 g#5@2 g#5 g#5@3 f5 f5@7 ~@10]/3",
U: "[~@8 g#5 f#5 f5@4 f5 f#5@3 f#5@2 ~@4 f5 ~@3 d#5@4]/2", V: "f5@4 d#5 c#5@4 ~@3 c#5@2 g#5@2",
W: "g#5@4 f5 d#5@4 ~@7", X: "[~@8 g#5 f#5 f5@4 f5 f#5@3 f#5@2 ~@4 f5@2 ~@2 d#5@4]/2",
Y: "[f5@4 [d#5,c#6] c#6!3 c#6@2 c#6 c#6@3 c#6 c6@4 ~@5 c6@3 c6@3 c6!2, ~@5 c#5@4 ~@23]/2", // D#7
Z: "[a#5@4 ~@4 f5 f#5 g#5@4 f5 f#5@3 f#5@2 ~ f5 f#5 f5 [f5,g#5]@2 g#5 ~@3 f5!2, ~@27 g#5@3 ~@2, ~@7 d#5]/2", // Fm
AA: "[f5@4 [d#5,c#6] c#6!3 c#6@2 c#6 ~ c#5@2 c#6 ~ g#5@4 f5 d#5@4 ~@7, ~@5 c#5@4 ~@2 c#6@3 g#5@2 ~@16, ~@15 c6@4 ~@13]/2", // D#7
AB: "~@8 g#5 f#5 f5@4 ~@2",
})).s("gm_piccolo").gain(0.24)
// chords · piano
const piano = note(`<
~ A@5 B C D E B F G H I J I K@2 L M N@2 L M O@6 P Q@3 R S T S U V W X Y V W X Y ~@6 Z AA AB AC Z AA AB AD Z AA AB AC Z
AA AB AC Z AA AB AC AE AA AF@2 ~
>`.pickRestart({
A: "[~@6 b4@4 c#4 f#5@3 [g#4,e5]@3 [f#4,d#5]@2 f#2 ~@3 a#3@3 f#3 [a#4,f#5]@3 ~ [g#4,e5]@3 [f#4,d#5]@2 ~ d#3 a#3 b3 ~@4 d#4@3 [c#4,a#4]@3 f#4@2 ~@2 e3 g#3 e3 ~ e3 e4 ~ b3 ~ e3 ~ f#3 b3@2 a#3@12, ~@2 b2@17 ~ f#2@16 [g#2,g#4]@17 ~@9 [f#2,c#4]@18, ~@2 d#5@15 ~@2 c#5@17 b4@8 b4@8 ~@28, ~@3 f#3@2 d#4@2 ~@4 b4@8 ~@2 f#3 g#3@2 ~@16 [c#4,f#4]@6 ~@6 [e2,g#4]@9 ~@19, ~@4 c#4@2 f#4@11 ~@2 f#4@15 ~@18 b3@5 b3@4 ~@19]/5", // C#m D#m C#m D#m F# G# F#5 E
B: "a3@2 a3@2 a3@2 ~ e4 a3@2 a3@2 ~@2 e4@2, [a2,e3], [c#4,a4]!3 ~, ~@3 a3 ~@2 [a3,c#4,a4]@2", // A5 F#m A
C: "g#3!6 [g#3,b3] g#3, [e2,e3], [b3,e4]!3 e4", // G#m E E5
D: "[a3,c#4,a4]@4 [a3,c#4,a4]@4 [a3,c#4,a4]@3 f#3 ~@2 f#3@2, f#2, f#3@11 ~ [a3,c#4,a4]@4", // A
E: "[f#3,a3,d4]@2 [f#3,a3,d4]@2 ~ a4 [g#3,b3,e4,g#4]@2, d2 e2, ~@2 [g#3,b3,e4] ~", // D E
F: "g#3!5 ~ [g#3,b3] [g#3,g#4], [e2,e3], [b3,e4]@4 [b3,e4]@4 [b3,e4]@3 f#4@3 ~@2, ~@10 g#3@2 e4 ~@3", // G#m G# E E5
G: "[f#3,a3,c#4,a4]@4 [f#3,a3,c#4,a4]@4 [f#3,a3,c#4,a4]@3 f#3 f#3@2 [f#3,e4]@2, f#2, ~@3 [a3,c#4,a4]", // F#m F#7 A
H: "[d2,f#3,a3,d4]@4 [d2,f#3,a3,d4]@4 [d3,d4,a4] [e3,e4,a4] [f3,f4,a4]@6", I: "[f#3,a3,d4]!2 [g#3,b3,e4]!2, b2 c#3",
J: "[f#3,a3,d4]@4 [f#3,a3,d4]@4 [f#3,a3,d4]@4 [d3,f#3,a3,d4] [c#3,e3,a3,c#4]@3, d3 ~", // D A
K: "[[f#3,a3,d4]@4 [f#3,a3,d4]@4 [a3,b3,e4]@4 [a3,b3,e4]@4 [g#3,b3,e4]@4 [g#3,b3,e4]@4 ~@4 [f#4,b4]@3 c#4, d3 e3@2 [b2,d#3,f#3,b3,d#5]]/2", // D Asus2 E B5 B
L: "f#5@3 [g#4,c#5,e5]@3 [f#4,b4,d#5]@2 [f#2,c#3,f#3,a#3,f#4,c#5]@8, [b4,d#5]@3 ~@5", // C#m B F# B
M: "[a#4,c#5,f#5]@3 [g#4,b4,e5]@3 [f#4,a#4,d#5]@2 [g#3,d#4,g#4,b4]@8", // F# E D#m G#m
N: "[[g#2,g#4,b4] [a#2,a#4,c#5] ~@3 f#4@3 b3@2 b3@2 ~@4 [f#2,f#4,b4,d#5]@4 [f#2,f#4,a#4,c#5]@4 ~@4 [f#4,b4]@3 c#4, ~ [b2,b4,d#5]@3 e2@4 ~@4 [b2,d#3,f#3,b3,d#5]@4, ~@8 e4@5 b3@2 b3@2 ~@15, ~@4 g#4@2 g#4 e4 ~@8]/2", // G#m A#m B F# B5 B
O: "[[g#2,g#4,b4] [a#2,a#4,c#5] ~@3 f#4@3 b3@2 b3@2 ~@4 [f#2,f#4,b4,d#5]@4 [f#2,f#4,a#4,c#5]@4 b3@4 ~@2 d#4 f#4 c#4 d#4@5 g#3@2 [a2,e3,a3,c#4,a4]@16 ~@11 f#4@3 g#4@2 ~@4 f#4@2 a4@6 e4@4 [d2,f#3,a3,d4]@8, ~ [b2,b4,d#5]@3 e2@4 ~@4 [b1,b2,c#5]@8 ~@8 [e2,e3,g#3,b3,e4]@8 [f#2,f#3,a3,c#4]@8 ~@4, ~@8 e4@5 b3@2 b3@2 ~@12 b3@3 f#4@4 ~@60, ~@8 g#4@4 g#4@2 e4@2 ~@8 [d#4,f#4]@7 ~ b4@8 ~@32 a4@6 ~@18]/6", // G#m A#m B F# A D B Bsus2 …
P: "~ a4 g#4@2 [a2,e3,a3,c#4,a4]@4, [e2,g#3,b3,e4] ~", // A E
Q: "[[a3,c#4,c#5] [a3,c#4,a4] ~@2 a4 g#4 ~@2 g#4 e4 [d2,f#3,a3,d4]@2, ~ [e2,e3,g#3,b3,e4]@2 [f#2,f#3,a3,c#4,a4]@2 ~]/3", // A D E F#m
R: "[d2,d3,d4,a4] [e2,e3,e4,a4] [f2,f3,f4,a4]@6 [b2,f#3,a3,d4]@8", S: "[c#3,g#3,b3,e4] [d3,f#3,a3,d4]",
T: "[f#3,a3,d4]@4 [d3,f#3,a3,d4] [c#3,e3,a3,c#4]@3 [b2,f#3,a3,d4]@8", U: "[e3,a3,b3,e4]",
V: "~@4 [f#4,b4]@3 c#4 f#5@3 [g#4,c#5,e5]@3 [f#4,b4,d#5]@2, [b2,d#3,f#3,b3,d#5]@4 [b4,d#5]@3 ~", // B5 C#m B
W: "[f#2,c#3,f#3,a#3,f#4,c#5]@8 [a#4,c#5,f#5]@3 [g#4,b4,e5]@3 [f#4,a#4,d#5]@2", // F# E D#m
X: "[g#3,d#4,g#4,b4]@8 [g#2,g#4,b4] [a#2,a#4,c#5] ~@3 f#4@3, ~@5 [b2,b4,d#5]@3", // G#m A#m B
Y: "b3!2 ~@2 [f#2,f#4,b4,d#5]@2 [f#2,f#4,a#4,c#5]@2, e2 ~, e4@5 b3@2 b3@2 ~@7, g#4@2 g#4 e4 ~@4", // B F#
Z: "[g#2,d#3,g#3,c4,g#4,d#5]@8 [c5,d#5,g#5]@3 [a#4,c#5,f#5]@3 [g#4,c5,f5]@2", // G# F# Fm
AA: "[a#3,f4,a#4,c#5]@8 [a#2,a#4,c#5] [c3,c5,d#5] ~@3 g#4@3, ~@5 [c#3,c#5,f5]@3", // A#m Cm C#
AB: "c#4!2 ~@2 [g#2,g#4,c#5,f5]@2 [g#2,g#4,c5,d#5]@2, f#2 ~, f#4@5 c#4@2 c#4@2 ~@7, a#4@2 a#4 f#4 ~@4", // C# G#
AC: "~@4 [g#4,c#5]@3 d#4 g#5@3 [a#4,d#5,f#5]@3 [g#4,c#5,f5]@2, [c#3,f3,g#3,c#4,f5]@4 [c#5,f5]@3 ~", // C#5 D#m C#
AD: "c#2 d#2 f2 f#2", AE: "[g#2,d#3,g#3,c4,g#4,d#5]!2 [a2,c3,a3,c4,a4,d#5] [a2,c3,a3,c4,a4,c5]",
AF: "[c#4@2 c#4@2 ~@2 f#4@2 ~ [g#2,g#4,c#5,f5]@6 [g#2,g#4,c5,d#5]@5 [c#3,f3,g#3,c#4,f5]@12, f#2@9 ~@23, f#4@5 c#4@2 ~ c#4@3 ~@21, a#4@2 a#4 ~@13]/2", // C# G# C#
})).s("gm_piano").gain(0.21)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@10 A B C D@2 E F G H I J K L I J K M N O P Q R O P Q S ~@4 T U V W T U V W X Y Z AA AB ~ AC AD AE AF AC AD AE AG AC
AD AE AF AC AD AE AF AC AD AE AF AH AD ~@3
>`.pickRestart({
A: "~ a3 c#4 e4@12 ~, a2", B: "~ g#3 b3 e4@12 ~, e3", C: "~ a3 c#4 f#4@12 ~, f#3",
D: "[~ f#3 a3 d4@5 [d3,f3,d4] [e3,c#4,e4] [f3,b3,f4]@8 f#3@2 d4@2 b3@2 c#3@2 e3@2 e4@2 a3@2, d3 ~@3]/2", // Dm C#m Fdim
E: "~@2 f#3@2 d4@2 a3@2 ~@4 [d3,f#4] [c#3,e4]@3", F: "~ f#3 d4 ~ c#3 e3 e4 a3", G: "d3 f#3 f#4 d4 e3 a3 e4 a3",
H: "~@8 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]!2", // B
I: "[b2,f#3,b3,d#4,f#4]!2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@3 [b2,f#3,b3,d#4,f#4] [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]!2", // B F#
J: "[f#2,c#3,f#3,a#3,c#4,f#4]!2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@3 [f#2,c#3,f#3,a#3,c#4,f#4] [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]!2", // F# G#m
K: "[g#2,d#3,g#3,b3,d#4,g#4] [a#2,d#3,g#3,b3,d#4,g#4] [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@3 [b2,f#3,b3,d#4,f#4] [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]!2", // G#m B E
L: "[f#2,c#3,f#3,a#3,c#4,f#4]!2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@3 [f#2,c#3,f#3,a#3,c#4,f#4] [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]!2", // F# B
M: "[f#2,c#3,f#3,a#3,c#4,f#4]!2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@3 [f#2,c#3,f#3,a#3,c#4,f#4] ~@8", // F#
N: "~@8 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]!2", // A
O: "[a2,c#3,e3,a3,e4,a4]!2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]!2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]!2", // A E
P: "[b2,e3,b3,e4,g#4]!2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]!2 [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4]!2", // E F#m
Q: "[f#2,c#3,f#3,a3,c#4,f#4]!2 [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4]@2 [f#2,c#3,f#3,a3,c#4,f#4]!2 [d3,f#3,a3,d4,f#4]@2 [d3,f#3,a3,d4,f#4]@2 [d3,f#3,a3,d4,f#4]@2 [d3,f#3,a3,d4,f#4]!2", // F#m D
R: "[b2,e3,b3,e4,g#4]!2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]!2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]@2 [a2,c#3,e3,a3,e4,a4]!2", // E A
S: "[b2,e3,b3,e4,g#4]!2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]!2 ~@8", // E
T: "[b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]!4 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@3 [b2,f#3,b3,d#4,f#4]", // B
U: "[f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]!4 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@3 [f#2,c#3,f#3,a#3,c#4,f#4]", // F#
V: "[g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]@2 [g#2,d#3,g#3,b3,d#4,g#4]!3 [a#2,d#3,g#3,b3,d#4,g#4] [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@3 [b2,f#3,b3,d#4,f#4]", // G#m B
W: "[b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]@2 [b2,e3,b3,e4,g#4]!2 [f#2,c#3,f#3,a#3,c#4,f#4]!2 [f#2,c#3,f#3,a#3,c#4,f#4]@2 [f#2,c#3,f#3,a#3,c#4,f#4]@3 [f#2,c#3,f#3,a#3,c#4,f#4]", // E F#
X: "[g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]!4 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]!2", // G
Y: "[b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]!2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4]@2 [b2,f#3,b3,d#4,f#4] [a2,c#3,e3,a3,c#4,e4]@3", // B A
Z: "[g2,d3,g3,b3,d4,g4]@4 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4] [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]@2 [g2,d3,g3,b3,d4,g4]!2", // G
AA: "[f#2,c#3,f#3,a#3,c#4,f#4]@4 [f#2,c#3,f#3,a#3,c#4,f#4]@3 [f#2,c#3,f#3,a#3,c#4,f#4] [f#2,c#3,f#3,a#3,c#4,f#4]@4 [f#2,c#3,f#3,a#3,c#4,f#4]@4", // F#
AB: "[g#2,d#3,g#3,c4,d#4,g#4]@3 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4] [g#2,d#3,g#3,c4,d#4,g#4]@2 ~@8", // G#
AC: "[g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]!4 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]@3 [g#2,d#3,g#3,c4,d#4,g#4]", // G#
AD: "[a#2,f3,a#3,c#4,f4,a#4]@2 [a#2,f3,a#3,c#4,f4,a#4]@2 [a#2,f3,a#3,c#4,f4,a#4]@2 [a#2,f3,a#3,c#4,f4,a#4]!3 [c3,f3,a#3,c#4,f4,a#4] [c#3,g#3,c#4,f4,g#4]@2 [c#3,g#3,c#4,f4,g#4]@3 [c#3,g#3,c#4,f4,g#4]", // A#m C#
AE: "[c#3,f#3,c#4,f#4,a#4]@2 [c#3,f#3,c#4,f#4,a#4]@2 [c#3,f#3,c#4,f#4,a#4]@2 [c#3,f#3,c#4,f#4,a#4]!2 [g#2,d#3,g#3,c4,d#4,g#4]!2 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]@3 [g#2,d#3,g#3,c4,d#4,g#4]", // F# G#
AF: "[c#3,g#3,c#4,f4,g#4]@2 [c#3,g#3,c#4,f4,g#4]@2 [c#3,g#3,c#4,f4,g#4]@2 [c#3,g#3,c#4,f4,g#4]!4 [c#3,g#3,c#4,f4,g#4]@2 [c#3,g#3,c#4,f4,g#4]@3 [c#3,g#3,c#4,f4,g#4]", // C#
AG: "c#2 d#2 f2 f#2, [c#3,g#3,c#4,f4,g#4]", // C#
AH: "[g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]@2 [g#2,d#3,g#3,c4,d#4,g#4]!2 [a2,d#3,a3,c4,d#4,a4]!2 [a2,d#3,a3,c4,d#4,a4]@2 [a2,d#3,a3,c4,d#4,a4]@3 [a2,d#3,a3,c4,d#4,a4]", // G# Adim
})).s("gm_acoustic_guitar_steel").gain(0.07)
// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note("<~@13 A B C B D E ~@12 F ~@3 G H@2 I J ~@36 K@3>".pickRestart({
A: "~ a3, ~@7 d3@8 ~", B: "[b2,f#3,b3,d4,f#4]", C: "[d3,f#3,a3,d4,f#4]", D: "~ [b2,b3,a4]", E: "[b2,e3,b3,e4,g#4] ~",
F: "a4 ~@3", G: "[a2,d3,f3,a3,d4,f4] [a2,d3,f3,a3,d4,f4]@3 [b2,f#3,b3,d4,f#4]@4",
H: "[[c#3,g#3,c#4,e4,g#4]@4 [c#3,g#3,c#4,e4,g#4]@4 [d3,f#3,a3,d4,f#4]@12 [a2,d3,a3,d4,f#4] [c#3,g#3,c#4,e4]@3 [b2,f#3,b3,d4,f#4]@8]/2", // C#m D C#m Bm
I: "[c#3,g#3,c#4,e4,g#4] [f#2,d3,f#3,a3,d4]", J: "[b2,e3,b3,e4,a4] [b2,e3,b3,e4,g#4]",
K: "[[c#3,f#3,c#4,f#4,a#4]@8 ~ [g#3,c4,d#4,g#4]@11 ~ [f4,g#4]@26 ~, ~@4 [g#2,d#3]@6 [c#3,g#3,c#4]@13 ~]/3", // F# G# Fm G#5 C#5
})).s("gm_acoustic_guitar_steel").gain(0.18)
// bass · electric bass finger
const bass = note(`<
~@18 A B C D E B C D F G H I J K H I L M N O P@3 Q R S T Q R S U V W X Y ~ Z AA AB AC Z AA AB AD AE AA AB AC Z AA AB
AC Z AA AB AC AF AA AG@2 ~
>`.pickRestart({
A: "~@4 b1 b1@3", B: "b1 b1@3 f#1@4", C: "f#1 f#1@3 g#1 g#1@3", D: "g#1 a#1 b1@6 e1@2 e1@4 e1@2", E: "f#1@4 b1 b1@3",
F: "f#1 ~", G: "~ a1", H: "a1@2 a1@3 a1 a1@2 e1@8", I: "e1 e1@2 e1 f#1@4", J: "f#1 f#1@2 e1 d2@2 ~ d2",
K: "e2 ~@2 e2 a1@4", L: "f#1 f#1@2 c#2 d2@2 ~@2", M: "d2 e2 f2@6 b1@8", N: "c#2 d2", O: "d2@2 d2@2 d2 c#2@3 b1@8",
P: "[c#2@4 d2@2 d2 ~@5 e1@2 f#1 b1@2 b1@3 b1@4, ~@7 e2@9 ~@8]/3", Q: "f#1", R: "g#1@2 g#1@6 g#1 a#1 b1@6",
S: "e1 f#1", T: "b1 b1@3 b1@4", U: "g1@2 g1@5 g1 g1@2 g1@4 a1@2", V: "b1@2 b1@5 b1 b1@2 b1@4 a1@2",
W: "g1@2 g1@5 g1 g1@2 g1@4 g1@2", X: "f#1@2 f#1@5 f#1 f#1@2 f#1 f#2 g#2 f#2 d#2 c#2",
Y: "g#1@2 g#1 a#1 c2 d#2 g#2 a#2 g#2@4 ~@4", Z: "g#1@4 g#1 g#1@3", AA: "a#1@2 a#1@6 a#1 c2 c#2@6",
// … 142 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.