0:00/0:00
// Husbands and Wives — Brooks & Dunn
// 106 bpm, 3/4, key F 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 115 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(106/3)
// 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
const piano = note(`<
~@24 A B A C D@4 E F G H I J K L M N O@2 P Q R@2 S@2 T@2 U@2 V W X Y@2 Z AA AB AC@2 AD AE AF AG AH AI AJ AK AL B A C
D@4 E F G H I AM@3 AN AO AP AQ AR@2 AS AT AU AV AW AX AY AZ BA BB@2 BC BD@3 BE BF@5
>`.pickRestart({
A: "[c3,eb4]", B: "f4@11 ~@2 g4@3 ~@5 c4@3, f3, c4@8 ~@3 f4@8 f4@5, ~@2 [g4,c5]",
C: "~@7 f3, [f2,a3,c4], ~@13 f3@8 ~@3, ~@2 f4", // F
D: "[d4@19 ~@5 [d4,g4]@21 ~@3 d4@15 ~@6 a4@3 bb4@8 a4@8 bb4@8, bb2@31 ~, bb3@27 ~@37 d4@8 d4@24, ~@19 d4@5 ~@24 a4@21 ~@27, ~@21 f4@5 ~@19 g4@5 ~@46]/4", // G5
E: "~@2 [d4,g4], [c3,c5], g4@2 ~, ~ g3@2, ~@13 c4@11", // G5 C
F: "~@13 d4@3 ~@5 g3@3, g2, d4@13 ~@3 [d4,f4]@8, bb3 bb3@2, ~@5 g3@16 ~@3", // Dm
G: "~@7 c4, ~ e4@7, ~@5 g3@5 ~ g3@5 g3@8, ~@8 c4@11 d4@5, ~@13 g4@11", H: "d4@13 d4@3 [d4,bb4]@8, [g2,bb3]",
I: "~@7 c4, [c3,g4], c4@7 ~, ~@2 g3", J: "~@2 c4, [c3,d4,g4], ~@13 g3@11", K: "~@7 a3, [f2,c4,f4], a3@7 ~, ~@2 f3",
L: "~@7 f3, [a3,c4,e4]", M: "[a3,d4], f3@7 ~", N: "[a3,c4]@16 ~@5 f3@3, f3@7 ~, ~@2 [a3,c4]",
O: "[f1,f2,f3,a3,c4,f4]/2", P: "[bb1,bb2,f3,bb3,c4,d4,f4]", Q: "[c2,c3,g3,c4,e4]",
R: "[[a3,c4,f4]@9 ~@4 c4@2 ~ g4@3 f4@2 ~@3 [e4,g4]@10 ~@6 [c4,e4]@2 ~@6, f3@21 c4@13 ~@14, ~@16 c5@7 ~ e3@24]/2", // F Em C
S: "[[d4,f4]@21 ~@3 [a3,c4]@5 ~@3 a3@5 ~@3 [a3,f4]@4 ~@4, d3@18 ~@3 d3@14 ~@2 d3@5 ~@6, a3@13 ~@11 f4@14 ~@10, ~@29 d4@5 ~@6 d4@2 ~@6]/2", // Dm Am Dm
T: "[g3@7 ~@8 g3, [g2,bb3], d4@3 d4@2 [a3,d4], ~@21 g3@16 g3@8 ~@3]/2", // Gm D5
U: "[g3@13 d3@2 ~ g3@2 ~@3 c4@2 ~ [g3,bb3,d4]@7 ~ e4@7 ~ d4@8, g2@23 ~, d4@18 ~@14 [g3,bb3]@15 ~]/2", // Gm
V: "g3@13 ~@8 c4@3, [c3,e4], c4@7 ~, ~@13 g3@5 ~ g3@5, ~@2 [d4,g4]", // C G5
W: "[g3,c4,e4]@7 ~ [g3,c4,f4]@7 ~ [g3,c4,g4]@7 ~, c3", X: "c4@16 ~@5 a3@3, [f2,f3,f4], a3@13 ~@3 c4@8",
Y: "[[e3,c4]@8 ~@7 a3, f4, a3@19 ~@5 d3@24, ~@24 a3@19 f3@5, ~@24 d4@13 f3@3 d4@8]/2", // C
Z: "[a3,c4]@5 ~@2 f3, [c3,f4], ~@2 c4", AA: "g3@13 ~@3 g4@8, [g2,bb3,d4], ~@13 g3@8 ~@3",
AB: "~@13 c4@3 ~@5 g3@3, e4@2 ~, c4@13 ~@3 [c4,e4]@8, ~@8 g3@13 ~@3", // C
AC: "[~@15 e4, d4@11 d4@10 g3@16 g3@8 ~@3, ~@3 g3@13 g4@8 e4@21 ~@3, ~@5 bb3@8 bb3@11 ~@24, ~ c4@2 c4@2 c4]/2",
AD: "~@2 bb3, d4, bb3@2 ~, ~@13 g3@11", AE: "gb3@13 ~@3 bb3@3 ~@2 bb3@3, [bb3,d4]@16 ~@3 d4@5, ~@13 gb3@11",
AF: "f3@16 ~@5 d4@3, [bb3,d4]@19 bb3@5, ~@2 f3", AG: "g3@7 g3, [c4,e4]",
AH: "f2@13 ~@8 f4@3, c4, [a3,f4]@19 a3@5, ~@13 f2@11, ~@2 f3", AI: "[e3,c4,f4], a3@2 ~", AJ: "[d3,a3,d4]",
AK: "~@11 d4@2 g4@3 ~@5 c4@3, ~@5 g3@16 ~@3, ~@8 c4@13 ~@3, ~@13 d4@5 ~ d4@5, ~@2 e4", AL: "[c3,g3,bb3,d4,eb4]",
AM: "[~@16 c4@8 f3@21 ~@3 [c4,a4]@8 [c4,g4]@8 [c4,f4]@8, [c3,d4,g4]@5 f3@3, ~@13 g3@35 ~@24, ~ f2@2, ~ [a3,c4,f4] ~]/3", // F C5 F5 Csus2 F
AN: "[c4,e4]@16 ~@5 g3@3, c3, ~@2 [c4,e4,g4]", // C
AO: "g3@5 ~@8 bb3@3 ~@5 g3@3, g2, d4@2 ~, bb3@13 ~@3 [bb3,d4,f4]@8, ~@8 g3@13 ~@3", // Bb
AP: "~@7 c4, c3, e4@2 [d4,g4], g4@13 c4@6 e4@5, c4 g3@2", AQ: "~@2 [bb3,d4,f4], g2, [bb3,d4]@2 ~, ~ g3@2",
AR: "[c3,g3,c4,e4]/2", AS: "[f2,f3,c4,f4]@7 c5", AT: "ab5 a5@4 c6@14 ~ g5 f5@2 ~, ~@19 a5@2 ~@3", AU: "g5@5 f5@19",
AV: "~@13 [g4,c5]@3 ~@5 c4@3, c3, f4@5 f4@3 [g4,c5]@4, c4@7 ~ c4@11 f4@5, ~ a3@7", AW: "[f3,c4,f4]",
AX: "~@7 a3, [e3,f4], c4@2 [c4,g4], ~@13 a3@8 ~@3", AY: "[d3,a3,d4,f4]",
AZ: "~@7 [g4,c5], c3, f4@6 c4@5 g4@2 c4@3 c5@3 c4@5, ~ a3@7, ~@3 f4@5", // C5
BA: "g4 ~@6 f4, f3, c5@13 c4@11, ~@3 a4@13 [g4,c5]@8, ~@5 c4@3 f4@11 a4@5", // C5
BB: "[~@8 c4@3 ~@5 d3@8, c5, g4@25 ~@23, ~@13 e3@13 ~@22]/2",
BC: "g4@2 ~@19 g3@3, [c3,c5]@14 a3@2 g3@3 a3@5, ~ a4@7, ~@5 c4@6 c4@13, ~ f4@2", // C
BD: "[~@3 a3@3 ~@2 a3@5 ~@27 c4@8 ~@8 a3@6 ~@2 a3@8, c4@14 a3@11 ~@12 a3@9 ~@2 d3@24, g3@3 ~@3 f3@16 ~@2 e2@24 ~@8 d4@16, ~ f2@24 ~@28 f3@8 ~ f3@10, ~@16 [c4,f4]@14 ~@10 f4@17 ~@15]/3", // F5
BE: "~ c4 [c4,f4], c3, f4@2 ~, c4 g4@2, ~ a3@5", BF: "[[f1,f2,f3,a3,c4]@49 ~@11]/5",
})).s("gm_piano").gain(0.27).pan(0.3)
// chords · piano · soft notes
const piano_soft = note(`<
~@23 A ~ B C ~@2 D@2 ~@6 E ~@2 F ~@11 G ~@3 H I ~ J A ~@2 K@2 ~@4 J ~ L ~ B C ~@2 D@2 ~@6 E ~@2 M ~@14 N@2 ~ O P Q ~@6
>`.pickRestart({
A: "~@7 g3", B: "~@8 c4@13 ~@3", C: "~@2 g3", D: "[~@19 f4@8 ~@16 f4@5, ~@19 d4@5 ~@24]/2", E: "~@8 g3@5 ~@11",
F: "~@7 f3", G: "bb3@13 ~@6 bb3@2 ~@3", H: "~@13 a3@8 ~@3", I: "~@19 a3@5", J: "~@2 a3", K: "[~@21 g3@14 ~@13]/2",
L: "e4 ~@20 g3@3, ~ c3@7, ~@2 g4", M: "~@13 g3@8 ~@3", N: "[~@22 c4@4 ~@19 c4@3]/2", O: "~@11 f3",
P: "~@5 a3 ~@16 a3@2", Q: "~@3 f4@5",
})).s("gm_piano").gain(0.13).pan(0.3)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
A B C@6 A D@2 E F@2 G H I@2 J K L@2 M N O@2 P Q R S T U V W X Y@3 Z@4 AA@2 AB AC AD@4 AE@3 AF@3 A D@2 E F@2 G H I@2 J
K L@2 M N O@2 P Q R S T U V W X AG@5 AH AI AJ@4 AK@6 AL AM@4 AN@4 AO AP@4 ~
>`.pickRestart({
A: "~@7 c4, f3, ~@5 c4@8 c4@8 ~@3, ~ f4!2", B: "~@7 c4, e3, ~@5 c4@8 c4@8 ~@3, ~ f4!2",
C: "[~@47 c4, d3@24 c3@21 c4@8 c4@8 c4@8 c4@5 ~@3 c4@8 c4@8 c4@11 [c4,f4]@8 c4@8 ~@16 g4@5 ~@3, ~@5 a3@8 a3@8 a3@8 a3@8 a3@11 f3@24 e3@24 d3@24 c3@24, ~@8 [c4,f4]@8 f4@16 f4@11 f4@13 f4@8 f4@16 f4@8 f4@8 ~@5 a3@8 a3@8 a3@8 a3@8 a3@11, ~@16 c4@8 ~@16 g4@8 ~@64 f4@16 f4@11 f4@5]/6", // F5
D: "[~@15 a3, e3 d3, ~@5 c4@8 c4@8 c4@8 c4@19, ~ f4!2 ~ f4!2, ~@37 a3@8 ~@3]/2",
E: "~@7 a3, c3, ~@5 a3@8 a3@8 ~@3, ~ f4!2",
F: "[~@43 f4@2 g4@3, g3@21 g3@5 ~@3 g3@8 g3@8 ~@3, ~@5 bb3@8 bb3@11 ~@8 c4@13 ~@3, ~@8 d4@16 e4@16 e4@5 ~@3, ~@2 g4 ~@3]/2",
G: "~@7 g3, d4, ~@5 g3@8 g3@8 ~@3, ~ bb3@2, ~@2 f4", H: "~@7 g3, e4, ~@5 g3@8 g3@8 ~@3, ~ c4@2, ~@2 g4",
I: "[bb3 ~@44 bb3@3, d4 d4, g4@16 g4@11 ~@5 bb3@13 ~@3, ~@5 g3@8 g3@8 g3@3 gb4@16 gb4@8, ~@8 bb3@19 ~@2 gb3@19]/2",
J: "bb3@5 ~@16 f3@3, f3@7 ~, f4@2 f4, ~@5 bb3@8 bb3@11, ~ d4@2", K: "~@7 g3, e4, c4 c4@2, ~@5 g3@8 g3@8 ~@3, ~@2 g4",
L: "[~@7 c4 ~@7 c4, f3 e3, ~@5 c4@8 c4@8 ~@8 c4@8 c4@8 ~@3, ~ f4 f4@2 f4!2]/2",
M: "~@7 a3, d3, ~@5 a3@8 a3@8 ~@3, ~ f4!2", N: "~@16 g4@3 ~@2 c4@2 ~, c3@23 ~, ~@5 a3@8 a3@10 ~, ~@8 f4@8 ~@3 f4@5",
O: "[~@15 c4, c3@24 a3@8 f3@11 a3@5, eb4@16 eb4@11 ~@2 c3@19, ~@5 g3@8 g3@11 f2@24, ~@8 c4@13 c4@3 f4@13 a3@3 f4@8]/2",
P: "g3@5 ~@16 g3@3, c3, eb4@2 ~, c4!2 [c4,eb4], ~@5 g3@8 g3@8 ~@3", // Cm
Q: "~@7 a3, f2, [c4,f4]@13 a3@3 [c4,f4]@8, a3 f3@2, ~@5 c3@19", // F5
R: "~@7 f3, [bb2,d4], bb3!2 [bb3,f4], ~@5 f3@8 f3@8 ~@3", // Bb Bb5
S: "g3@5 ~@16 g3@3, bb2, d4@2 [d4,f4], bb3 bb3@2, ~@5 g3@8 g3@8 ~@3", // Dm
T: "~@13 a3@3 ~@5 a3@3, d4@2 d4, a3@13 ~@3 a3@5 ~@3, ~@8 g3@11 g3@5",
U: "g3@5 ~@16 g3@3, d4@13 d4@11, bb3 bb3@2, ~@5 g3@16 ~@3, ~@2 f4",
V: "~@7 g3, c3, e4@2 ~, c4!2 [c4,e4], ~@5 g3@8 g3@8 ~@3", W: "~@7 g3, g2, d4@13 d4@11, bb3 bb3@2, ~@5 g3@11 g4@8",
X: "~@7 c4, c3, e4@2 e4, c4@8 c4@13 ~@3, ~@5 g3@8 g3@5 ~ g3@5",
Y: "[~@23 g3, [g2,d4]@24 c3@21 g3@8 g3@8 g3@8 ~@3, bb3 bb3@2 c4!2 c4@2 c4!2, ~@5 g3@8 g3@8 g3@8 g3@8 g3@3 e4@8 [c3,e4]@24, ~@2 f4 e4@2 g4@4]/3", // G5 C
Z: "[~@31 c4, f3 e3 d3 c3, ~@5 c4@8 c4@8 c4@8 c4@8 c4@8 c4@8 a3@8 a3@8 a3@5 ~@3 a3@8 a3@11, ~@8 f4@8 f4@8 ~@8 f4@8 f4@8 ~@8 f4@8 f4@8 ~@8 f4@11 f4@5, ~@11 g4]/4",
AA: "[[f2,c3,f3,c4,f4]@23 ~]/2", AB: "[bb2,f3,bb3,c4,d4,f4]@23 ~", AC: "[c3,g3,c4,e4]",
AD: "[~@45 c4@3 ~@40 f4@8, f3 e3 d3 d3, ~@5 c4@8 c4@8 c4@8 c4@8 c4@8 ~@8 a3@8 a3@8 a3@8 a3@8 a3@11, ~ f4 f4@2 f4 f4@2 f4 f4@2 f4 ~]/4",
AE: "[~@23 g3, g3@21 g3@8 g3@8 g3@8 g3@8 g3@8 g3@8 ~@3, ~@5 bb3@8 bb3@19 bb3@16 ~@8 bb3@16, ~ d4@2 d4@2 d4 d4@3, ~@2 g4@4 g4@2 g4]/3",
AF: "[~@13 g3@3 ~@53 g3@3, d4@16 ~@5 g3@8 g3@8 g3@8 g3@8 g3@8 g3@8 ~@3, ~@5 g3@8 ~@3 [bb3,d4,f4]@8 c4@8 c4@16 c4@8 c4@8 c4@8, ~ e4 ~ e4@3 e4@3, ~@5 g4@4]/3", // Bb
AG: "[~@101 a3@3 ~@13 a3@3, [g2,d4]@24 c3@21 g3@8 g3@8 g3@8 g3@3 f3@24 f3@24, bb3@8 bb3@16 c4@8 c4@8 c4@16 c4@8 c4@13 a3@8 a3@8 a3@8 ~@8 a3@8 ~@3, ~@5 g3@8 g3@8 g3@8 g3@8 g3@3 e4@8 [c3,e4]@32 ~@40, ~@2 f4 e4@2 g4@5 [c4,f4]!2 [c4,a4] [c4,g4] [c4,f4]]/5", // G5 C F5 F C5 F5
AH: "~@7 g3, c3, [c4,e4]!3, ~@5 g3@8 g3@8 ~@3", AI: "~@7 g3, g2, [bb3,d4] d4@2, ~@5 g3@8 g3@8 ~@3, ~ bb3 [bb3,f4]",
AJ: "[~@37 [bb3,d4]@3 ~@8 [c3,c4,e4]@48, c3 g2 ~@2, e4@16 ~@8 d4@13 ~@59, c4@8 c4@8 [c4,e4,g4]@8 bb3@8 bb3@5 ~@3 [bb3,d4,f4]@8 ~@48, ~@5 g3@8 g3@8 g3@6 ~@2 g3@5 ~ g3@10 g3@50 ~]/4", // Bb C Bb
AK: "[~@40 f4@5 ~@24 a3@3 ~@32 c4@5 ~@32 c4@3, f3@24 e3@23 ~ d3@24 c3@21 ~@3 f3@24 e3@24, ~@5 c4@8 c4@8 c4@5 ~@3 c4@8 c4@8 c4@19 c4@8 ~@16 g4@5 ~@16 c4@8 c4@5 ~@3 c4@8 c4@8 ~@3, ~@8 f4@8 f4@8 ~@8 f4@8 ~@13 a3@8 a3@8 ~@8 a3@8 a3@8 c4@5 ~@3 a3@19 ~@24, ~@56 f4@8 f4@16 f4@11 f4@13 f4@8 f4@8 ~@8 f4@8 f4@8]/6",
AL: "~@7 a3, d3, ~@5 a3@8 a3@8 ~@3, ~ [c4,f4]!2", // F5
AM: "[~@64 f4@5 ~@24 a3@3, c3@19 f4@13 f4@8 f4@16 f4@8 ~@13 a3@8 a3@8 ~@3, ~@5 a3@8 a3@8 ~@3 f3@22 ~@2 e3@22 ~@2 d3@22 ~@2, ~@8 [c4,f4]@13 c4@5 ~@3 c4@8 c4@8 c4@8 c4@8 c4@8 c4@11 [c4,f4]@8 [c4,f4]@8, ~@16 g4@5 ~@75]/4", // F5
AN: "[~@29 c4@3 c4@5 ~@27 f4@5 ~@24 a3@3, c3@19 f4@13 f4@8 f4@16 f4@8 ~@16 [c4,f4]@8 [c4,f4]@8, ~@5 a3@8 a3@8 ~@3 f3@23 ~ e3@22 ~@2 d3@23 ~, ~@8 [c4,f4]@13 c4@6 ~@10 c4@8 c4@8 c4@8 c4@8 c4@8 a3@8 a3@8 ~@3, ~@16 g4@5 ~@75]/4", // F5
AO: "~@7 c4, c3, ~@5 a3@8 a3@11, ~@8 [c4,f4]@11 f4@5, ~@2 g4", AP: "[f2,f3,a3,c4,f4]/4",
})).s("gm_acoustic_guitar_steel").gain(0.29)
// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~@46 A@2 B C D E F G H I ~@4 J K L M ~@4 N O P Q R ~@24 S T U V W@2 X Y Z AA AB AC AD AE@4 ~
>`.pickRestart({
A: "[~@2 f4, f3, ~@29 c4@19]/2", B: "d4, a3@7 ~", C: "d4 e4 f4, a3", D: "[bb3,d4], g3@7 ~", E: "~@7 g3, [bb3,f4]",
F: "~@7 g3, [d4,g4]", G: "[bb3,d4]@8 [c4,e4]@7 ~ [d4,f4]@8", H: "[c4,e4,g4]",
I: "d4@3 ~@5 c4@5 ~@3 c4@5 g3 ~@2, g4@11 ~, ~@3 e4@13 ~@8, ~@5 g3@16 ~@3, ~@13 d4@8 ~@3", J: "~@21 g4@2 ~",
K: "bb4@5 a4 ~ a4@8 ~ g4@5 ~ f4@2, ~@7 bb4 ~@16", L: "g4@9 ~@2 f4, ~@21 g4@2 ~", M: "e4@23 ~",
N: "~@6 f4@3 c5@4 ~ c5@7 f4@3", O: "bb4@5 a4@14 g4@2 f4@2 ~", P: "g4@5 ~ a4@15 f4@2 ~",
Q: "bb4@3 a4 ~ bb4 a4 f4@8 ~ c4@5 d4@3", R: "[c4,eb4]", S: "~@7 c4", T: "a4@16 g4@5 f4@2 ~",
U: "g4@4 ~ a4@14 g4@3 f4 ~", V: "g4@2 ~ f4@2 d4@17 ~@2", W: "[~ c4@29 ~@18]/2",
X: "~@8 a3@5 c4@2 ~ c4@3 g3 ~@2 [a3,c4] ~", Y: "c4", Z: "~@8 d4@4 ~ f4@3 g4@2 ~ f4@2 c5@3", AA: "g4",
AB: "~@8 f4@2 ~@4 c4@2 a3@3 g3@2 a3@2 ~", AC: "c4@9 ~ d4@2", AD: "c4@15 ~ g3@8", AE: "[f3@95 ~]/4",
})).s("gm_acoustic_guitar_nylon").gain(0.45).pan(0.7)
// other · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<~@47 A B ~ C@2 ~@2 D ~@7 E ~@37 F ~@6 G ~@7>".pickRestart({
A: "a3 ~@2", B: "~@7 a3", C: "[~@7 g3@8 ~]/2", D: "~@7 g3", E: "~@17 f4@4 ~@3", F: "~@11 a3", G: "~@11 e4@3 ~@10",
})).s("gm_acoustic_guitar_nylon").gain(0.28).pan(0.7)
// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
~@4 A B C D@4 ~@27 A E C F G@2 ~@13 H I J K L M N O P Q R S@3 T U@2 V W X@3 Y Z AA L AB AC@2 AD AE N AA AF AA AG@2 ~@4
A B C F AH AI AJ@2 AK N AL AM AN@4 ~
>`.pickRestart({
A: "f6", B: "e6", C: "d6", D: "[c6@73 ~@23]/4", E: "~ e6@23", F: "c6", G: "f5/2", H: "e4", I: "d4", J: "~ c4@23",
K: "[g3,bb3]", L: "[g3,c4]", M: "[bb3,d4]", N: "[c4,e4]", O: "g4", P: "gb4", Q: "f4", R: "e4@23 ~",
S: "[f4 e4 d4, c4@35 ~]/3", T: "g3@8 g3@8 a3@7 ~, c4@2 ~", U: "[~ bb3@23 f4@24, c4, eb4 ~]/2", V: "~ g3@23, [c4,eb4]",
W: "~ f4@23, c4", X: "[f3 g3 a3, d4, bb3@49 ~@23]/3", Y: "bb3 a3 f3", Z: "[g3,c4,e4]", AA: "[g3,bb3,d4]",
AB: "[d3,g3,bb3]", AC: "[g3@3 g3@2 g3, [e3,c4]]/2", AD: "[a3,c4]@23 ~", AE: "~ a4@8 g4@7 f4@8", AF: "[e3,g3,c4]",
AG: "[~ [g3,c4]@47]/2", AH: "a4", AI: "g4@19 g4@5", AJ: "[~ f4@47]/2", AK: "[c4,f4]", AL: "[a3,d4]", AM: "[a3,c4]",
AN: "[c3,f3]/4", // F5
})).s("gm_electric_guitar_jazz").gain(0.3).pan(0.3)
// chords · viola
const viola = note(`<
~@4 A B C D@3 ~@14 E F G H I G H J K L M N O@2 P B Q@3 ~@4 R@2 S L T U V W@2 ~@16 E F G H I G H J K L M N O@2 X Y K L
M Z AA@2 ~@4 AB AC AD AE@3 AF@2 AG@2 I AH@5 ~
>`.pickRestart({
A: "c5@18 d5@2 c5 a4@3", B: "e4", C: "d4@16 f4@2 g4@2 [e4,f4] d4@3", D: "[a3@49 ~@23]/3", E: "g3", F: "a3", G: "g4",
H: "a4", I: "f4", J: "[bb4,d5] [a4,c5] [f4,a4]", K: "[e4,g4]", L: "[d4,f4]", M: "[c4,e4]", N: "[bb3,f4]",
O: "[c4,e4]/2", P: "c5@21 ~@2 f4, ~@21 a4@2 ~, ~@11 g4", Q: "[f4@20 ~ d4 ~ a3@16 g3@8 f3@25, ~@10 e4 c4 ~@24]/3",
R: "[~@25 d4@23, ~@23 f4@25]/2", S: "[e4,g4]@15 ~ a4@8, ~@15 f4@8 ~", T: "[e4,g4]@2 [f4,a4]", U: "[g4,bb4]",
V: "[f4,d5] [d4,bb4] [bb3,g4]", W: "[g3,g4]/2", X: "[c4,f4]", Y: "[a4,c5] [g4,bb4] [f4,a4]", Z: "[bb3,d4]",
AA: "[g3@47 ~, c4@11 ~@13]/2", AB: "c5@21 ~ a4 g4, ~@21 b4@2 ~", AC: "e4@7 d4",
AD: "f4@21 ~ c4@2, ~@21 e4@2 ~, ~@22 d4 ~", AE: "[a3@67 c4@3 a3 ~]/3",
AF: "[d4@31 ~ c4@2 d4@2 ~ f4@2 ~ g4@2 f4@3 c4@3]/2", AG: "g4/2", AH: "[d4@8 c4@8 g3@7 f3@96 ~]/5",
})).s("gm_viola").gain(0.15).pan(0.7)
// chords · string ensemble 1
const string_ensemble_1 = note("<~@24 A@2 B C D@4 E@2 F G H@2 ~@34 A@2 B C D@4 E@2 F G H@2 ~@29>".pickRestart({
A: "[[eb3,g3] [f3,a3], c4]/2", B: "[eb3,g3,c4]", C: "[f3,a3,c4]", D: "[f3 g3 a3 g3, [bb3,d4]@23 ~]/4",
E: "[[c4,e4] [bb3,d4], g3]/2", F: "[e3,g3,c4]", G: "[d3,g3,bb3]", H: "[e3,g3,c4]/2",
})).s("gm_string_ensemble_1").gain(0.19).pan(0.3)
// bass · electric bass finger
const bass = note(`<
~@8 A B C D E D E D E F G H G H C I D J D J K A L@2 M N M O M D G H C M P@2 Q M J B R S T U V W X Y A B C D E D E D E
F G H G H C I D J D J K A L@2 M N M O M D J Z AA AB AA AB AC@2 A H C AA A H C AA A H C AA A H C AA AD@4 ~
>`.pickRestart({
A: "f2", B: "e2@23 ~", C: "d2", D: "c2", E: "g2", F: "gb2", G: "f2@23 ~", H: "e2", I: "c2@15 ~ a1@5 bb1@2 ~", J: "f1",
K: "bb1", L: "bb1@23 ~", M: "c2@23 ~", N: "g1", O: "g1@23 ~", P: "f1/2", Q: "bb1@11 ~", R: "d2@7 a1",
S: "d2@16 f2@7 ~", T: "g2@7 g2", U: "d2@20 ~ d2@3", V: "g1@11 ~", W: "g1@7 ~ a1@7 ~ bb1@5 ~@3", X: "c2@21 g1@2 ~",
Y: "c2@7 ~ d2@8 e2@8", Z: "f1 e2 d2", AA: "c2@7 c2", AB: "g1@7 g1", AC: "[c2@47 ~]/2", AD: "f1/4",
})).s("gm_electric_bass_finger").gain(0.28)
// drums · kick
const kick = s("bd").struct("<~@24 x!19 ~ x!49 ~ x!17 ~@4>").gain(0.36)
// drums · rim
const rim = s("rim").struct("<~@24 [~@2 x]!18 ~@4 [~@2 x]!46 ~@2 [~@2 x]!16 ~@5>").gain(0.4)
// drums · hihat
const hihat = s("hh").struct("<~@23 A B@18 ~@2 C D B@46 ~ A B@16 ~@5>".pickRestart({
A: "~@13 x ~@10", B: "x ~@4 x ~@2 x ~@4 x ~@2 x ~@4 x ~@2", C: "x", D: "x ~@12 x ~@10",
})).gain(0.24)
// drums · open hat
const open_hat = s("oh").struct("<~@23 A ~@19 B ~ A ~@47 A ~@21>".pickRestart({
A: "~@2 x", B: "~@13 x ~@2 x ~@7",
})).gain(0.28)
// drums · crash
const crash = s("cr").struct("<~@42 A ~ A@3 ~@45 A ~@17 A ~@4>".pickRestart({
A: "x",
})).gain(0.24)
stack(
piano, piano_soft, acoustic_guitar_steel, acoustic_guitar_nylon, acoustic_guitar_nylon_2, electric_guitar_jazz, viola,
string_ensemble_1, bass, kick, rim, hihat, open_hat, crash
)
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.