0:00/0:00
// Song Sung Blue — Neil Diamond
// 110 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 2/4 at bar 20, 4/4 at bar 20, 2/4 at bar 38, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: Full arrangement: all 97 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(110/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 · acoustic guitar steel · "tk1"
const acoustic_guitar_steel = note(`<
~@8 A@2 B C@3 D@2 E@2 F@7 G@3 H@7 I J K L M N O P Q@2 C@4 D@2 E@2 R@8 H@7 I J K L M N O P Q@2 C@4 S@2 E@2 T@6 U@5
>`.pickRestart({
A: "[[c3,e3,g3,c4,e4]@2 [c3,e3,g3,c4,e4] e4@2 ~ [c3,e3]@2 [g3,c4,e4] [c3,e3,g3,c4,e4]@2 ~@3 c4 [c3,c4]@2 g3 ~@2 c4 [c3,e3,c4]@2 [c4,e4], g2 g2@2 g2@2 [g2,e3] [g2,c3,e3,g3] [g2,g3], ~@6 [g3,c4]@10 ~@8 e3@6 ~@12 c#4 ~@5, ~ [c3,e3] ~@6, ~@10 e4@5 ~@7 [c4,e4]@5 ~ e4@5 ~ [c4,e4]@5 ~ e4@6 ~@2]/2", // C G C5 C
B: "[b3,g4]@2 [b3,g4] [g3,b3,g4]@2 [b3,g4] [b3,g4]@2 [g3,b3] [b3,g4]@2 [b3,g4], [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3], ~@6 c4 ~@3 g3@4 ~@4 d#3 ~@5", // Em G Em G Em G
C: "[b3,g4]@2 [b3,g4] [b3,g4]@2 [b3,g4] [g3,b3,g4]@2 [g3,b3] [b3,g4]@2 [b3,g4], [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3], ~@6 g3@6 ~@6 d#3 ~@5, ~@6 c4 ~@17", // Em G Em G
D: "[[e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 e4@4 ~@6 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 g3@2 ~@4 c4@2 [c3,e3,c4]@4 [c4,e4]@2, [g2,c3] g2@2 [g2,c3]@2 [g2,e3] [g2,c3,e3,g3] [g2,g3], ~@6 [g3,c4]@10 g3@18 ~@8 c#4 ~@5, ~ [c3,e3]!2 e3 e3 ~@3, ~@10 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~ [c4,e4]@5 ~ e4@6 ~@2]/2", // C C5 C G C5 C
E: "[c4,e4]@4 [c4,e4]@2 [a#3,c4,e4]@4 [a#3,e4]@2 [c3,e3,a#3,c4,e4]@4 [e3,a#3,c4]@2 [a#3,c4]@3 ~ [c4,e4]@2, c3@5 ~@4 [c3,e3]@3, [e3,a#3]@3 e3@3 ~@2 e4@3 ~", // C C7 A#dim C7 A#sus2 C Edim
F: "[[a#3,c4,e4]@4 [a#3,c4,e4]@2 [a#3,c4,e4]@4 [c4,e4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@4 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [e3,g3,c4,e4]@4 [g3,e4]@2 e4@4 ~@6 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 g3@2 ~@4 c4@2 [c3,e3,c4]@4 [c4,e4]@2 [d4,f4,a4]@4 [d4,f4,a4]@2 [a3,f4]@4 [f4,a4]@2, [c3,e3]@2 [c3,f3] [c3,f3]@2 [c3,f3]!2 [c3,f3]@2 [c3,f3] [g2,b2,d3,g3] [g2,b2]@2 [g2,b2,d3,g3]!2 [g2,b2,d3]@2 [g2,b2,d3,g3] [g2,c3] g2@2 [g2,c3]@2 [g2,e3] [g2,c3,e3,g3] [g2,g3] [a2,d3]@2, ~@18 f2@2 ~@2 f4@5 ~@15 f2@2 ~@2 f4@5 ~@15 d3@10 ~@26 d#3 ~@11 [g3,c4]@10 g3@18 ~@8 c#4 ~@5 a3@6 a4 ~@5, ~@66 g3@6 ~@18 c4 ~@23 [c3,e3]@6 [c3,e3]@6 e3@6 e3@6 ~@30, ~@118 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~ [c4,e4]@5 ~ e4@6 ~@8 d4@6]/7", // C7 C F Am F Am F Em …
G: "[[d4,f4,a4]@4 [f4,a4]@2 f4@3 ~ [f4,a4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [c3,e3,g3,c4,e4]@4 [c3,e3,g3,c4,e4]@2 e4@3 ~@7 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 [g3,c4,e4]@2, [a2,d3,a3]!2 [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3] g2 g2@2 [g2,c3]@2 [g2,e3], ~@2 d4@4 ~@3 g3@3 ~@9 [g3,c4]@5 g3@9 ~, ~@7 [c3,e3] [c3,e3] e3!2 ~, ~@46 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~@3]/3", // Dm F Em G Em C D5 G …
H: "[~@4 c4@2 [c3,e3,c4]@4 [c4,e4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 e4@3 ~@7 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 g3@2 ~@4 c4@2 [c3,e3,c4]@4 [c4,e4]@2 [c4,e4]@4 [c4,e4]@2 [a#3,c4,e4]@4 [a#3,e4]@2, [g2,c3,e3,g3] [g2,g3] [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3]!2 [g2,b2,d3]@2 [g2,b2,d3,g3]!2 [g2,b2,d3]@2 [g2,b2,d3,g3]!2 [g2,b2,d3]@2 [g2,b2,d3,g3] [g2,c3] g2@2 [g2,c3]@2 [g2,e3] [g2,c3,e3,g3] [g2,g3] [e3,a#3] e3, ~@4 e4@6 ~@8 c4 ~@23 c4 ~@23 c4 ~@23 c4 ~@23 [c3,e3]@6 [c3,e3]@6 e3@6 e3@6 ~@18 c3@10 ~@2, ~@6 c#4 ~@11 g3@6 ~@6 d#3 ~@11 g3@6 ~@6 d#3 ~@11 g3@6 ~@6 d#3 ~@11 g3@6 ~@6 d#3 ~@11 [g3,c4]@10 g3@18 ~@8 c#4 ~@17, ~@118 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~ [c4,e4]@5 ~ e4@6 ~@14]/7", // C Em G Em G Em G Em …
I: "[c3,e3,a#3,c4,e4]@4 [e3,a#3,c4]@2 [a#3,c4]@3 ~ [c4,e4]@2 [c4,e4]@4 [c4,e4]@2 [a#3,c4,e4]@4 [a#3,e4]@2, ~@2 e4@3 ~ [e3,a#3]@3 e3@3, ~@3 [c3,e3]@3 c3@5 ~", // C7 A#sus2 C C7 A#dim Edim C
J: "[c3,e3,a#3,c4,e4]@4 [e3,a#3,c4]@2 [a#3,c4]@3 ~ [c4,e4]@2 [a#3,c4,e4]@4 [a#3,c4,e4]@2 [a#3,c4,e4]@4 [c4,e4]@2, ~@2 e4@3 ~@7, ~ [c3,e3] [c3,e3]@2", // C7 A#sus2 C C7 C
K: "[f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@4 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2, [c3,f3] [c3,f3]@2 [c3,f3], ~@6 f2@2 ~@2 f4@5 ~@9", // F Am F F5
L: "[f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2, [c3,f3] [c3,f3]@2 [c3,f3], ~@6 f2@2 ~@2 f4@5 ~@9", // F Am F F5
M: "[b3,g4]@2 [b3,g4] [b3,g4]@2 [b3,g4] [g3,b3,g4]@2 [g3,b3] [b3,g4]@2 [b3,g4], [g2,b2,d3,g3] [g2,b2]@2 [g2,b2,d3,g3], ~@3 d3@5 ~@4, ~ g3 ~@2", // Em G Em G
N: "[b3,g4]@2 [b3,g4] [g3,b3,g4]@2 [b3,g4] [g3,b3,g4]@2 [g3,b3] [b3,g4]@2 [b3,g4], [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3], ~@6 c4 ~@11 d#3 ~@5", // Em G Em G Em G
O: "[e3,g3,c4,e4]@4 [g3,e4]@2 e4@4 ~@6 e4@2 e4@3 ~ [c4,e4]@2, [g2,c3] g2@2 [g2,c3,e3], ~@3 [g3,c4]@5 g3@4, ~ [c3,e3]!2 ~, ~@10 e4@5 ~ c4@6 ~@2", // C C5 C C5 C
P: "[b3,g4]@2 [b3,g4] [b3,g4]@2 [b3,g4] [g3,b3,g4]@2 [g3,b3] [b3,g4]@2 [b3,g4], [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3], ~ g3 ~@2", // Em G Em G
Q: "[[c3,e3,g3,c4,e4]@4 [c3,e3,g3,c4,e4]@2 e4@3 ~@7 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 g3@2 ~@4 c4@2 [c3,e3,c4]@4 [c4,e4]@2, g2 g2@2 [g2,c3]@2 [g2,e3] [g2,c3,e3,g3] [g2,g3], ~@6 [g3,c4]@10 g3@18 ~@8 c#4 ~@5, ~ [c3,e3]!2 e3 e3 ~@3, ~@10 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~ [c4,e4]@5 ~ e4@6 ~@2]/2", // C C5 C G C5 C
R: "[[a#3,c4,e4]@4 [a#3,c4,e4]@2 [a#3,c4,e4]@4 [c4,e4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@4 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [e3,g3,c4,e4]@4 [g3,e4]@2 e4@4 ~@6 e4@2 e4@3 ~ [c4,e4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [c3,e3,g3,c4,e4]@4 [c3,e3,g3,c4,e4]@2 e4@3 ~@7 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 [g3,c4,e4]@2, [c3,e3]@2 [c3,f3] [c3,f3]@2 [c3,f3]!2 [c3,f3]@2 [c3,f3] [g2,b2,d3,g3] [g2,b2]@2 [g2,b2,d3,g3]!2 [g2,b2,d3]@2 [g2,b2,d3,g3] [g2,c3] g2@2 [g2,c3,e3] [g2,b2,d3,g3] [g2,b2,d3]@2 [g2,b2,d3,g3] g2 g2@2 [g2,c3]@2 [g2,e3], ~@18 f2@2 ~@2 f4@5 ~@15 f2@2 ~@2 f4@5 ~@15 d3@10 ~@26 d#3 ~@11 [g3,c4]@10 g3@8 ~@6 g3@6 ~@18 [g3,c4]@10 g3@18 ~@2, ~@66 g3@6 ~@18 c4 ~@23 [c3,e3]@6 [c3,e3]@6 ~@36 [c3,e3]@6 [c3,e3]@6 e3@6 e3@6 ~@6, ~@118 e4@5 ~ c4@6 ~@36 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~@3]/8", // C7 C F Am F Am F Em …
S: "[[e3,g3,c4,e4]@4 [e3,g3,c4,e4]@2 e4@3 ~@7 e4@2 e4@3 ~@7 c4@2 [c3,c4]@4 g3@2 ~@4 c4@2 [c3,e3,c4]@4 [c4,e4]@2, [g2,c3] g2@2 [g2,c3]@2 [g2,e3] [g2,c3,e3,g3] [g2,g3], ~@6 [g3,c4]@10 g3@18 ~@8 c#4 ~@5, ~ [c3,e3]!2 e3 e3 ~@3, ~@10 e4@5 ~ c4@6 [c4,e4]@5 ~ e4@5 ~ [c4,e4]@5 ~ e4@6 ~@2]/2", // C C5 C G C5 C
T: "[[a#3,c4,e4]@4 [a#3,c4,e4]@2 [a#3,c4,e4]@4 [c4,e4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@4 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4]@2 a3@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [e3,g3,c4,e4]@4 [g3,e4]@2 e4@4 ~@6 e4@2 e4@3 ~ [c4,e4]@2 [f#2,a3,c4,f4]@4 [a3,c4,f4]@2 [a3,c4,f4]@4 [a3,c4,f4]@2, [c3,e3]@6 [c3,f3]@3 [c3,f3]@6 [c3,f3]@3 [c3,f3]@3 [c3,f3]@6 [c3,f3]@3 [g2,b2,d3,g3]@3 [g2,b2]@6 [g2,b2,d3,g3]@3 [g2,b2,d3,g3]@3 [g2,b2,d3]@6 [g2,b2,d3,g3]@3 [g2,c3]@3 g2@6 [g2,c3,e3]@3 ~@3 f2 ~@2, ~@18 f2@2 ~@2 f4@5 ~@15 f2@2 ~@2 f4@5 ~@15 d3@10 ~@26 d#3 ~@11 [g3,c4]@10 g3@8 ~@12, ~@66 g3@6 ~@18 c4 ~@23 [c3,e3]@6 [c3,e3]@6 ~@6 [c3,f3]@6 [c3,f3]@6, ~@118 e4@5 ~ c4@6 ~@14]/6", // C7 C F Am F Am F Em …
U: "[a3@4 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [b3,g4]@2 [g3,b3,g4]@4 [g3,b3]@2 [b3,g4]@4 [b3,g4]@2 [e3,g3,c4,e4]@4 [g3,e4]@2 e4@4 ~@6 e4@2 e4@3 ~ [c4,e4]@2 [g2,c3,e3,g3,c4,e4]@23 ~@13, ~ [c3,f3] [g2,b2,d3,g3] [g2,b2]@2 [g2,b2,d3,g3]!2 [g2,b2,d3]@2 [g2,b2,d3,g3] [g2,c3] g2@2 [g2,c3,e3] ~@6, ~@18 d3@10 ~@26 d#3 ~@11 [g3,c4]@10 g3@8 ~@36, ~@18 g3@6 ~@18 c4 ~@23 [c3,e3]@6 [c3,e3]@6 ~@42, ~@70 e4@5 ~ c4@6 ~@38]/5", // F Em G Em G Em G Em …
})).s("gm_acoustic_guitar_steel").gain(0.17)
// bass · acoustic bass · "tk2"
const bass = note(`<
~@3 A@2 B C D E F G H G I J K J@2 L M N O P Q R S P T U V W X P Y Z AA AB AC AD AE I E AF E F G H G I J K J@2 L M N O
P AG P T U V W X P Y Z AA AB AC AD AE I E AF E F G H G I J K J@2 L M N O P AH N O P T ~
>`.pickRestart({
A: "[~@22 c2@23 ~ c2@2]/2", B: "a#1@10 ~ a#1", C: "a1@11 ~ f1@8 ~@2 f1@2", D: "g1@2 ~@2 g1 ~@5 g1 ~ a1@6 b1@6",
E: "c2@11 ~ g1@11 ~", F: "c2@11 ~ b1@6 a1@6", G: "g1@11 ~ d2@11 ~", H: "g1@3 ~ d1@4 ~@2 d1@2 e1@5 ~ f#1@5 ~",
I: "g1@11 ~ a1@5 ~ b1@5 ~", J: "c2@11 ~ g1@10 ~@2", K: "c2@9 ~ c2@2 g1@6 a1@5 ~", L: "c2@6 a#1@5 ~ f1@10 ~@2",
M: "c1@10 ~@2 f1@3 ~ e1@5 ~ e1@2", N: "f1@5 ~ f#1@6 g1@11 ~", O: "d1@11 ~ g1@11 ~", P: "a1@5 ~ b1@5 ~ c2@11 ~",
Q: "g1@11 ~ c2@12", R: "g1@6 c#2@5 ~ d2@11 ~", S: "d1@11 ~ g1@5 ~ g1@5 ~", T: "g1@11 ~ c2@11 ~",
U: "b1@6 a1@6 g1@11 ~", V: "d2@11 ~ g1@3 ~ d1@4 ~@2 d1@2", W: "e1@5 ~ f#1@5 ~ g1@11 ~", X: "d2@11 ~ g1@11 ~",
Y: "g1@10 ~@2 c2@9 ~ c2@2", Z: "g1@6 a1@5 ~ c2@11 ~", AA: "g1@10 ~@2 c2@11 ~", AB: "g1@10 ~@2 c2@6 a#1@5 ~",
AC: "f1@5 ~ c1@5 ~", AD: "f1@3 ~ e1@5 ~ e1@2 f1@5 ~ f#1@6", AE: "g1@11 ~ d1@11 ~", AF: "g1@5 ~ g1@5 ~ a1@5 ~ b1@5 ~",
AG: "g1@11 ~ g1@5 ~ g1@5 ~", AH: "g1@11 ~ f1@3 ~ e1@5 ~ e1@2",
})).s("gm_acoustic_bass").gain(0.8)
// chords · epiano1 · "tk3"
const epiano1 = note(`<
A@2 B C A@2 B D E F G H I J@3 K@4 L M N@3 O@3 P@3 Q R@2 S@2 T U@2 V W X Y E F G H I Z@3 AA@4 L M AB@4 P@3 Q R@2 S@2 T
U@2 V W X Y E F G H I Z@3 AA@4 L M AC@2 L M AD@3
>`.pickRestart({
A: "[e4@2 ~@3 g4@3 ~ g3@2 ~@6 f4@3 ~@2 d4 c4, c3@23 ~ a#2@17 ~ a#2@5 ~, ~@4 c4@6 ~@6 c4@6 e4@7 ~ g3@18, ~@6 g3@10 ~@12 c4@6 ~@6 e4@5 ~@3]/2",
B: "e4@2 ~@3 g4@3 ~ c4@2 g3, a2@23 ~, ~@4 c4@6 ~@6 e4@7 ~, ~@6 g3@11 ~@7",
C: "e4@4 ~@6 f4@6 e4@4 d4@2 c4 ~, g2@23 ~, ~@2 c4@3 ~@7, ~@6 g3@17 ~",
D: "~@6 a3@4 ~@2 a3 ~@3 g3@2 [g2,b3,d4,f4]@4 ~@2, f4 ~, g2@9 ~ g2@7 ~@7, ~@4 c4@7 ~ [b3,d4]@6 ~@6", // G7 Bm
E: "g3 ~@2 c3, e4@12 c4@11 ~, c2@9 ~ g3@9 ~@5, ~@2 c3@2 c2@3 ~",
F: "e4@6 c3@6 ~@4 c4@2 [e4,g4]@5 ~, c2@9 ~@3 c2@10 ~@2, ~@6 [e4,a4]@3 c3 ~@2", // Em A5
G: "d4 ~@2 [d4,a4], g2 g1, [b3,a4] ~@2, ~@6 [d4,g4]@11 ~@7", // D5 B7 G5
H: "g2@3 g2@2 ~@4 [g2,e4]@3, g4@23 ~, d4@10 b3@13 ~, ~@6 g1 ~@5 d4@11 ~, ~@4 g1@3 ~", // C
I: "~@10 b3 ~@11 b3 ~, [g1,d4,g4]@11 ~ g1@11 ~, ~@3 g2@3 [b3,d4]@4 ~@2, ~@3 g2", // G5 Bm
J: "[~@10 b3 ~ [g1,a4]@6 d4@5 ~@7 g3@6 c3@6 ~@18 d4@6 [c3,c4,e4]@5 ~, [d4,g4]@11 ~ d4@5 ~ g4@19 ~@5 g4@29 ~, g1@9 ~@15 c2@18 ~@6 c2@8 ~@2 g3@4 ~@10, ~@6 g2@6 ~@6 g2@2 ~@4 c4@12 ~@6 c4@10 ~@2 [c3,c4]@6 c2@11 ~]/3", // Gsus2 C G5 C
K: "[c3@4 g3@2 ~@14 g3@2 ~@6 g3@2 c3@4 g3@2 c3@4 ~@2 c3@4 g3@2 c3@4 ~@2 c3@6 f3@4 ~@8 f3@5 ~ c4@4 a3 ~ [f3,f4,a4]@6 ~@4 a3@2, [a#3,c4,e4]@11 ~ [c4,e4]@10 g4@10 ~@8 a#3@4 ~@2 a#3@6 g3@6 ~@2 a3 ~@3 a3@4 ~@2 c4@6 ~@20, g4@9 ~@7 a#3@4 ~@2 [a#3,c4,e4]@12 ~@2 [c4,e4]@9 ~ [c4,e4,g4]@13 ~ [c4,f4]@8 ~@2 [f4,a4]@13 ~@13, ~@6 c3@9 ~@3 c3@9 ~@39 f2@8 ~@4 f2@8 ~@4 [f2,e4,a4]@6]/4", // F C7 C C7 C F5 F Fmaj7
L: "~@4 a3@2 [f#2,f#4,a4]@4 a3 ~@5 b3@2 ~@4 b3@2, [f3,f4,a4]@6 ~@6 [d4,g4]@11 ~, ~@3 g1@2 ~, ~@3 g2", // F#m F G5
M: "~@2 b3 g2@3 ~@2 b3 ~@2 b3, [d4,g4]@11 ~ [d4,g4]@11 ~, g1@8 ~@4 g1@9 ~@3, ~@3 g2", // G5
N: "[[d4,a4]@4 b3@2 [g2,d4,g4]@6 [c4,e4,g4]@5 ~ e4@5 ~ c3@6 ~@10 c4@2 [e4,g4]@5 ~@5 c4@2 [c2,e4,g4]@4 c4 ~@7 d3@6, g1@10 ~@2 c2@15 ~@3 c2@9 ~@3 c2@8 ~@10 d2@9 ~@3, ~@24 [e4,g4]@17 ~@19 [d4,f4]@11 ~, ~@17 c4@2 ~@17, ~@6 c3 ~ [c3,d4,f4,g4] ~@3]/3", // D5 G5 C Em C Em Dm Csus4
O: "[[d4,f4,a4]@6 [d4,f4]@5 ~ [g2,b3,d4,g4]@6 [b3,d4,g4]@4 g3@2 ~@4 g3@2 ~@4 g3@2 g3@6 ~@12 c3@6 e4@6 c3@6, d2@10 ~@8 g1@9 ~@3 [g1,d4,g4]@6 c2@9 ~ g3@9 ~@17, ~@6 d3 ~@17 [g2,d4,g4]@6 ~@6 e4@12 c4@11 ~@13, ~@14 c3@2 c2@3 ~ c2@3 ~]/3", // Dm G G5
P: "[~@4 c4@2 [e4,g4]@5 ~ d4@6 ~@12 [d4,a4]@6 g2@6 g2@4 ~@8 [g2,e4]@6 ~@10 b3 ~, c2@10 ~@2 [b3,a4]@8 ~@16 d4@10 b3@13 ~@7 g2@6, [e4,a4]@6 c3@2 ~@4 g2@12 g1@13 ~@5 g1 ~@5 d4@11 ~@13, ~@18 [d4,g4]@11 ~@7 g4@23 ~@13, ~@48 g1@9 ~@3 [g1,d4,g4]@11 ~]/3", // Em D5 C B7 A5 G5
Q: "~@10 b3 ~@11 b3 ~, g1@11 ~ g1@9 ~@3, [b3,d4]@8 ~@4 [d4,g4]@11 ~, ~ g2 ~ g2", // Bm G5
R: "[[g1,a4]@6 d4@5 ~@7 g3@6 c3@6 ~@12 [c3,c4]@6, d4@5 ~ g4@19 ~@5 c4@10 ~@8, ~@3 g2 ~@2 c2@9 ~@3 e5@6, ~@6 c4@6 c5@7 ~@5, ~@9 c2@2 ~]/2", // Gsus2 C
S: "[d4@6 [c3,c4,e4]@5 ~ c3@4 g3@2 ~@14 g3@2 ~@6 g3@2 c3@4 g3@2, [c2,g5]@11 ~ [a#3,c4,e4]@11 ~ [c4,e4]@10 g4@10 ~@4, ~@12 g4@9 ~@7 a#3@4 ~@2 [a#3,c4,e4]@12 ~@2, ~@6 c3@3 ~ c3@3 ~@3]/2", // C C5 C7 C C7
T: "c3@2 ~ c3@2 g3 c3@2 ~ c3@3, [c4,e4]@9 ~ [c4,e4,g4]@13 ~, ~@2 a#3@2 ~ a#3@3 g3@3 ~", // C
U: "[f3@4 ~@8 f3@5 ~ c4@4 a3 ~ [f3,f4,a4]@6 [e4,a4]@4 a3@2 ~@4 a3@2 [f#2,f#4,a4]@4 a3 ~, [c4,f4]@8 ~@2 f4@13 ~@25, a3 ~@3 a3@4 ~@2 c4@6 ~@20 [f3,f4,a4]@6 ~@6, ~@6 f2@8 ~@4 f2@8 ~@4 f2@7 ~@11, ~ a4 ~@2]/2", // F A5 F#m F5 F
V: "~@2 b3 ~@2 b3 ~@2 b3 g2@3, [d4,g4]@11 ~ [d4,g4]@11 ~, g1@2 ~ g1@2 ~, ~ g2 ~@2", // G5
W: "~@2 b3 ~@2 b3 [d4,a4]@2 b3 [g2,d4,g4]@3, [d4,g4]@11 ~@13, g1@9 ~@3 g1@10 ~@2, ~ g2 ~@2", // D5 G5
X: "[c4,e4,g4]@5 ~ e4@5 ~ c3@6 ~@4 c4@2, c2@5 ~ c2@2, ~ [e4,g4]", // C Em
Y: "[g2,b3,d4,g4]@3 [b3,d4,g4]@2 g3 ~@2 g3 ~@2 g3, ~@2 g1@3 ~ [g1,d4,g4]@2, ~@2 [g2,d4,g4] ~", // G G5
Z: "[~@10 b3 ~ [g1,a4]@6 d4@5 ~@7 g3@6 c3@6 ~@12 [c3,c4]@6 d4@6 [c3,c4,e4]@5 ~, [d4,g4]@11 ~ d4@5 ~ g4@19 ~@5 c4@10 ~@20, g1@3 ~@5 c2@6 ~@2 e5@4 ~@4, ~@3 g2@3 ~@3 g2 ~@2 c4@6 c5@7 ~@11, ~@48 c2@8 ~@4 [c2,g5]@11 ~]/3", // Gsus2 C G5 C5
AA: "[c3@4 g3@2 ~@14 g3@2 ~@6 g3@2 c3@4 g3@2 c3@4 ~@2 c3@4 g3@2 c3@4 ~@2 c3@6 f3@4 ~@8 f3@5 ~ c4@4 a3 ~ [f3,f4,a4]@6 ~@4 a3@2, [a#3,c4,e4]@11 ~ [c4,e4]@10 g4@10 ~@8 a#3@4 ~@2 a#3@6 g3@6 ~@2 a3 ~@3 a3@4 ~@2 c4@6 ~@20, g4@9 ~@7 a#3@4 ~@2 [a#3,c4,e4]@12 ~@2 [c4,e4]@9 ~ [c4,e4,g4]@13 ~ [c4,f4]@8 ~@2 f4@13 ~@13, ~@6 c3@9 ~@3 c3@9 ~@39 f2@8 ~@4 f2@8 ~@4 [f2,e4,a4]@6, ~@6 a4 ~]/4", // F C7 C C7 C F5 Fmaj7
AB: "[[d4,a4]@4 b3@2 [g2,d4,g4]@6 [c4,e4,g4]@5 ~ e4@5 ~ c3@6 ~@4 c4@2 [g2,b3,d4,g4]@6 [b3,d4,g4]@4 g3@2 ~@4 g3@2 ~@4 g3@2 g3@6 ~@12 c3@6 e4@6 c3@6, g1@10 ~@2 c2@15 ~@3 c2@6 ~@6 g1@9 ~@3 [g1,d4,g4]@6 c2@9 ~ g3@9 ~@17, ~@24 [e4,g4]@12 ~@12 [g2,d4,g4]@6 ~@6 e4@12 c4@11 ~@13, ~@22 c3@2 c2@3 ~ c2@3 ~]/4", // D5 G5 C G G5 Em G5
AC: "[[d4,a4]@4 b3@2 [g2,d4,g4]@6 [c4,e4,g4]@5 ~ e4@5 ~ c3@6 ~@4 c4@2 [f3,f4,a4]@6 ~@4 a3@2, g1@10 ~@2 c2@15 ~@3 c2@6 f2@2 ~@4 [f2,e4,a4]@6, ~@2 [e4,g4] ~]/2", // D5 G5 C F Fmaj7 Em
AD: "[[d4,a4]@4 b3@2 [g2,d4,g4]@6 [c4,e4,g4]@5 ~ e4@5 ~ c3@6 ~@4 c4@2 [c2,g3]@23 ~@13, g1@10 ~@2 c2@15 ~@3 c2@6 ~@36, ~@8 [e4,g4]@4 e4@7 ~@5]/3", // D5 G5 C C5 Em
})).s("gm_epiano1").gain(0.39).pan(0.4)
// chords · epiano1 · "tk3" · soft notes
const epiano1_soft = note(`<
~@8 A@2 B ~@2 C D E F ~ G H ~ I J K L M ~ N O P ~@2 Q R S ~ T U V W X Y Z A@2 B ~@2 C D AA F ~ G H ~ I J AB ~ N O P
~@2 Q R S ~ T U V W X Y Z A@2 B ~@2 C D AA F ~ G H ~ I J AC ~ I J AD ~
>`.pickRestart({
A: "[~@28 c4@4 ~@2 c4 ~@11 c4@2, ~@11 g3@4 ~@9]/2", B: "~@16 b3 ~@5 b3@2", C: "~@8 b3 ~@2 b3", D: "~@16 g3 ~@7",
E: "~@4 g3@3 ~@9 g3@7 ~", F: "~@5 g3 ~@6", G: "~@10 a#3 ~@13", H: "~@4 a3@3 ~@9 a3@2 ~@6", I: "~@10 b3 ~@13",
J: "~@5 b3 ~@3 g4@2 c4", K: "~@2 c4@2 ~@7 c4", L: "~@11 a3", M: "~@5 a3 ~@2 g3 ~@3",
N: "~@16 c4@4 ~@2 c4 ~, ~@5 g3@4 ~@3", O: "~@5 c4 ~@6", P: "~@4 b3 ~@5 b3@2 ~@12", Q: "~@2 b3 ~@2 b3 ~@6",
R: "~@4 g3 ~@19", S: "~@4 g3@7 ~@11 g3@2", T: "~@22 a#3 ~", U: "~@16 a3@3 ~@5", V: "~@2 a3 ~@9", W: "~@22 b3 ~",
X: "~@11 b3", Y: "~@3 g4@2 c4 ~@2 c4@2 ~@2", Z: "~@2 g3 ~@9", AA: "~@16 g3@7 ~", AB: "~@2 c4@2 ~@4 g3 ~@3",
AC: "~@2 c4@2 ~@4 a3 ~@3", AD: "~ c4 ~@4",
})).s("gm_epiano1").gain(0.26).pan(0.4)
// chords · acoustic guitar steel · "tk4"
const acoustic_guitar_steel_2 = note(`<
~@15 A@3 ~@2 B@7 ~@7 C@3 ~@2 D@2 E F ~@7 G@3 ~@2 H@5 ~@7 C@3 ~@2 D@2 E F ~@7 G@3 ~@2 I@4 J@4 ~
>`.pickRestart({
A: "[~@26 e4@35 ~@11, ~@23 c3@38 ~@11, ~@24 e3@37 ~@11, ~@25 [a#3,c4]@36 ~@11]/3", // A#sus2
B: "[~@36 g4@4 ~@14 d4@2 ~@26 g3@6 ~@8 e4@4 ~@20 a4@2 ~@4 d4@2 ~@14 g4@11 ~@15, ~@12 d3@44 ~@8 c3@38 ~@10 [d3,a3]@16 ~@8 g3@17 ~@15, ~@16 g3@12 b3@2 g3@26 ~@10 e3@21 ~ e3@14 ~@22 a4@4 ~@40, ~@9 b3@3 g4@5 d4@3 g4@4 b3@4 ~@7 g3@4 c4@6 g3@7 ~@7 f4@5 ~@20, ~@22 d4@12 b3@8 d4@11 ~@23 e4@17 ~ c4@8 ~@12 d4@11 ~@13 b3@15 ~@15]/7", // D5
C: "[~@14 [c4,e4]@35 ~@23, ~@11 c3@38 ~@23, ~@12 e3@37 ~@23, ~@13 a#3@36 ~@23]/3", // C
D: "[~@12 g4@2 ~@7 d4 ~@2, d3@11 ~, ~@2 g3@6 b3 g3@13 ~@2, ~@3 b3@3 g4@5 d4@3 g4@4 b3@4 ~@2, ~@10 d4@12 b3@8 d4@11 ~@7]/2",
E: "~@11 g3, ~ c3@5, ~ e3@3, ~@5 g3@4 c4@3, ~@2 e4", F: "~@10 g4@11 ~@3, ~@4 g3@17 ~@3, ~@2 b3@5 ~",
G: "[~@26 [c4,e4]@35 ~@11, ~@23 c3@38 ~@11, ~@24 e3@37 ~@11, ~@25 a#3@36 ~@11]/3", // C
H: "[~@36 g4@4 ~@14 d4@2 ~@26 g3@2 ~@10 g4@11 ~@15, ~@3 d3@11 ~@2 c3@5 ~@9, ~@16 g3@12 b3@2 g3@26 ~@10 e3@18 ~@4 g3@17 ~@15, ~@18 b3@6 g4@10 d4@6 g4@8 b3@8 ~@14 g3@8 c4@6 ~@6 b3@15 ~@15, ~@22 d4@12 b3@8 d4@11 ~@23 e4@8 ~@36]/5",
I: "[~@36 g4@4 ~@14 d4@2 ~@26 g3@2 f3@5 ~ e3@5 ~, ~@3 d3@11 ~@2 c3@5 ~@3, ~@8 g3@6 b3 g3@13 ~@5 e3@9 ~@6, ~@9 b3@3 g4@5 d4@3 g4@4 b3@4 ~@7 g3@4 c4@3 ~@6, ~@22 d4@12 b3@8 d4@11 ~@23 e4@8 ~@12]/4",
J: "[f3@4 ~@2 f#3@5 ~@25 g4@4 ~@14 d4@2 ~@26 g3@2 ~@12, ~@3 d3@11 ~@2 c3@5 ~@3, ~@8 g3@6 b3 g3@13 ~@5 e3@9 ~@6, ~@9 b3@3 g4@5 d4@3 g4@4 b3@4 ~@7 g3@4 c4@3 ~@6, ~@22 d4@12 b3@8 d4@11 ~@23 e4@8 ~@12]/4",
})).s("gm_acoustic_guitar_steel").gain(0.49).pan(0.6)
// chords · acoustic guitar steel · "tk4" · soft notes
const acoustic_guitar_steel_3 = note(`<
~@20 A ~@2 B ~@15 C ~ D ~@13 A ~@2 B ~@13 C ~ D ~@13 A ~@2 B A ~@2 B ~
>`.pickRestart({
A: "~@4 g3 ~@3", B: "e4 ~@7", C: "g3 ~@7", D: "~@4 e4 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.35).pan(0.6)
// other · electric guitar clean · "tk5"
const electric_guitar_clean = note(`<
~@38 A B ~@2 C ~@11 D E@2 ~ F G ~@11 A B ~@2 C ~@11 D E@2 ~ D E@2 ~@3
>`.pickRestart({
A: "f3@5 ~ e3@5 ~ d3@5 ~ c3@5 ~", B: "g2@23 ~", C: "~@4 g2@2 g2@6 a2@5 ~ b2@5 ~", D: "~@12 f3@5 ~ e3@5 ~",
E: "[d3@5 ~ c3@5 ~ g2@23 ~@13]/2", F: "~@8 g2 g2@3", G: "a2@5 ~ b2@5 ~@13",
})).s("gm_electric_guitar_clean").gain(0.73).pan(0.4)
// other · electric guitar clean · "tk5" · soft notes
const electric_guitar_clean_2 = note("<~@38 A ~@16 B ~@15 A ~@16 B ~@3 B ~@4>".pickRestart({
A: "~@12 g3@5 ~@7", B: "g3@5 ~@19",
})).s("gm_electric_guitar_clean").gain(0.36).pan(0.4)
// chords · string ensemble 1 · "tk7"
const string_ensemble_1 = note(`<
~@37 A B C D E F G@2 H@2 I@2 J@2 K@4 L@4 M@2 N@3 O P@5 Q R S T U V W@2 X@2 Y@2 Z AA AB AC AD@2 AE@4 AF@5
>`.pickRestart({
A: "f4", B: "f4 e4 d4 c4", C: "b3", D: "d4", E: "f4 e4@5", F: "[g4,b4]@23 ~",
G: "[[c5,e5]@35 ~ d5@4 ~@2 b4@3 ~ [a4,c5]@2, ~@35 f5@5 [c5,e5]@3 ~@5, ~@41 d5@5 ~@2]/2", H: "[[g4,b4]@23 ~]/2",
I: "[[b4,d5]@12 g4@11 ~ g4@11 ~ [d5,f5]@3 [c5,e5]@2 ~ [b4,d5]@4 e5@2, ~@12 b4@24 ~@10 c5 ~]/2", // Bm Dm C Bm
J: "[[g4,c5] [c5,g5]@7]/2", K: "[[a#4,e5]@60 f4@23 ~ f4@6 e4@6]/4",
L: "[d4@3 c4@3 b3@12 d4@12 f4@2 e4@10 ~@3 [b4,b5]@3]/4", M: "[[c5,c6] [d5,d6] [c6,e6]@6]/2",
N: "[[d6,f6]@2 e6 d6@2 [a5,c6] [b5,d6]@3 [d6,g6]@20 d6 d6@6, ~ c6 ~@16, ~@3 b5 ~@26 b5@5 ~]/3", O: "g5!2, b5",
P: "[[d6,f6]@4 [c6,e6]@2 [b5,d6]@4 [c6,e6]@2 [g5,c6]@6 [c6,g6]@18 ~@3 e4@2 ~ d4@2 ~ c4@2 ~ f4@2 ~@7 c4@3 g6@18 f6@6 e6@18 g6@6 a#6@12, ~@38 g4@3 c5@3 e5@3 g5@3 c6@3 e6@3 f6@4 ~@60, ~@51 e4@3 d4@4 ~@62]/5", // Dm C Bm C C5
Q: "a6@11 ~", R: "f6@2 ~ e6@2 ~ d6@2 ~ c6@2 ~", S: "[g5,b5]@3 [a5,c6]", T: "[b5,d6]", U: "b5 c6@3, g5",
V: "~ [g5,b5] [a5,c6] [b5,d6]", W: "[[c6,e6]@18 [d6,f6]@2 e6 d6@2 [a5,c6], ~@10 c6 ~, ~@21 b5 ~@2]/2",
X: "[[b5,d6]@3 [d6,g6]@20 d6]/2", Y: "[d6@6 g5@6 g5@6 [d6,f6]@2 [c6,e6] [b5,d6]@2 [c6,e6], b5@5 ~ b5@12 ~@6]/2",
Z: "[g5,c6] [c6,g6]@3", // C5
AA: "~@3 e4@2 ~ d4@2 ~ c4@2 ~ f4@2 ~@7 c4@3, ~@2 g4@3 c5@3 e5@3 g5@3 c6@3 e6@3 f6@4, ~@15 e4@3 d4@4 ~@2",
AB: "g6@3 f6", AC: "e6@3 g6", AD: "[a#6@6 a6@11 ~ f6@2 ~ e6@2 ~]/2",
AE: "[d6@2 ~ c6@2 ~ [g5,b5]@9 [a5,c6]@3 [b5,d6]@12 b5@3 c6@9 f6@2 ~ e6@2 ~, ~@5 g5@2 ~]/4", // G Am Bm
AF: "[d6@2 ~ c6@2 ~ [g5,b5]@9 [a5,c6]@3 [b5,d6]@12 b5@3 c6@9 [c6,e6]@12 ~@6, ~@5 g5@2 ~@3]/5", // G Am Bm C
})).s("gm_string_ensemble_1").gain(0.42)
// other · tubular bells · "tk8"
const tubular_bells = note(`<
~@37 A ~@13 B C D E F ~@3 G H ~@2 I J ~@2 K ~ L M N O ~@3 P O ~@2 Q O ~@2 B C D E F ~@2 E F ~@4
>`.pickRestart({
A: "a5 ~@23", B: "a#5@7 ~@17", C: "~@12 a#5@11 ~", D: "~@6 a5@5 ~", E: "~@12 a5 ~@5 f5 ~@5",
F: "d5 ~@5 c5 ~@5 g5 ~@11", G: "~@12 e5 ~@11", H: "~ c5 ~@10 g5 ~@11", I: "~@12 d5 ~@11", J: "g4 ~@11 g5 ~@11",
K: "~@12 a#5@7 ~@5", L: "a#5@11 ~@13", M: "a5@5 ~@7", N: "a5 ~@5 f5 ~@5 d5 ~@5 c5 ~@5", O: "g5 ~@23",
P: "e5 ~@12 c5 ~@10", Q: "d5 ~@11 g4 ~@11",
})).s("gm_tubular_bells").gain(0.39).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
~@26 A B@2 C D B E B F B G F H I@2 F J K@3 L K G K F K F E M E N@2 O P B@2 C D B E B F B G F H I@2 F J K@3 L K G K F K
F E M E N@2 M E N@2 K ~
>`.pickRestart({
A: "~@6 x ~@4 x", B: "x ~@5 x ~@4 x", C: "x ~@5 x ~ x ~@2 x", D: "x ~ x!2 ~ x!2 ~@4 x", E: "x ~@2 x ~@2 x ~@4 x",
F: "x ~@4 x!2 ~@4 x", G: "x ~@4 x!2 ~@2 x ~@2", H: "x ~ x!2 ~ x!2 ~@2 x ~@2", I: "x ~@4 x!2 ~ x ~@2 x",
J: "x ~ x!2 ~@2 x ~ x!2 ~@2", K: "x ~@4 x!2 ~@5", L: "x ~ x ~@2 x!2 ~ x!2 ~ x", M: "x ~@4 x!2 ~ x!2 ~ x",
N: "x ~ x ~@2 x!2 ~@4 x", O: "x ~@4 x!2 ~ x!2 ~@2", P: "x ~ x!2 ~@2 x ~@4 x",
})).gain(0.72)
// drums · snare
const snare = s("sd").struct("<~@26 [~@3 x] [~ x ~ x]!68 [~@2 x!2 ~ x!2 ~@5] ~>").gain(0.8)
// drums · hihat
const hihat = s("hh").struct("<~@8 [x ~ x!2 ~ x!2 ~ x!2 ~ x]!87 [x ~ x!2 ~ x!2 ~@5] ~>").gain(0.56)
// drums · crash
const crash = s("cr").struct("<~@95 [~ x] ~>").gain(0.72)
// drums · tambourine
const tambourine = s("tb").struct("<~@43 [x!4]!52 [x!3 ~] ~>").gain(0.64)
// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@8 [~ x ~ x]!87 [~ x ~@2] ~>").gain(3.24)
// drums · shaker
const shaker = s("sh").struct("<~@8 [x ~ x ~@2 x!2 ~ x ~@2 x]!87 [x ~ x ~@2 x!2 ~@5] ~>").gain(0.48)
// … 10 more lines
More by Neil Diamond
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.