0:00/0:00
// I'll Never Forgive My Heart — Brooks & Dunn
// 81 bpm, 4/4, key D# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 67 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): MUTED GTR, STEEL GTR.
setcpm(81/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.
// chords · piano · "A.PIANO 2"
const piano = note(`<
~ A B C D E F G H@2 I J K L M@2 N O P@2 Q R S@2 T U V@2 W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ@2 AK AL AM@3 AN AO@2
AP AQ AR AS@2 AT AU AV@2 AW@6
>`.pickRestart({
A: "[eb3,ab3]@5 ~@3 ab5 [bb5,eb6] ~ ab5, c4@9 ~ eb6@2, ~@5 [eb3,ab3]@4 [eb3,ab3]@3, ~@7 [bb5,c6]", // Ab5 Eb5 Ab5 Bbsus2
B: "[c6,eb6]@3 bb5 [c6,eb6]@9 ~@3 ab3@2 ~@4 c4@2, [eb3,ab3,c4]@13 ~@3 eb3@8, bb5 ~@17 c4@4 ~@2, ~@5 ab3", // Cm Ab
C: "[eb3,bb3]@6 ~@2 eb5 f5 ~ eb5, g3@5 ~ [eb3,g3]@3 [eb3,g3]@3, ~@18 bb5 ~ bb5@4, ~@7 [f5,g5]", // Eb5 Eb Fsus2
D: "[g5,c6]@3 f5 [g5,c6]@6 bb3@2 c4@4 bb3@3 ~ g3@4, [c3,g3]@11 ~@13, f5 ~@23", // C5
E: "~@6 c4@3 ~@2 eb5, [eb3,f3,a3,c4] [eb3,f3,a3], ~@5 g5@7, ~@3 eb5@2 d5, ~@3 c4", // F7
F: "[eb3,f3,a3,c4,a4,c5,eb5]@10 [f3,a3,f4,a4] [g3,bb3,g4,bb4], [b4,d5] ~@23", // F7 F Gm Bm
G: "[c4,ab4,c5]@3 [c4,c5,eb5]@3 [ab3,c4,eb4,eb5,ab5]@3 [eb5,ab5] ~ c6, ab3 c5, ~ ab4@3, ~@3 [ab3,c4,eb4], ~@9 c6 eb6@2", // Fm Cm Ab Ab5 Ab
H: "[[f5,d6]@5 ~ d6@2 d6@2 d6@2 d6@6 [eb5,b5] ~ f5@2 [f5,c6]@2 [d5,bb5]@4 ~@20, [bb3,f4]@9 [bb3,d4,f4]@5 ~@10, d4 ~@2, bb5@11 ~@7 c6@2 d6@4 ~@24]/2", // Dm Abm F5 Gm Bb5 Bb
I: "[eb4,ab4]@9 ~ ab3 c4, c5, c4@11 ~, ab3@5 ~, ~@3 [eb4,ab4]", // Ab5
J: "ab3@2 ~@3 ab3@3 ~@3 ab4, eb4@4 eb4@5 eb4@3, c4 c4@3, ~@2 ab3@3 ~@3 ab3@4",
K: "~@2 bb3@6 ~@3 g4, g4@11 ~, eb3@3 [eb3,g3], g3@5 ~@5 bb4@2", // Eb
L: "~@11 e4, e4 g3@3 g3!2, ~ c3@8 c3@3, ~ g4@3, ~@5 c4@7",
M: "[~@12 f4 ~@7 [f3,a3]@4, f4@11 f5@2 ~@11, [f3,a3]@9 [f3,a3]@3 [f3,a3]@8 ~@4, ~ eb4@5 ~ f4@5, ~@10 c5@2 ~ c5@11]/2", // F
N: "c4 ~@9 eb3@10 ~@2 [c4,eb4]@2, ab2@5 [ab2,eb3], eb4@2 c4@9 ~, ~ eb3@2 ab4@9, ~@5 eb4@6 ~", // Cm Ab5
O: "[d4,f4]@4 ~@6 f3@2 [f3,bb3,d4,f4]@11 ~, bb2@4 bb2@3 ~, f3 [d4,f4] ~@2, ~ bb3@2 ~@3", // Dm Bb Dm
P: "[[ab2,eb3,c4,eb4]@9 ~ c5 b4 bb4 ~ eb4@3 c4@3 ~@3 ab4, ~@9 ab3@8 ~@3 [ab3,c4]@4, ~@18 [c4,eb4]@7 ~ c4@6 ~@2 eb4@8 eb4@6, ~@20 b4 ~@5 ab4@20 ~@2]/2", // Ab Cm
Q: "~@16 g3@2 ~@2 bb3@2 eb4 ~, [eb3,eb4,bb4]@19 ~@5, g3@8 ~ [eb3,g3]@3, bb3@7 ~@5, ~@10 g4@9 ~@5", // Eb5 Eb
R: "~@11 g4, g4@5 eb4, eb4@3 bb3, bb3@2 g3 bb3 g3@2, ~@8 eb3@15 ~",
S: "[eb4@6 ~@8 a3@3 ~@7 [f3,a3,c4]@4 [a3,c4,eb4]@2 eb5@2 a4@2 [eb5,g5]@2 [f3,a3,eb4,d5,f5]@6 [eb4,a4,eb5]@6, a4@9 a4@4 ~@11, [f3,a3]@14 [f3,c4]@10 ~@6 f3@6 ~@6 [f3,a3]@3 ~@3, ~@6 c5@23 ~@19, ~@3 eb4@6 ~@6 [a3,eb4,g5]@2 ~@7]/2", // F Adim Eb Dm Ebdim F F5 F …
T: "[ab3,c4]@6 ~@2 [ab4,c5]@2 [bb4,d5]@2 [ab3,c5,eb5]@5 ~@3 eb4@4, eb5@5 ~@7, c5@4 ~@5 ab4@2 ~, ~@3 eb4@3 [c4,eb4]@4 ~@2", // Ab Bb Ab Cm
U: "[bb3,d4,bb4,d5,f5]@11 ~ [g3,eb4,g4,bb4,eb5]@6 [d4,f4,bb4,d5]@6", // Bb Eb Bb
V: "[[eb4,ab4,c5]@5 ~@11 c4@2 ~@2 bb3@2 c4@2 bb3@3 ~@19 eb4@2, [ab3,c4]@4 eb4 ~ eb4@5 ab3, ~@3 ab3@4 eb3, ~@7 c4@5, ~@5 ab2]/2", // Ab
W: "~@16 eb4@2 g4@2 bb3@2 eb4 ~, [eb3,g3]@5 ~, eb4@2 ~, ~@7 bb4@2 ~@3", // Eb
X: "~@11 bb3, e4@5 e4, c3@2 c3, ~ g3@8 g3@3, ~@2 bb3@9 ~",
Y: "~@6 a3@3 ~@13 [f3,a3]@2, [f2,eb4], ~ c3@9 c3@2, ~@2 f3@3 c4@7", // F F7
Z: "~@5 ab3 ~@4 d4@2, [c4,eb4]@3 [bb3,d4,f4]@2 ~, ~@2 ab3@3 ~@7, ~ ab2 bb2@2, ~@4 eb3@2 ~@3 f3@3", // Cm Bb
AA: "[eb3,g3]@2 [bb3,eb4] ~ g3 [bb3,eb4] ~ g3 [bb3,eb4] ~ g3 [bb3,eb4], ~@6 f3@5 ~ f3@5 ~ f3@6", // Eb Eb5
AB: "[eb2,bb2,eb3,g3]@23 ~", // Eb
AC: "[[ab3,c4,eb4]@8 ~@3 bb3 ~@11 eb4, ~ ab2@2, ~@9 eb3@11 eb3@4, ~@10 ab3@11 ab3@3, ~@6 c4@5 c4]/2", // Ab
AD: "~@5 g3 [eb3,g3,eb4,g4,bb4]@3 [db3,b3,f4,ab4]@3, [eb3,eb4,g4] ~, g3@5 ~@7, ~ bb3 ~@2", // Eb Db7 Eb
AE: "[c3,g3,bb3,e4]@3 [e5,bb5,c6] [c6,e6] [bb5,g6], g4@2 ~", // C7 C Eb
AF: "[a5,f6] ~ [a5,f6] ~ f6 a5 ~@4 g6@2 ~@4 f5@2 ~@4 [bb5,d6]@2, [f3,a3,c4]!2, ~@3 a5@2 ~ f6@6 [c6,eb6]@6 [bb5,d6]@4 ~@2, ~@5 f5", // Dm Bb F Cm Bb
AG: "ab5 ~@9 c5@2 ~@4 [a5,c6]@2 [a3,c4]@2 ~@2 d5@2, [f3,a3,c4,eb4,a5,c6]@4 f3@3 ~, ~@2 [a3,c4] eb4, ~@3 [a5,c6] ~ [bb5,d6], ~@14 c5@4 c5 ~@5", // Am F7 Am Bb
AH: "~@2 [c6,eb6] eb5 c6!2 eb5 [c6,eb6] [eb5,c6] ~@2 eb5 ~@4 [ab3,c4,eb4,eb5]@2 ~@4 [g5,eb6]@2, [ab3,c4,eb4]@8 ~ [ab3,c4,eb4,bb5,g6]@3, [c6,eb6]@2 ~ eb6@2 eb6@2 ~ eb6@2 c6@8 ~@6, ~ eb5@2 ~ eb5@2 ~@3 eb5@2 ~@13, ~@5 eb6@3 ~@2 f6@2", // Cm Ab Cm Ab Abmaj7 Cm
AI: "f5@4 [f5,f6]@8 [bb5,f6,bb6]@5 ~ [bb5,f6,bb6]@4 ~@2, [bb3,d4,f4,d6] ~, c6 ~@23", // F Bb5 Bb
AJ: "[~@20 c4 [ab3,c4,eb4]@3, ~ ab2@11, ~@3 eb3@5 c4@11 ab3@2 ~@3, ~@4 ab3@7 eb3@13, ~@5 bb3 eb4@15 ~@3]/2", // Ab
AK: "g3@5 ~@3 [eb4,g4]@4, eb3, bb4@2 eb5 ~, eb4@5 bb3 eb4 bb4@5, ~@5 g3@7", // Eb
AL: "~@11 g4, [eb3,g3] bb4@2, ~ g4@9 eb4@2, ~ eb4@3 [eb3,g3]@2, ~ bb3@2 bb3", // Eb
AM: "[[a3,eb4,a4]@8 [eb4,f4]@9 ~ [a3,c4,a4]@4 c4@2 ~@4 f4@6 ~@14 ab3@4 ~@4 c4@2 ab2@8 ab2@2 ~@2 [ab3,c4,eb4]@2, f3@10 ~@8 [f3,f5]@6 [f3,c4]@10 f3@6 eb4@4 eb4@11 ~@17, f4@6 ~@2 c5@10 ~@4 [a4,eb5]@6 c5@14 a3@5 ~ [ab2,eb3]@10 eb3@10 [ab2,eb3]@4, ~@24 a3@8 ~@4 a4@7 ~@11 bb3@4 ~@14, ~@38 f4@9 ~@5 ab3@6 [ab3,c4,eb4]@12 ~@2]/3", // Adim Ebsus2 Am Ab F F5 Adim Ab5 …
AN: "[bb2,f3,d4,f4]@5 f3 [eb3,bb3,eb4,g4]@3 [bb2,bb3,d4,f4]@3, bb3 ~", // Bb Eb Bb
AO: "[[ab3,c4,eb4]@13 ~@3 c5@2 [eb4,bb4]@4 eb4@10 ~@2 ab4@2 eb4@2 ~@8 c5@2, ab2@3 ab3@3 [ab3,ab4]@2, ~@7 [ab4,eb5]@2 c4@8 ~ c4@3 c4@3, ~@11 ab4@6 ~ c5@5 ~, ~@8 eb4 ~ eb4!2]/2", // Ab Eb5 Ab Ab5
AP: "eb3@7 ~@4 bb4, bb4@5 [eb4,g4], eb4@3 bb3, bb3@2 g3, g3@7 eb3@5", // Eb
AQ: "[bb3,e4,g4,bb4]@3 ~@2 g3 [g3,e4,e5,c6]@2 [g3,e4,e5,bb5]@2 [g3,e4,bb4,g5]@2, c3 ~, g3@5 ~@7, ~ [bb3,e4,g4,bb4] ~@2", // Edim C Edim
AR: "~@11 f5, f5@5 [eb4,a4,eb5], a4@2 a3, c4@7 f3@5, [f3,a3]@5 eb4@4 c4@3", // Ebdim F
AS: "[[eb4,ab4]@3 [eb4,ab4,c5]@3 d4@3 ~ f4@2 g4 f4 ~@3 g3 ~ g3!2 [b3,f4,ab4]@3, [ab3,c4,eb5] bb3 eb3 ~, ~@3 [f4,bb4]@2 bb4@4 ~@3, ~@9 d4@3 g3@4 ~@8, ~@14 eb4@4 [eb4,g4,bb4]@3 ~@3]/2", // Ab5 Ab Fdim Ab Bb5 Eb
AT: "~@5 e4 g3 ~@3 c5@2, g4@7 g3 c5 g3@3, e4@2 g3 [e4,bb4]@3, bb3 bb3@2, ~ c3@3", AU: "[f3,a3,c4,f4,c5]",
AV: "[[ab3,c4,eb4,ab4,c5,eb5]@17 ~ [bb3,d4,f4,bb4,d5]@23 ~@7]/2", // Ab Bb
AW: "[~@28 [f3,bb3]@2 [g3,bb3]@4 [bb3,eb4]@2 eb4@4 [eb4,g4]@2 [ab2,eb3,ab3,c4,f4]@10 [ab2,eb3,ab3,c4,f4]@2 [ab2,eb3,c4,eb4]@10 ~@2 [d4,c5]@5 ~ bb4@6 [d4,ab4]@6 f4@6 [eb2,eb3,g4]@36 ~@18, ~@22 eb4@7 ~@37 bb4 ~@5 ab4 ~@5 g4 ~@65, ~@23 bb3@5 ~@8 [bb3,c4]@6 ~@12 bb3 ~@23 bb3@9 ~@57, ~@24 [eb3,g3]@6 f3 ~@35 [bb2,f3,bb3]@12 [bb2,f3]@13 ~@53]/6", // Bb5 Gm Eb5 Eb Fm7 Ab D7 Ddim …
})).s("gm_piano").gain(0.38).pan(0.4)
// chords · piano · "A.PIANO 2" · soft notes
const piano_soft = note(`<
~@3 A ~@3 B C ~ D ~ E ~@2 F G ~@2 H I ~@2 J K ~ L ~@4 M ~@6 N ~ O ~@2 P ~ Q R S ~ T ~ U ~@12 V@3
>`.pickRestart({
A: "~@5 g3 ~@6", B: "~@3 eb4@3 ~@4 [eb5,ab5]@2", C: "~@4 f5 f5@2 f5@2 f5@2 f5@2 ~@3 d4@2 ~@6, ~@5 d6 ~@7 f5@5 ~@6",
D: "~@11 ab3", E: "~@5 g3@3 bb3@4, ~@8 g3 ~@3", F: "~@5 a4", G: "~@8 ab3@2 ab3!2", H: "~@4 c4 ab3@3 ~@4",
I: "~@14 bb3@5 ~@5", J: "~@8 a4 ~@3", K: "~@5 c4", L: "~@5 eb4@3 ~@4", M: "~@5 [bb3,f4]", N: "~ [eb4,a5] ~@2",
O: "~@6 eb5@2 eb6 ~@3", P: "~@5 ab3@2 ~@5", Q: "~@9 eb4 ~@2", R: "~@5 c4@4 ~@2 a3", S: "~@8 a3@7 ~@9",
T: "~@5 [bb2,d4,f4] ~@6", U: "~@5 c4 ~@6", V: "[d4@6 ~@12 bb3@37 ~@17]/3",
})).s("gm_piano").gain(0.22).pan(0.4)
// bass · fretless bass · "FRETLESS"
const bass = note(`<
~ A B C D E F G H I J K L M N O P Q R S T U V F W X Y Z AA AB AC AD AE AF Y AG AH AI V AJ AK Q Y AL AM AN AO AP AK X
AQ AL AR AS AT AU AH AV AW AX@2 ~ AY@5
>`.pickRestart({
A: "ab2@10 ~@2 eb2@11 ~", B: "ab2@11 ~ ab2@10 ~@2", C: "eb2@9 ~ eb2 ~ eb2@7 ~ bb1@2 b1@2", D: "c2@10 ~@2 c2@11 ~",
E: "f2@11 ~ c2@12", F: "f1@11 ~ f1@9 ~ g1@2", G: "ab1@11 ~ ab1@5 ~ ab1@2 bb1@2 c2@2", H: "bb1@6 f2@3 d2 eb2 f2",
I: "bb1 ~@5", J: "ab2 eb2", K: "ab2@11 ~ ab2@12", L: "eb2@12 eb2@7 ~ bb1@2 b1@2", M: "c2@11 ~ c2@10 ~@2",
N: "f1@11 ~ c2@12", O: "f1@11 ~ f1@11 ~", P: "ab1@11 ~ ab1@8 bb1@2 c2@2", Q: "bb1@8 ~@2 f1@2 bb1@5 ~ bb1@5 ~",
R: "ab1@8 ~@2 ab1@2 eb2@11 ~", S: "ab1@9 ~ ab1@2 ab1@5 ~ ab1@5 ~", T: "eb1@9 ~ eb1@2 bb1@11 ~",
U: "eb1@9 ~ c2@2 bb1@6 g1@6", V: "f1@9 ~ f1@2 c2@12", W: "ab1@9 ~ ab1@2 ab1@6 ~@2 bb1@2 c2@2",
X: "bb1@9 ~ bb1@2 eb1@6 bb1@5 ~", Y: "ab1@9 ~ ab1@2 eb2@11 ~", Z: "ab1@9 ~ ab1@2 ab1@7 ~ g1@2 f1@2",
AA: "eb1@4 ~ bb1 eb2@3 db2@3", AB: "c2@9 ~ c2@2 c2@10 ~@2", AC: "f1@10 f1 ~ f1@9 ~ g1@2",
AD: "ab1@7 ~ bb1@2 c2@2 bb1@12", AE: "eb1@9 ~ eb1@2 bb1@5 ~ bb1@2 c2@2 bb1@2", AF: "eb1@11 ~",
AG: "ab1@9 ~ ab1@2 ab1@11 ~", AH: "eb1@4 g1 bb1 eb2@3 db2@3", AI: "c2@9 ~ c2@2 c2@11 ~",
AJ: "f1@9 ~ f1@2 f1@7 ~ f1@2 g1@2", AK: "ab1@9 ~ ab1@2 ab1@7 ~ bb1@2 c2@2", AL: "ab1@9 ~ ab1@2 ab1@10 ~@2",
AM: "eb1@9 ~ eb1@2 bb1@10 ~@2", AN: "eb1@9 ~ c2@2 bb1@6 g1@5 ~", AO: "f1@9 ~ f1@2 c2@11 ~",
AP: "f1@9 ~ f1@2 f1@7 ~@3 g1@2", AQ: "ab1@4 ~ ab1 eb2@5 ~", AR: "eb1@6 eb2@4 eb1@2 eb1@7 ~ bb1@2 b1@2",
AS: "c2@9 ~ c2@2 c2@9 ~@3", AT: "f1@9 ~ f1@2 f1@12", AU: "ab1@9 ~ ab1@2 bb1@10 ~@2", AV: "c2@9 ~ c2 ~ c2@10 ~@2",
AW: "f1@9 ~ f1@2 f1@11 ~", AX: "[ab1@6 bb1@7 ~@3]/2",
AY: "[~@18 ab1@8 ~@2 ab1@2 ab1@8 bb1@2 c2@2 bb1@11 ~ bb1@5 ~ bb1@5 ~ eb1@51 ~@3]/5",
})).s("gm_fretless_bass").gain(0.44)
// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
~ A@2 B C D@2 E F G H I J K L M N O P@2 Q@2 R@2 S T U@2 V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL@2 AM AN AO AP
AQ@2 AR AS AT AU AV AW AX AY@2 ~ AZ BA@4
>`.pickRestart({
A: "[[c4,eb4,ab4]@4 ~@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 eb4@2 [ab3,c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [ab2,eb3,ab3,c4,eb4]@5 ~, [ab2,eb3] ~@3, ab3@6 ~@6 [eb3,ab3]@6 ~@4 ab3@8 ab3@6 [eb3,ab3]@6 ab4@3 ~@3]/2", // Ab Ab5
B: "eb4@2 [bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4] [bb3,eb4]@2 [bb3,eb4,g4] [bb3,eb4,g4]@2 ~, ~ g3 ~@2, ~@5 g4@3 ~@4", // Eb Eb5 Eb
C: "[bb3,e4]@2 [bb3,e4,g4] [e4,g4]@2 e4 [c3,bb3,e4]@2 [bb3,e4,g4] [bb3,e4,g4]@2 g4, ~ [g3,bb3] ~@2, ~@5 g4@3 ~@4", // Bbdim Edim Em C7 Edim Gm
D: "[[a3,c4,f4]@2 [f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4]@2 [c4,f4,a4] [f3,a3,c4,f4,a4]@2 ~, a4 ~@5 a3@3 a3@6 [f3,a3]@3 a3@3 ~@3]/2", // F F5 F F5 F
E: "[eb3,ab3,c4,eb4]@3 ~ [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4]@2 [c4,eb4]@4 [c4,eb4,ab4]@2 [eb3,ab3,c4,eb4,ab4]@4 ab4 ~, ~ ab3 ~@2, ~@5 ab4@3 ~@4", // Ab Cm Ab
F: "[d4,f4]@2 [f4,bb4] [d4,f4,bb4]@2 [d4,f4,bb4] [d4,f4,bb4]@2 [f4,bb4] [d4,f4,bb4]@2 [d4,f4,bb4], f3@11 ~, bb3 ~ bb3 ~", // Dm Bb5 Bb Bb5 Bb
G: "[bb3,d4,f4,bb4] ~@5", // Bb
H: "[c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4,ab4]@2 [c4,eb4,ab4], [eb3,ab3]!3 ab3", // Ab Cm Ab Ab5
I: "[c4,eb4,ab4]@2 [c4,eb4,ab4] [eb3,c4,eb4,ab4]@2 [eb3,c4,eb4,ab4] [c4,eb4]@2 [c4,eb4,ab4] [ab3,c4,eb4,ab4]@2 ~, ab3@3 ab3@3 eb3@5 ~, ~@2 ab3 ~", // Ab Cm Ab
J: "eb4@3 ~ eb4@2 [bb3,eb4,g4]@4 [bb3,eb4,g4]@6 [bb3,eb4,g4]@2 [g3,bb3,eb4]@4 [bb3,eb4] ~, eb3 ~, [g3,bb3]@2 g3@4 g4 ~", // Eb Eb5 Gm
K: "[bb3,e4,g4]@4 [bb3,e4,g4]@2 [bb3,e4,g4]@4 [bb3,e4]@2 [bb3,e4]@4 [bb3,e4,g4]@2 [bb3,e4,g4]@4 g4 ~, g3@3 ~, c3@3 ~@2 g4@3 ~@4", // Edim Bbdim Edim
L: "[c4,f4]@4 [f4,a4]@2 [c4,f4,a4]@4 [c4,f4,a4]@2 [c4,f4,a4]@4 [f4,a4]@2 [a3,c4,f4]@4 f4 ~, f3 ~, a3@2 a3@2 a3@2 a4 ~", // F5 F
M: "[c4,f4]@4 [f4,a4]@2 a4@3 ~ a4@2 [c4,f4]@4 [c4,f4,a4]@2 [c4,f4,a4]@4 f4 ~, a3@5 ~@7, ~ [c4,f4] ~@2", // F5 F F5 F F5
N: "[c4,eb4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 c4@2 c4@4 [c4,eb4,ab4]@2 [eb3,ab3,c4,eb4]@5 ~, ab3!2 [eb3,ab3] ~, ~@10 [eb4,ab4]@5 ~@3 ab4@3 ~@3", // Cm Ab Ab5
O: "[d4,f4]@4 [f4,bb4]@2 [bb3,d4,f4,bb4]@4 [f3,bb3,d4,f4,bb4]@2 [d4,f4,bb4]@4 [d4,f4,bb4]@2 [f3,bb3,d4,f4,bb4]@4 bb4 ~, [f3,bb3] ~ [f3,bb3] ~", // Dm Bb5 Bb Bb5
P: "[[ab3,eb4,ab4]@3 [c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4] [c4,eb4]@2 eb4 [ab3,c4,eb4,ab4]@2 [c4,eb4,ab4] [ab3,c4,eb4]@2 [c4,eb4,ab4] [eb4,ab4]@2 ~, c4@2 ~ ab3@3 ab3@3 ab3@6 ~@6 c4@3, ~@11 ab4@3 ~@10]/2", // Ab5 Ab Cm Ab Ab5
Q: "[[bb3,eb4]@4 [bb3,eb4,g4]@2 [eb4,g4]@4 eb4@2 bb3@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4]@2 [bb3,eb4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 bb3@4 [bb3,eb4,g4]@2 [g3,bb3,eb4]@5 ~, g3 g3@2 g3 g3 ~@3, ~ bb3 ~@6, ~@10 g4@6 ~@6 g4@6 ~@14 g4@3 ~@3]/2", // Eb5 Eb Eb5 Eb
R: "[[c4,f4]@2 [c4,f4,a4] [f4,a4]@2 [f4,a4] [c4,f4]@2 [a3,c4,f4,a4] [c4,f4,a4]@2 [c4,f4] [c4,f4]@2 [f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4]@2 [c4,f4,a4] [f3,a3,c4,f4,a4]@2 ~, a3 [a3,c4] ~ a3 a3!2 ~@2, ~@11 a4@3 ~@10]/2", // F5 F F5 F F5 F F5 F …
S: "~@2 [c4,eb4,ab4] [ab3,c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] [eb3,ab3,c4,eb4,ab4]@2 ~, [eb3,ab3] ~ eb3 ~", // Ab Ab5
T: "[bb3,d4,f4]@4 [d4,f4,bb4]@2 [f3,bb3,d4,f4]@4 [f4,bb4]@2 [bb3,eb4,g4]@4 [eb4,g4,bb4] ~ [f3,bb3,d4,f4,bb4]@4 [bb3,d4,f4,bb4] ~, f3@2 bb4 ~ bb4 ~@3", // Bb Bb5 Eb Bb
U: "[[c4,eb4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4]@4 [eb4,ab4]@2 [eb4,ab4]@4 [c4,eb4]@2 [eb3,ab3,c4,eb4]@4 [c4,eb4,ab4]@2 [eb3,ab3,c4,eb4,ab4]@4 [eb3,c4,eb4]@2 [c4,eb4]@4 [c4,eb4,ab4]@2 [ab3,c4,eb4,ab4]@4 [eb4,ab4] ~, ab3@3 ab3@3 ab3@5 ~@6 ab3@4 ~@3, ~@8 c4@3 ab4@3 ~@3 ab4@3 ~@4]/2", // Cm Ab Cm Ab5 Cm Ab Cm Ab …
V: "[g3,bb3]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4]@2 [bb3,eb4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4,g4] ~, eb4@3 ~@7 g4@6 ~@2 g3@6", // Gm Eb Eb5 Eb
W: "[bb3,e4]@3 ~ [bb3,e4,g4]@2 [bb3,e4,g4]@4 [bb3,e4]@2 [bb3,e4]@4 [bb3,e4,g4]@2 [bb3,e4,g4]@4 ~@2, g3@6 c3@5 ~, ~@5 g4@3 ~@4, ~@2 g3 ~", // Bbdim Edim Bbdim Edim
X: "[c4,f4]@4 [c4,f4,a4]@2 [a3,c4,f4,a4]@4 [c4,f4]@2 ~@4 [f3,a3,c4,f4,a4]@2 [f3,a3,c4,f4]@4 [c4,f4,a4] ~, a3@6 ~@4 a4@6 ~@2 a4@3 ~@3", // F5 F F5 F
Y: "[c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [eb3,ab3,c4,eb4]@4 [eb4,ab4] ~ [f3,d4]@4 [d4,f4,bb4]@2 [f3,bb3,d4,f4]@4 bb4 ~, [eb3,ab3]@2 ab4 ~ bb3@2 bb4 ~", // Ab Ab5 Dm Bb Ab5
Z: "[eb3,eb4]@2 [bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4,g4] [g3,bb3,eb4]@2 [bb3,eb4,g4] [g3,bb3,eb4,g4]@2 [bb3,eb4,g4], g3 ~@2 eb3", // Eb
AA: "[eb3,g3,bb3,eb4,g4]@19 ~@5", // Eb
AB: "[c4,eb4,ab4]@2 eb4 [eb3,c4,eb4]@2 [eb3,c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] [ab3,c4,eb4]@2 [ab3,c4,eb4,ab4], ab3@6 eb3@5 ~, [ab2,eb3]@3 ab2@8 ~, ~@2 ab4@3 ~@7", // Ab Cm Ab Ab5
AC: "[eb3,c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [eb3,ab3,c4,eb4,ab4]@4 ab4 ~, ab3 ~@3", // Ab Cm Ab
AD: "[bb3,eb4]@4 [eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [g3,bb3,eb4,g4]@4 g4 ~ [f3,ab3,db4]@5 ~, g3@5 ~@7", // Eb5 Eb Db
AE: "e4@2 [bb3,e4,g4] [bb3,e4,g4]@2 [bb3,e4,g4] [bb3,e4]@2 [bb3,e4,g4] [g3,bb3,e4,g4]@2 ~", // Edim Bbdim Edim
AF: "[c4,f4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [f3,c4,f4,a4]@2 [c4,f4,a4] [c4,f4]@2 [c4,f4,a4], a3!3 ~", // F5 F F5 F
AG: "[f4,a4]@4 [f4,a4]@2 [c4,f4,a4]@4 [c4,f4,a4]@2 [c4,f4,a4]@4 [a3,c4,f4,a4]@2 [a3,c4,f4,a4]@4 f4 ~, [a3,c4]@3 ~@2 a3@3 ~@4", // F Am
AH: "[c4,eb4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 ab4 ~, [eb3,ab3]@6 ab3@17 ~", // Cm Ab Ab5
AI: "[d4,f4]@2 [d4,f4,bb4] [d4,f4,bb4]@2 [d4,f4,bb4] [bb3,d4,f4,bb4]@2 [d4,f4,bb4] [d4,f4,bb4]@2 [d4,f4,bb4], [f3,bb3] bb3 f3 [f3,bb3]", // Dm Bb Bb5
AJ: "[c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] [c4,eb4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4], ab3@5 ~@4 ab3@3", // Ab Cm Ab
AK: "[ab3,c4,eb4]@4 [ab3,c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [ab3,c4,eb4]@2 [c4,eb4]@4 [c4,eb4,ab4]@2 [ab3,c4,eb4]@4 ab4 ~, ~@10 ab4@6 ~@2 ab4@3 ~@3, ~@2 ab3 ~", // Ab Cm Ab
AL: "[[eb4,g4]@3 ~ [bb3,eb4,g4]@2 [bb3,eb4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4]@2 eb4@4 [eb4,g4]@2 [bb3,eb4,g4]@4 [bb3,eb4,g4]@2 [bb3,eb4]@4 [bb3,eb4,g4]@2 [bb3,eb4,g4]@4 [eb4,g4] ~, g3@3 ~@8 g4@3 ~@10, ~@4 [g3,bb3] ~@3]/2", // Eb Eb5 Eb Eb5 Eb Eb5 Eb Gm
AM: "[c4,f4,a4]@2 [c4,f4] [c4,f4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4], ~@2 a4@3 ~@7", // F F5 F
AN: "[c4,f4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 ~, a3@3 ~@3 a3@5 ~", // F5 F
AO: "eb4@3 ~ [c4,eb4,ab4]@2 [c4,eb4,ab4]@4 [eb4,ab4]@2 [eb3,ab3,c4,eb4]@4 [c4,eb4,ab4]@2 [eb3,ab3,c4,eb4,ab4]@4 ~@2, ~ ab3 ~@2", // Ab Ab5 Ab
AP: "[d4,f4]@4 [f4,bb4]@2 [d4,f4,bb4]@4 [d4,f4,bb4]@2 [eb3,bb3,eb4,g4,bb4]@4 eb4 ~ [f3,bb3,d4,f4]@4 [bb3,f4,bb4] ~, [f3,bb3]@3 [f3,bb3]@3 ~@2 bb4@3 ~", // Dm Bb5 Bb Eb Bb Bb5
AQ: "[[eb3,c4,eb4,ab4]@2 [c4,eb4,ab4] [ab3,c4,eb4,ab4]@2 [eb3,ab3,c4,eb4] [c4,eb4]@2 [c4,eb4,ab4] [c4,eb4,ab4]@2 eb4 [eb3,c4,eb4]@2 [c4,eb4,ab4] [ab3,c4,eb4,ab4]@2 [ab3,c4,eb4,ab4] [c4,eb4,ab4]@2 [c4,eb4,ab4] [eb3,ab3,c4,eb4,ab4]@2 ~, ab3@3 ~@2 ab4@3 ~@3 ab4@3 ~@10, ~@2 [eb3,ab3] ab3 ab3 eb3 [eb3,ab3] ~]/2", // Ab Cm Ab Cm Ab Ab5
AR: "[g3,bb3,eb4]@2 [bb3,eb4,g4] [g3,bb3,eb4,g4]@2 [bb3,eb4,g4] [bb3,eb4,g4]@2 [bb3,eb4,g4] [g3,eb4]@3, ~@6 g3@3 [bb3,g4]@2 ~", // Eb Cm Eb
AS: "[bb3,e4]@4 [bb3,e4,g4]@2 [bb3,e4,g4]@4 [bb3,e4,g4]@2 [bb3,e4,g4]@4 [bb3,e4,g4]@2 [c3,g3,bb3,e4,g4]@4 g4 ~, g3 g3@2 ~", // Bbdim Edim C7
AT: "f4@2 [f4,a4] [a3,c4,f4,a4]@2 [a3,c4,f4] [a3,c4,f4]@2 [a3,c4,f4,a4] [f3,a3,c4,f4,a4]@2 ~, [a3,c4]@3 ~@2 a4@3 ~@4", // F Am
AU: "[c4,eb4]@4 [c4,eb4,ab4]@2 [ab3,c4,eb4]@4 [c4,eb4,ab4] ~ [f3,d4,f4]@4 [d4,f4,bb4]@2 [f3,bb3,d4,f4]@5 ~, ab3@2 ab4 ~ bb3@2 bb4 ~", // Cm Ab Dm Bb
AV: "[bb3,eb4]@4 [eb4,g4,bb4]@2 [bb3,eb4,g4,bb4]@4 [bb3,eb4,g4,bb4]@2 [eb3,bb3,eb4,g4]@4 bb4 ~ [db3,ab3,db4,f4]@4 [db4,f4] ~, eb3@10 ~@2 bb4@3 ~@9", // Eb5 Eb Db
AW: "[c4,e4]@2 [c4,e4,g4] [c4,e4,g4]@2 [c4,e4] [c4,e4]@2 [c4,e4,g4] [g3,c4,e4,g4]@2 ~, [c3,g3] g3 ~@2, ~@5 g4@3 ~@4", // C C5
AX: "[c4,f4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 [c4,f4,a4] [c4,f4,a4]@2 ~, a3 a3@2 ~", // F5 F
AY: "[[eb3,ab3,c4,eb4]@5 ~ [bb2,f3,bb3,d4,f4,bb4]@8 ~@2, ab4@13 ~@35]/2", // Ab Bb
AZ: "~@9 [eb3,c4,eb4,ab4]@2 [c4,eb4,ab4], ~@3 [ab2,ab3]", // Ab
BA: "[[ab3,c4,eb4,ab4]@4 [c4,eb4,ab4]@2 [ab3,c4,eb4]@6 [ab2,eb3,ab3,c4,eb4,ab4]@4 ~@2 [f3,d4]@4 [d4,f4,bb4]@2 [bb3,d4,f4,bb4]@4 [d4,f4,bb4]@2 [bb3,d4,f4]@4 [bb3,d4,f4,bb4]@2 [f3,bb3,d4]@5 ~ [eb3,g3,bb3,eb4,g4]@51 ~@3, [ab2,eb3]@6 eb3@4 ~@8 bb2@15 ~@63, ~@6 bb3@2 ~@4 [f4,bb4] ~@19]/4", // Ab Dm Bb Eb Ab5 Bb5
})).s("gm_acoustic_guitar_steel").gain(0.22).pan(0.8)
// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
~ A B C D E F G H I J@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 AS
AT AU ~ AV AW AX ~ AY AZ BA ~@4 BB BC ~@2
>`.pickRestart({
A: "~@2 [eb4,ab4] ab3@3 ~@2 [c4,ab4] eb3@3", B: "~ eb3 ~@2", C: "[bb3,g4]@4 ~@2 eb3@6 g3@10 eb4 ~, g3 ~@3",
D: "g3@3 c3@2 ~ g3@2 ~ g3@2 ~, g4 ~@7", E: "~@3 a3@3 f3@2 ~@4", F: "a4@2 ~@4 f3@3 ~@3, ~@4 a4 ~@3",
G: "~@6 [eb3,ab3]@3 ab2@2 ~", H: "bb4 ~ bb3@2 ~@2 bb3@2, bb2@11 ~@13", I: "f3 ~@5",
J: "[ab2@13 ~@3 ab4@2 eb3@12 ~@6 ab4@3 ~@9]/2", K: "~@2 g4 ~@3 eb3@2 ~@4", L: "~@3 c3@3 ~@3 g3@2 ~, ~@6 c3@5 ~",
M: "~@2 c4 ~@5 c4 ~@3, ~@4 f3@3 ~", N: "~@4 c4@2 ~@6 a3@6 a3@5 ~", O: "eb3@5 ~ eb3@6 ab2@10 ~@2, ab2@11 ~@13",
P: "bb4@3 ~ d4@2 f3@4 ~@14, bb2@5 ~@7", Q: "~@2 [c4,ab4] ~@2 ab3 ab4@2 ab3@3 ~", R: "g4 ~@7", S: "~ g3@2 ~",
T: "~@3 [a3,a4] ~@2", U: "f3@2 c4 ~@3 a3@3 ~@3, ~ f3@2 ~, ~@4 a4 ~@3", V: "~@3 eb3@2 [eb3,ab3] ab3@3 ~@3",
W: "bb4@2 bb3 ~@9", X: "ab4@3 ~@19 ab3@2", Y: "~@2 ab3 ~@9", Z: "~ [eb3,g3] g3 ~, ~@3 eb3 ~@2",
AA: "~@10 c3 ~@7 g3@4 ~@2", AB: "a4@3 ~@3 f3@4 a3@2 [f3,a3,c4,f4]@4 ~@8, ~@10 f3 ~@13",
AC: "~@10 ab3 ~ f4@3 ~ f3@2 ~@6", AD: "g4@3 ~@3 g3@6 ~@4 g3@2 ~@4 g3@2, ~@3 eb3@2 ~ eb3@3 ~@3",
AE: "~@6 ab3@3 ab4@2 eb3", AF: "~ [eb3,ab3]@2 ~, ~@2 ab4 ~@5", AG: "eb3@4 bb3@2 ~@4 [eb3,g3]@2 eb3@4 ~@2 f4@3 ~@3",
AH: "bb3@2 ~@4 [c3,g3]@3 c3@2 ~, ~@4 g4 ~@3", AI: "f3@2 ~ a3, a4 ~@5 a4 ~", AJ: "~@3 [f3,a3]@2 f3@3 ~@4",
AK: "~ eb3 ~@2, ab2 ~", AL: "~@3 f3@2 f3 ~@2 bb3 ~@3", AM: "~@5 ab3 ab3@3 ~@3, ~@4 ab4 ~@3", AN: "~@3 ab3@2 ~@7",
AO: "bb3@3 ~@3 [g3,g4]@4 g3@12 g3@2", AP: "~@12 g4@4 ~@2 g3@5 ~, ~ g3@2 ~", AQ: "a3!2 a3@2", AR: "a4 ~ a3@2 ~@4",
AS: "[ab3,c4,ab4]@2 ab3 ~@2 c4 ~@2 [eb3,ab3] ~@3, eb3!2 ~@2", AT: "~@4 d4@2 ~@10 f4 ~@7", AU: "~@3 eb3",
AV: "g4@2 ~@3 g3 ~@6", AW: "~@3 c3 ~@2", AX: "a4 ~ f3@4 ~@2", AY: "g4@3 ~@7 eb3@2 ~@10 ab3 ~",
AZ: "g4@3 ~@7 c3@2 g3@6 c3@4 ~@2", BA: "f3@6 ~@3 a3@2 ~", BB: "~@2 ab3 [ab2,ab4]@3 ~@6",
BC: "~@2 [f3,bb3] [f3,bb4]@2 f3 ~@6", // Bb5
})).s("gm_acoustic_guitar_steel").gain(0.11).pan(0.8)
// other · acoustic guitar nylon · "NYLON GTR"
const acoustic_guitar_nylon = note("<~@31 A@2 ~@22 B@2 ~@2 C@2 ~@6>".pickRestart({
A: "[eb4@2 eb4@7 eb4 f4 eb4 d4@8 bb3@6 bb3 [g3,ab3]@2 ~ ab3 bb3@14 ~@3]/2", // Abmaj7
B: "[eb4@2 eb4@7 ~ [eb4,f4] eb4 d4@8 bb3@2 ab3@4 g3@21 ~]/2", // Ebsus2
C: "[eb4@2 eb4@11 ~ [d4,eb4] ~@2 d4@27 ~@4, ~@8 c4 ~@15]/2", // Ebmaj7
})).s("gm_acoustic_guitar_nylon").gain(0.35)
// chords · electric guitar muted · "MUTED GTR"
const electric_guitar_muted = note(`<
A@3 ~@6 B@2 C@2 D E@2 ~ F@2 G ~ H@4 ~ I@2 J K L M N ~@4 O ~@2 P Q ~@2 R ~ S ~@4 T U V ~@2 W X ~ Y@2 ~@2 Z AA ~@2
>`.pickRestart({
A: "[~@23 [ab2,eb3,ab3]@39 ~@10]/3", B: "[~@23 ab3@25, ~@23 c4@22 ~@3]/2", C: "[~@23 g3@19 ~@2 bb2 ~ b2@2]/2",
D: "~@5 c3@6 ~", E: "[~@11 a3@9 ~@4, ~@5 c4@4 ~@3]/2", F: "[~@23 c4@21 ab3@4, ~@23 ab3@18 ~@7]/2", G: "ab3@3 ~@5",
H: "[~@12 eb4@8 ~@3 f3@30 ~@4 a3@8 ~@6 c4@22 ~@3, ~@23 a3@10 ~@38 ab3@10 ~@15]/4", I: "[~@10 ab3@7 ~@7]/2",
J: "~@9 g4@8 ~@3 bb2@2 b2@2", K: "c3@7 ~ c3@13 ~@3", L: "~@3 a4@4 ~", M: "~@7 ab3@3 ~@14", N: "bb3@8 ~ f3 g3 f3",
// … 105 more lines
More by Brooks & Dunn
She's Not the Cheatin' KindA major · 112 bpmBoot Scootin' BoogieD major · 129 bpmHard Workin' ManC major · 150 bpmLittle Miss Honky TonkB♭ major · 150 bpmRock My World (Little Country Girl)E major · 120 bpmThat Ain't No Way to GoA major · 104 bpmWhiskey Under the BridgeE major · 139 bpmA Man This LonelyE major · 90 bpm
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.