0:00/0:00
// Hungry Heart — Bruce Springsteen
// 112.9 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 88 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112.9/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, A@4 for four bars: edit a riff to change every repeat.
// bass · electric bass finger · "BASS"
const bass = note(`<
~@2 A B C D A E C F A B C D A E G H A B C D A E G H A E G H A B C D A E C F A B C D A E G H I J K L I M N O A B C P@2
Q@2 H R@3 S@3 T@8 U@8 V@4
>`.pickRestart({
A: "c2@7 ~@5 c2@8 g1@4 a1@4 c2@4", B: "a1@8 ~@4 a1@6 ~@2 a1@3 ~ e2@7 ~", C: "d2@8 ~@4 d2@5 ~@3 d2@4 a2@7 ~",
D: "g2@7 ~@5 g2@8 d2@4 e2@4 g2@4", E: "a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4", F: "g2@8 ~@4 g2@4 e2@3 ~ f2@4 g2@8",
G: "d2@3 ~@3 d2@2 ~@2 d2@2 f1@2 f#1@2", H: "g1@7 ~@5 g1@4 ~@4 g1@4 e1@4 g1@4", I: "d#2@2 ~ d#2@2 a#1 c2 d#2",
J: "c2@8 ~@4 c2@6 ~@2 c2@3 ~ g2@7 ~", K: "f2@8 ~@4 g#2@4 ~@4 f2@4 c3@7 ~", L: "a#2@7 ~@5 a#2@8 f2@4 g2@4 a#2@4",
M: "c2@7 ~@5 c2@5 ~@3 c2@4 g2@3 f#2@4 ~", N: "f2@7 ~@5 f2@5 ~@3 f2@4 c3@6 ~@2",
O: "g1 ~@2 g1@2 ~@3 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1@2 ~@2 g1 ~@2 g1!2 ~@3, ~@20 f1 ~@11",
P: "[g2@7 ~@5 g2@8 d2@4 e2@4 g2@3 c2@7 ~@5 c2@8 ~ g1@3 a1@4 c2@4 ~]/2",
Q: "[a1@7 ~@4 a1@5 ~@4 a1@3 e2@3 ~ d#2@4 d2@6 ~@6 d2@4 ~@4 d2@4 ~ f1@3 f#1@4 ~]/2",
R: "[c2@8 ~@3 c2@9 g1@3 a1@4 c2@4 a1@8 ~@4 a1@6 ~@2 a1@3 ~ e2@7 ~ d2@8 ~@5 d2@5 ~@3 d2@3 a2@7 ~@2]/3",
S: "[g2@7 ~@5 g2@8 d2@4 e2@4 g2@3 c2@7 ~@5 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4 d2]/3",
T: "[~@11 d2@5 ~@3 d2@4 a2@7 ~ g2@7 ~@5 g2@4 e2@4 f2@4 g2@8 c2@8 ~@4 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@6 ~@2 a1@3 ~ e2@7 ~ d2@8 ~@4 d2@5 ~@3 d2@4 a2@7 ~ g2@7 ~@5 g2@8 d2@4 e2@4 g2@4 c2@7 ~@5 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4 d2]/8",
U: "[~@11 d2@4 ~@4 d2@4 f1@4 f#1@4 g1@7 ~@5 g1@5 ~@3 g1@4 e1@4 g1@4 c2@8 ~@4 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@6 ~@2 a1@3 ~ e2@7 ~ d2@8 ~@4 d2@5 ~@3 d2@4 a2@7 ~ g2@7 ~@5 g2@8 d2@4 e2@4 g2@4 c2@7 ~@5 c2@8 g1@4 a1@4 c2@4 a1@7 ~@5 a1@5 ~@3 a1@4 e2@3 ~ d#2@4 d2]/8",
V: "[~@11 d2@4 ~@4 d2@4 f1@4 f#1@4 g1@7 ~@5 g1@4 ~@4 g1@4 e1@4 g1@4 c2@43 ~@22]/4",
})).s("gm_electric_bass_finger").gain(0.71)
// chords · piano
const piano = note(`<
~@2 A B C D E F G H I J K L I M N O A B C D A P Q R A P Q R I J K L I M K S A B C D E T U@8 V W@7 X@8 Y@8 Z@8 AA@3 ~
>`.pickRestart({
A: "[g4,b4]@2 ~@2 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5]@2 ~@2, c3@8 ~@4 c3@8 c5@2 ~@6 e5 ~@3, d5 ~@7 c5@2 ~@2 c5@2 ~@6 g2@4 a2@4 c3@4", // G C C5
B: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@8 ~@4 a2@4 ~@4 a2@3 ~ e3@7 ~, ~@4 a4 ~@3 a4 ~@23", // G C Am
C: "[a4,c5] ~@3 [a4,d5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3, d3@8 ~@4 d3@4 ~@4 d3@4 a3@7 ~, e5@2 ~@2 f5 ~@23 d5@2 ~@2", // Am D5 Dm
D: "[c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3, g3@7 ~@5 g3@8 d3@4 e3@4 g3@4, a4@2 ~@2 g4 ~@3 d5@2 ~@2 d5@2 ~@18", // C Dm G7 Dm G7
E: "[g4,b4,d5] ~@3 [c5,d5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3, c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4, ~@2 g4 ~@13", // G C
F: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~, ~@4 [a4,d5] ~@27", // G C Am D5
G: "[a4,c5,d5,e5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3, d3@7 ~@5 d3@4 ~@4 d3@4 a3@7 ~", // Am Dm
H: "[g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5]@2 ~@2 [g4,d5,f5]@2 ~@2, g3@8 ~@4 g3@4 e3@3 ~ f3@3 ~ g3@8, ~@4 g4 ~@19 f5 ~@7", // C Dm G7 G5 G7
I: "c3@2 ~ c3@2 g2 a2 c3", J: "a2@8 ~@4 a2@6 ~@2 a2@3 ~ e3@7 ~", K: "d3@8 ~@4 d3@5 ~@3 d3@4 a3@7 ~",
L: "g3@7 ~@5 g3@8 d3@4 e3@4 g3@4", M: "a2@7 ~@5 a2@5 ~@3 a2@4 e3@3 ~ d#3@4", N: "d3@6 ~@6 d3@5 ~@3 d3@4 f2@4 f#2@4",
O: "g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4",
P: "[g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5]@2 ~@2 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3, a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~, ~@4 a4 ~@27", // G C Am
Q: "[a4,c5] ~@3 [a4,d5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3, d3 ~@2 d3 ~ d3 f2 f#2, e5@2 ~@2 f5 ~@23 d5@2 ~@2", // Am D5 Dm
R: "[c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,d5,f5] ~@3 [g4,a4,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3, g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4, a4@2 ~@2 g4 ~@3 d5@2 ~@6 d5@2 ~@14", // C Dm G7 Dm G7
S: "g3@8 ~@4 g3@4 e3@3 ~ f3@4 g3@8",
T: "[g4,b4,d5] ~@3 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@2 d3, a2@7 ~@4 a2@5 ~@4 a2@4 e3@3 ~ d#3@3 ~", // G Am
U: "[[a4,c5,d5,e5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@2 [a#4,d5,f5]@2 ~@2 [a#4,d#5,g5]@2 ~@2 [a#4,g5] ~@3 [a#4,g5] ~@3 [a#4,d#5,g5]@2 ~@2 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5]@2 ~@2 [a#4,d5,f5] ~@3 [d#5,g5]@2 ~@2 [d#5,g5]@2 ~@2 [c5,d#5,f5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5] ~@3 [c5,f5]@2 ~@2 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,g#5] ~@3 [c5,g5]@2 ~@2 [f5,g#5]@2 ~@2 [a#4,g#5] ~@3 [a#4,g#5] ~@3 [a#4,c5,f5,g#5] ~@3 [a#4,f5,g#5] ~@3 [a#4,f5,g#5] ~@3 [a#4,f5,g#5] ~@3 [a#4,d5,f5] ~@3 [d#5,f5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d#5,g5] ~@3 [a#4,d5,f5] ~@3 [c5,f5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@2 d#5 [c5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@3 [c5,d#5,g5] ~@2 f3, ~@12 d3@4 ~@4 d3@4 f2@4 f#2@3 g2@5 g4 ~@7 g2@4 ~@4 g2@4 e2@4 g2@3 d#3@8 ~@5 d#3@9 ~@7 d#3@3 c3@8 ~@5 c3@4 ~@4 c3@3 ~ g3@7 f3@8 ~@5 g#3@4 ~@4 f3@4 c4@7 a#3@7 ~@6 a#3@8 f3@4 g3@4 a#3@3 d#3@7 ~@6 d#3@8 a#2@3 c3@4 d#3@4 c3@7 ~@5 c3@5 ~@3 c3@4 g3@3 ~@2 f#3@3 ~, ~@56 g4@2 ~@14 d#5@2 ~@2 d#5@2 ~@6 a#2@4 c3@4 g5 ~@7 c5 ~@3 c5 ~@23 g5@2 ~@2 g#5 ~@23 f5@2 ~@2 d#5 ~@3 a#4 ~@3 f5@2 ~@2 f5@2 ~@21 a#4@2 ~@30 [d#5,g5]@2 ~@27]/8", // Am Dm C Dm G7 Dm G7 A# …
V: "[c5,d#5,f5,g5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@2 f5 [c5,g#5] ~@3 [c5,f5,g#5] ~@3 [c5,f5,g#5] ~@2 [f5,g#5] c5 ~@2 g2, ~@11 f3@5 ~@3 f3@4 c4@6 ~@3", // Cm Fm
W: "[[g4,d5,f5] ~@3 [g2,d5]@2 ~@2 [g4,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@2 f2 [f2,g4,d5,f5] ~@3 [g2,g4,f5] ~@3 [g4,d5,f5]@2 ~@2 [g4,b4,d5]@2 ~@2 c5@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 c3@3 ~ [g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,c5,d5,e5] ~@2 c5 [a4,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@2 [a4,e5] c5 ~@3 [a4,c5] ~@2 [a4,d5,f5]@2 ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@2 d5 [a4,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3 [c5,e5] ~@2 [d5,f5]@2 ~@3 [g4,f5] ~@3 [g4,f5] ~@2 d5 [g4,a4,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@2 g4 [b4,d5] ~@3 [g4,c5,d5,e5] ~@2 [g4,c5,e5] ~@3 c5 [g4,e5] ~@2 g4 [c5,e5] ~@3 [g4,c5,e5] ~@2 [g4,c5,e5] ~@3 [g4,c5,e5] c3@3 ~ [g4,b4,d5] ~@3 [a4,d5] ~@2 [a4,c5,e5] ~@3 [a4,e5] c5 ~@2 [a4,c5,e5] ~@4 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@2 [d3,c5,e5], ~@4 [g4,f5] ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@2 g2@2 ~@7 g2 ~@2 c3@8 ~@4 c3@9 c5@2 ~@5 c5@2 ~@7 a4 ~@3 a4 ~@55 a4@2 ~ g4 ~@92, ~@8 d5@2 ~@14 d5@2 ~@9 [g4,e5]@2 ~@3 c5@2 ~@2 c5@2 ~ c5@2 ~@2 g2@4 a2@4 ~ g4@2 ~ a2@8 ~@5 a2@6 ~ a2@3 ~ e3@7 ~ d3@8 ~@4 d3@5 ~@4 d3@3 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 g2@3 ~ a2@4 ~@4 a2@8 ~@4 a2@5 ~@3 a2@4 e3@3 ~@2 d#3@3 ~, ~@60 e5 ~@35 e5@2 ~@26 d5@2 ~@10 d5@2 ~@2 d5@2 ~@53 [c5,e5]@2 ~@27]/7", // G7 G5 G7 G C G C Am …
X: "[[a4,d5] ~@2 [a4,d5] f5 ~@2 [a4,d5,f5] ~@3 d5 [a4,f5] ~@2 d5 [a4,f5] ~@2 [d5,f5] a4 ~@3 [a4,d5,f5] ~@2 d5 [a4,f5] ~@3 [g4,c5,e5] ~@3 g4 ~@2 [d5,f5] g4 ~@2 [g4,d5,f5] g2@3 [d5,f5] g4 ~@3 [g4,d5,f5] ~@3 d5@2 ~@2 [g4,d5,f5]@2 ~@2 [g4,b4,d5]@2 ~@2 c5@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 c3@3 ~ [g4,b4,d5] ~@3 a4 ~@3 [c5,e5]@2 ~ [a4,c5,e5] d5 ~@2 c5 [a4,e5] ~@2 [a4,c5,e5] ~@4 [a4,c5,e5] ~@2 [a4,e5] c5 ~@3 [a4,c5] ~@2 a4 f5 ~@2 [a4,d5,f5] ~@4 [a4,d5,f5] ~@2 [a4,d5,f5] ~@4 [a4,d5,f5] ~@2 d5 [a4,f5] ~@2 f5 a4 ~@3 [c5,e5] ~@3 g4 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,b4,d5] ~@3 e5 [c5,d5] ~@2 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 g4 [b4,d5] ~@2 [a4,c5,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [d3,c5], ~@11 d3@4 ~@4 d3@4 f2@4 ~ f#2@3 g2@8 ~@12 g2@4 e2@4 ~ g2@3 c3@8 ~@4 c3@9 ~@8 g4@2 ~ a2@8 ~@5 a2@6 ~ a2@3 ~ e3@7 ~ d3@8 ~@4 d3@5 ~@3 d3@4 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4 a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~@2, ~@35 [d5,f5]@2 ~@18 g4@2 ~@10 [g4,e5]@2 ~@3 c5@2 ~@2 c5@2 ~ c5@2 ~@2 g2@4 a2@4 ~ e5 ~@34 e5@2 ~@2 d5@2 ~@22 d5@2 ~@6 [d5,f5]@2 ~@2 d5@2 ~@2 d5@2 ~@83, ~@56 f5 ~@27 c5@2 ~@5 c5@2 ~@6 [c5,e5]@2 ~@3 a4 ~@55 a4@2 ~@33 g4@2 ~@59]/8", // D5 Dm C Dm G7 Dm G7 G …
Y: "[[a4,d5,e5] ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,e5] c5 ~@2 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@3 [g4,b4,d5]@2 ~ [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,d5] b4 ~@2 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,d5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 e5 [a4,c5] ~@2 [a4,d5,f5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@3 e5 c5 ~@2 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,b4,d5] ~@3 [c5,d5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,e5] ~@3 [g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [d3,a4,c5,d5,e5], ~@11 d3@4 ~@4 d3@3 ~ a3@4 ~@4 g3@8 ~@4 g3@4 e3@3 ~ f3@4 g3@8 c3@8 ~@4 c3@8 c5@2 ~@2 c5@2 ~@10 a4 ~@3 a4 ~@3 c5@2 ~@46 d5@2 ~@2 a4@2 ~@2 g4 ~@3 d5@2 ~@2 d5@2 ~@22 g4@2 ~@22 c5@2 ~@6 [a4,d5] ~@28, ~@35 g4 ~@19 g4@2 ~@14 c5@2 ~@2 c5@2 ~@6 g2@4 a2@4 c3@4 a2@8 ~@4 a2@4 ~@4 a2@3 ~ e3@7 ~ d3@8 ~@4 d3@4 ~@4 d3@4 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4 a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@3 ~@2]/8", // Asus4 Dm C Dm G7 Dm G7 G …
Z: "[~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@3 g4@2 ~ [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,e5] ~@3 [g4,c5,e5]@2 ~@2 [g4,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5]@2 ~@2 d5 [g4,b4] ~@2 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,e5] d5 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@4 [a4,c5] ~@2 [a4,d5,f5]@2 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,f5] ~@4 [a4,c5,e5] ~@2 [d5,f5]@2 ~@2 [g4,f5] ~@3 [g4,f5] ~@3 [g4,a4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [b4,d5] ~@3 [c5,d5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,c5,e5] ~@3 [g4,e5] ~@3 [g4,b4,d5] ~@3 [c5,e5]@2 ~@2 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [a4,c5,e5] ~@3 [d3,a4,c5,e5], ~@11 d3@4 ~@4 d3@4 f2@4 f#2@4 g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4 c3@8 ~@4 c3@8 c5@2 ~@14 a4 ~@3 a4 ~@3 c5@2 ~@18 e5@2 ~@26 d5@2 ~@6 g4 ~@3 d5@2 ~@2 d5@2 ~@18 g4@2 ~@2 g4@2 ~@22 c5@2 ~@6 [a4,d5] ~@28, ~@35 g4 ~@11 d5@2 ~@6 g4@2 ~@6 [b4,d5]@2 ~@6 c5@2 ~@2 c5@2 ~@6 g2@4 a2@4 c3@4 a2@8 ~@4 a2@6 ~@2 a2@3 ~ e3@7 ~ d3@8 ~@4 d3@4 ~@4 d3@4 a3@7 ~ g3@7 ~@5 g3@8 d3@4 e3@4 g3@4 c3@7 ~@5 c3@8 g2@3 ~ a2@4 c3@4 a2@7 ~@5 a2@4 ~@4 a2@4 e3@3 ~ d#3@4 ~]/8", // Dm C Dm G7 Dm G7 C G …
AA: "[d5 ~@2 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [a4,d5,f5] ~@3 [g4,c5,e5] ~@3 [d5,f5]@2 ~@2 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [g4,d5,f5] ~@3 [d5,f5] ~@3 [g4,d5,f5]@2 ~@3 [g3,c4,e4]@22 ~@10, ~@11 d3@4 ~@4 d3@4 f2@4 f#2@4 g2@7 ~@5 g2@4 ~@4 g2@4 e2@4 g2@4 c3@31 ~@2, ~@35 g4 ~@19 g4@2 ~@39]/3", // Dm C Dm G7 Dm G7 C
})).s("gm_piano").gain(0.71)
// chords · rock organ · "ORGAN"
const rock_organ = note(`<
~@5 A@2 B C D E F G H I J K L@2 M N O P@3 Q R S T U V@2 W O X Y Z@2 AA@7 AB AC AD@2 AE AF AG AH AI@2 AJ AK@2 AL@4 AM
AN@3 AO AP@7 AQ@3 AR AS@4 AT@6
>`.pickRestart({
A: "[~@21 [g3,a3] ~@3 [b4,c5] [e5,f5] [g5,a5] [b5,c6] [d6,e6,f6] g6 [b6,c7] c7@30 ~ [d6,e6,f6,g6,a6], ~@21 [b3,c4]@2 [f4,g4]@2 d5@2 ~@3 a6@33 ~, ~@22 [d4,e4]@2 a4@2 ~@6 b6 ~@31]/2", // Gsus2 Cmaj7 Fmaj7 Gsus2 Cmaj7 Dm Cmaj7 Dm …
B: "[b5,c6] ~@3 [f6,g6,b6] ~@3 g6 ~@3 [e6,g6] ~@3 [e6,f6,g6] ~@3 g6@12, ~ [e6,a6] ~@2 a6 ~@3", // Cmaj7 G7 Em A5
C: "~@4 c6 ~@3 d6@4 c6 ~@3 e6@2 ~@2 d6 ~@3 c6 ~@3 f6@4", D: "e6 ~@3 f6@2 ~@2 e6@3 ~ d6 ~@3 c6@9 ~ b5 ~@5",
E: "[g4,c5] ~@3 [g4,c5,e5]@26 ~@2", // C5 C
F: "[g4,c5,e5] ~@3 [a4,c5,e5]@14 ~@2 [c5,e5]@4 a4@2 ~@2 [a4,c5,e5] ~@3, ~@3 a3@13 ~@3 a3@6 ~@3 a3@2 ~@2, ~@20 a4 ~@11", // C Am C Am
G: "[b3,a4,c5,e5] ~@3 [d4,a4,d5,f5]@26 ~@2, a3 ~@15", // Am Dm
H: "[d4,a4,d5,f5] ~@3 [b4,d5,f5]@13 ~@3 b4 f5@3 b4@2 ~@2 [b4,d5,f5] ~@3, ~ g3@7, ~@4 a3 ~@15 d5@4 d5 ~@7, ~@21 e5 ~@10", // Dm Bdim
I: "[g4,b4,d5] ~@3 [c4,g4,c5,e5]@26 ~@2, ~@4 b4 ~@27", // G C
J: "[g4,c5,e5] ~@3 [a4,c5,e5]@13 ~@3 [a4,d5] ~@3 a4@2 ~@2 [a4,e5] ~@3, c4@2 ~@2 a3@25 ~@3, ~@10 c5@2 ~@2 c5 ~, ~@20 e5@3 ~@9", // C Am D5 A5
K: "[a3,e5]@2 ~@2 [d4,a4,d5,f5]@27 ~, [a4,c5] ~@3 c#5 ~@27", // A5 Dm Am
L: "[[d4,d5]@2 ~@2 [b4,d5,f5]@13 ~@3 b4 e5 ~@2 b4 ~@3 [b4,d5,f5] ~@3 [g4,b4,d5] c5 ~@2 c4@6 ~ c4@19 ~@2, [a4,f5] ~@3 g3@32 ~@28, ~@20 [d5,f5]@5 ~@11 [g4,c5,e5]@26 ~@2]/2", // D Bdim G Dm C
M: "[g4,e5] c4@2 ~ [a3,a4,c5,e5]@19 ~ [a3,c5,e5]@4 a4@2 ~@2, c5@2 ~@22 a4 ~@7", // C Am
N: "~ [c5,e5]@2 ~@2 d5@25 ~@2, a3@4 [d4,a4,f5]@25 ~@3, a4 ~@15", O: "[d4,a4,d5,f5]@3 ~ [b4,d5,f5]@25 ~@3, ~ g3@7",
P: "[[f4,g4,d5] ~@3 [c4,g4,c5,e5]@26 ~@2 [c5,e5]@3 ~ [a3,a4,c5,e5]@25 ~@3 [c5,e5]@3 ~ [d4,a4,d5,f5]@28, b4@2 ~@29 c4@3 ~@29 a3@3 ~@30, ~@32 g4 ~@31 a4 ~@31]/3", // G7 C Am C Dm
Q: "~ b4@22 ~@9, g3, [d5,f5]@3 ~", R: "[c7,e7]", S: "~@4 [c7,e7]@6 [b6,d7]@6 [a6,c7]@15 d7, ~@4 d7 ~@11 b6 ~@15",
T: "[g6,a6,b6] [d6,e6,f6] ~@10 [e6,a6]@4 g6@2 ~@2 e6 ~@3 g6@4 e6 ~@3, ~@12 g6 ~@19", // G Dm A5
U: "g6@4 e6 ~@3 d6 ~@3 c6@13 ~@6 b4",
V: "[[g4,d5] ~@7 c4@22 ~ [g4,c5]@2 ~@3 [a3,a4,c5,e5]@27 ~, ~@3 [g4,c5,e5]@27 ~ [c4,e5] ~@32]/2", // G5 C5 Am C
W: "[a4,c5,e5] ~@3 [d4,a4,d5,f5]@27 ~, a3 ~@15", X: "[g4,b4,d5] ~@4 c4@27, ~@4 [g4,c5,e5]@27 ~",
Y: "[g4,c5]@2 ~@2 [a3,a4,c5,e5]@27 ~, e5 ~@31", // C5 Am
Z: "[[a4,c5,e5] ~@3 [a4,d5,f5]@26 ~@2 f5@2 ~@2 [g3,b4,d5,f5]@28, a3@2 ~ d4@26 ~@2 [d4,d5]@2 ~@31, ~@32 a4 ~@31]/2", // Am Dm G7 D
AA: "[[g4,b4,d5] ~@3 [c4,g4,c5,e5]@25 ~@2 [c4,g4,c5,e5]@2 ~@3 [a4,c5]@26 ~@2 [a4,e5] ~@3 [a4,d5]@18 ~@2 [d5,f5]@3 a4@2 ~@2 [d4,d5]@2 ~@3 [b4,d5]@14 ~@2 [d5,f5]@4 b4@2 ~@2 [b4,d5,f5] ~@3 [g4,b4,d5] ~@3 [c4,g4,c5,e5]@25 ~@3 e5 ~@3 [a3,a4,c5,e5]@18 ~@2 [a3,c5,e5]@4 a4@2 ~@2 [a3,a4,e5] ~@3 [a4,d5]@26 ~@2, ~@35 [a3,e5]@26 ~@2 [a3,c5]@2 ~@3 d4@20 a4 ~@6 [a4,f5] ~@4 g3@16 ~@4 g3@11 ~@28 [c4,g4,c5]@3 ~@33 d4@21 ~@8, ~@68 f5@15 ~@16 f5@13 ~@4 [b4,e5] ~@3 g#3 ~@11 d5 ~@51 a4 ~@6 c5@2 ~@2 f5@26 ~@3]/7", // G C Am A5 D5 Dm D Bm …
AB: "[b4,d5,f5]@11 ~@5", AC: "~@8 g6@4 a#6@11 g6@3 ~@2 a#6 ~@3, ~@12 g#6 ~@14 g#6@2 ~@3",
AD: "[~@3 a#6 c7@7 a#6 ~@3 a#6 c7@3 a#6@4 g6@4 a#6 ~@3 g6@5 ~@3 f6 g6@7 f6@2 d#6@2 ~ c6@4 d#6@4 f6 ~@3, ~@31 f6 ~@8 e6 ~@23]/2",
AE: "g6@4 g#6 a#6 ~@2 a#6@3 ~ c7 ~@3 f6@2 d#6 c6@4 d#6@4 f6@4 ~",
AF: "~@8 g6@4 a#6@12 g6@3 g#6 a#6@2 ~@2, ~@12 g#6 ~@19",
AG: "~@4 c7@8 a#6 ~@3 c7@4 a#6@4 g6@4 a#6 ~@3, ~@4 a#6 ~@11 a#6 ~@15",
AH: "g6@4 ~@3 f6 g6@8 ~ d#6@3 c6@4 d#6@4 f6 ~@3, f6 ~@15 f6@2 ~@14", AI: "[~ g5 a5 c6 d6 c6 a5 c6@6 ~@3]/2",
AJ: "~@4 [a4,c5,e5]@17 ~@3 [c5,e5]@3 ~ a4 ~@3, ~@24 a4 ~@7", // Am C
AK: "[[a4,c5,e5] ~@3 c#5 ~ d4@23 ~@2 [d4,a4,f5] ~@4 b4@14 ~@2 [b4,e5] ~@3 b4@2 ~@2 [b4,d5,f5] ~@3, ~@4 [a4,d5,f5]@25 ~@2 d5@2 ~@2 g3@29, ~@35 [d5,f5]@14 ~@3 d5@4 ~@8, ~@52 f5@3 ~@9]/2", // Am Dm E5 Bdim Dm
AL: "[[g4,b4,d5] ~@3 c5@26 ~@2 [c4,c5] ~@3 [a4,c5,e5]@14 ~@2 [a4,d5] ~@3 a4@2 ~@2 [a4,c5,e5] ~@3 c5@2 ~@2 [a4,d5,f5]@26 ~@2 f5 ~@3 [b4,d5,f5]@14 ~@2 b4@5 ~@3 [b4,f5]@2 ~@2, ~@3 [c4,g4,e5]@27 ~ [g4,e5]@2 ~@2 a3@14 ~@3 [a3,c5]@7 a3@2 ~@2 [a3,e5]@3 ~ d4@26 ~@2 [d4,a4,d5]@2 ~@2 g3@14 ~@2 [g3,d5,f5]@6 ~@2 g3@5, ~@52 e5@4 e5 ~@7 a4 ~@58 d5@2 ~@3]/4", // G C Am D5 Am Dm Bdim C …
AM: "[g4,d5] ~@3 [c4,g4,c5,e5]@26 ~@2, b4 ~@15", // G5 C
AN: "[[c4,g4,c5,e5]@2 ~@2 [a3,a4,c5,e5]@18 ~@2 [a3,c5,e5]@4 [a4,e5] ~@3 [a4,e5] ~@3 [a4,f5]@25 ~@3 d4@2 ~@2 [b4,d5,f5]@18 ~@2 [d5,f5]@3 b4 d5 ~@3, ~@24 a4 ~@6 a3@3 ~ [d4,d5]@25 ~@4 f5 ~@22 b4@2 ~@7, ~@32 c5@2 ~@29 [a4,d5]@2 ~@2 g3@19 ~@2 g3@8]/3", // C Am A5 Dm Bdim Dm D D5
AO: "[g4,d5] ~@3 [g4,c5,e5]@26 ~@2, b4@2 ~ c4@26 ~@3", // G5 C
AP: "[[c4,g4,c5,e5]@2 ~@2 [a3,a4,c5,e5]@18 ~ a4 [a3,c5,e5]@4 a4@2 ~@2 [a4,c5,d5,e5] ~@3 [d5,f5]@27 ~ [b4,d5,f5]@24 ~@7 [c7,e7]@51 ~@2 [c7,e7]@6 [b6,d7]@5 [a6,c7]@47 ~@5 [e6,a6]@5 g6 ~@3 [e6,g6] ~@3, ~@31 a3@2 ~@2 [d4,a4]@28 g3@7 ~@141 g6 ~@12]/7", // C Am Dm Bdim C Bm Am A5 …
AQ: "[a6@2 g6@25 ~ c6 d6 e6 f6@17, e6@9 ~@7, g6 ~@95]/3", AR: "g6@2 ~@6 f6@3 ~@5 e6@2 ~@6 d6@2 ~@6",
AS: "[[g4,b4,d5] ~@3 c5@26 ~@2 [c4,c5] ~@3 [a4,c5]@14 ~@2 [a4,d5] ~@3 a4@2 ~@2 [a4,e5] ~@3 c5@2 ~ [d4,a4,d5,f5]@26 ~@2 [a4,d5] [d5,f5] ~@3 b4@12 ~@4 [a3,b4,e5] ~@2 b4 ~@3 [d5,f5] b4 ~@2 b4, ~@3 [c4,g4,e5]@27 ~ [g4,e5]@2 ~@2 [a3,e5]@15 ~@2 [a3,c5]@7 [a3,c5]@2 ~@2 [a3,e5]@3 ~@29 d4@2 ~@2 [g3,d5,f5]@13 ~@3 [g3,d5,f5]@5 ~@3 g3@2 ~@3, ~@52 e5@4 e5 ~@7 a4 ~@63]/4", // G C Am D5 A5 Dm D5 Dm …
AT: "[[g3,g4,d5] ~@3 c5@14 ~@2 [c5,e5]@3 ~ g4@2 ~ e5 [c4,g4,c5] ~@3 c5@2 ~@2 c5@13 ~@3 [a4,c#5,d5] ~@2 a4@2 ~@2 e5 [a3,a4,c5] ~@3 [a4,c5,d5,e5] ~@2 [d4,a4,d5,f5]@25 ~@3 [d4,a4,d5,f5]@2 ~@2 [b4,d5,f5]@25 ~@4 c4@18 ~@46, ~@3 [g4,e5]@14 ~@3 [g4,d5] ~@3 c5 ~@7 g4 ~@2 [a4,e5]@13 ~@4 [c5,e5]@3 ~@72 [g4,c5,e5]@39 ~@26, ~@4 c4@22 ~@5 [c4,e5]@2 ~@2 a3@22 ~@6 a3@2 ~@34 g3@28 ~@65, ~@36 b3 ~@155]/6", // G5 C C5 Dmaj7 Am Dm Bdim C …
})).s("gm_rock_organ").gain(0.4).pan(0.4)
// other · trumpet
const trumpet = note(`<
~@2 A B C@2 B@2 C@2 ~@8 A B C@2 B@2 C@2 A B C D E B F G A B C D B@2 C D H E C@2 ~@16 I J K L H J K M@2 J K L H J K M@2
J K L H J K N ~@2
>`.pickRestart({
A: "d6@2 ~@2 e6 ~@7 e6 ~@19", B: "d6 ~@3 e6 ~@7 e6 ~@19", C: "e6 ~@3 f6 ~@7 f6 ~@19", D: "e6 ~@3 f6 ~@7 f6 ~@18 d6",
E: "~@4 e6 ~@7 e6 ~@19", F: "e6 ~@3 f6 ~@7 f6 ~@18 e6", G: "~@4 f6 ~@7 f6 ~@19", H: "~@4 e6 ~@7 e6 ~@18 d6",
I: "d6@2 ~@2 e6 ~@7 e6 ~@18 d6", J: "~@4 e6 ~@7 e6 ~@18 e6", K: "~@4 f6 ~@7 f6 ~@18 e6", L: "~@4 f6 ~@7 f6 ~@18 d6",
M: "[~@4 f6 ~@6 f6 ~@19 d6@2 ~@3 e6 ~@7 e6 ~@18 d6]/2", N: "~@3 f6 ~@7 f6 ~@20",
})).s("gm_trumpet").gain(0.64).pan(0.6)
// other · baritone sax · "SAX"
const baritone_sax = note(`<
~@2 A B C@2 B@2 C@2 ~@8 A B C@2 B@2 C@2 A B C D E B F G A B C D B@2 C D H E C@2 ~@16 I J K L H J K M@2 J K L H J K M@2
J K L H J K N ~@2
>`.pickRestart({
A: "d4@2 ~@2 e4 ~@7 e4 ~@19", B: "d4 ~@3 e4 ~@7 e4 ~@19", C: "e4 ~@3 f4 ~@7 f4 ~@19", D: "e4 ~@3 f4 ~@7 f4 ~@18 d4",
E: "~@4 e4 ~@7 e4 ~@19", F: "e4 ~@3 f4 ~@7 f4 ~@18 e4", G: "~@4 f4 ~@7 f4 ~@19", H: "~@4 e4 ~@7 e4 ~@18 d4",
I: "d4@2 ~@2 e4 ~@7 e4 ~@18 d4", J: "~@4 e4 ~@7 e4 ~@18 e4", K: "~@4 f4 ~@7 f4 ~@18 e4", L: "~@4 f4 ~@7 f4 ~@18 d4",
M: "[~@4 f4 ~@6 f4 ~@19 d4@2 ~@3 e4 ~@7 e4 ~@18 d4]/2", N: "~@3 f4 ~@7 f4 ~@20",
})).s("gm_baritone_sax").gain(0.5).pan(0.6)
// drums · kick
const kick = s("bd").struct("<~@2 A@22 B A@4 C D C E@2 D C E F E@7 F E@7 G E@7 H E@14 D I E@7 F ~@2>".pickRestart({
A: "x ~@2 x ~ x ~@2", B: "x ~@11 x ~@6 x ~@12", C: "x ~@10 x ~@8 x ~@10 x", D: "~@11 x ~@7 x ~@12",
E: "~@11 x ~@7 x ~@11 x", F: "~@11 x ~@19 x", G: "~@3 x ~@3 x ~@3 x ~@7 x ~@11 x", H: "~@11 x ~@7 x ~@3 x ~@7 x",
I: "~@3 x ~@3 x ~@7 x ~@3 x ~@11 x",
})).gain(0.71)
// drums · snare
const snare = s("sd").struct(`<
~ A B@7 C B@6 D@4 B D@8 E D@7 F D@7 G D@7 H D@7 I D@3 J D@3 K D@6 L M D@6 L N ~@2
>`.pickRestart({
A: "~@22 x!3 ~@7", B: "~ x ~ x", C: "~@4 x ~@7 x ~ x!2", D: "~@7 x ~@15 x ~@8", E: "~@7 x ~@12 x ~@3 x ~@3 x!2 ~@2",
F: "~@7 x ~@11 x ~ x ~ x ~ x ~ x ~@4", G: "~@7 x ~@7 x ~ x ~ x ~@3 x ~ x ~ x ~@4",
H: "~@11 x ~@3 x ~@3 x ~@3 x ~@3 x ~ x ~@2", I: "~@7 x ~@11 x ~@7 x ~ x ~@2", J: "~@7 x ~@11 x ~@3 x ~@3 x ~@4",
K: "~@7 x ~@11 x ~@3 x ~ x ~ x ~@4", L: "~@7 x ~@15 x ~@7 x", M: "~@11 x ~@11 x ~@8", N: "~@7 x ~@7 x ~@15 x",
})).gain(0.71)
// drums · low tom
const low_tom = s("lt").struct("<~ [~@4 x ~@2 x] ~@35 [~@15 x ~@16] ~@47 [~@19 x ~@7 x ~@4] ~@2>").gain(0.64)
// drums · hihat
const hihat = s("hh").struct("<A B C@7 D C@14 E C@4 F G C F H G F H@40 G I H@7 G ~@2>".pickRestart({
A: "x!2", B: "x ~@2 x!2 ~ x ~ x ~@3 x ~@3", C: "x ~ x!5 ~", D: "x!8", E: "x ~@7 x ~@3 x ~@3 x ~@2 x ~@4 x ~@7",
F: "x ~@7 x ~@2 x ~@4 x ~@3 x ~@3 x ~@6 x", G: "~@7 x ~@3 x ~@3 x ~@3 x ~@3 x ~@8",
H: "~@7 x ~@3 x ~@3 x ~@3 x ~@3 x ~@7 x", I: "~@31 x",
})).gain(0.64)
// drums · mid tom
const mid_tom = s("mt").struct("<~@85 [~@23 x ~ x ~@6] ~@2>").gain(0.64)
// drums · open hat
const open_hat = s("oh").struct("<~@5 A ~@7 A ~@3 A ~@3 B ~@3 B ~@7 B ~@7 B ~@7 B ~@7 B ~@15 B ~@7 B ~@6>".pickRestart({
A: "~@7 x", B: "~@27 x ~@4",
})).gain(0.64)
// drums · crash
const crash = s("cr").struct("<~@85 [~@31 x] ~@2>").gain(0.64)
stack(bass, piano, rock_organ, trumpet, baritone_sax, kick, snare, low_tom, hihat, mid_tom, open_hat, crash)
More by Bruce Springsteen
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.