0:00/0:00
// Parsifal (parte II) — Pooh
// 60 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 70 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/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
const piano = note(`<
A B C D E F G H I J K L M N O P Q R S@7 T@6 U V W@3 X@3 Y@8 Z@3 AA@8 AB@3 AC@3 AD AE@2 AF@2 AG
>`.pickRestart({
A: "d4@5 ~ d4@3 ~@3 [d4,f4,a4]@6 d4@3 ~@3 [db4,e4,a4]@9 ~@12 e4@2 ~, d2@22 ~@17 db3@8 ~, [f4,a4]@9 d3@12 ~@3 db3@5 ~@7 a4@11 ~, ~@42 db4@5 ~", // Dm A F
B: "[a3,c4]@6 ~@12 a3@4 ~@2 [b2,g3,b3,d4]@6 ~@3 [a3,b3]@3 g3@2 ~@7 g4@2 ~, [c3,e4]@9 c3@13 ~@8 b2@5 ~@4 b2@9, ~@6 a3@6 [c4,e4,a4]@10 ~@11 d4@5 ~@4 d4@5 ~", // Am G Asus2 C Am
C: "[bb3,d4,f4]@6 f3@6 ~@6 f3@4 ~@11 a3 ~@2 f4@3 f3@3 a3@3 c4 ~@2, bb2@22 ~@2 [a2,c4,e4]@9 a2@12 ~@3, ~@12 [bb3,d4,f4]@11 ~@7 f3@6 c4@9 ~@3", // Bb Am Bb
D: "g3@3 ~@15 c4@3 ~@3 a3@3 ~@15 a4@4 ~@2, g1@10 ~@2 a1@11 ~, c4@6 g3@6 g2@9 ~@6 a2@7 ~@2 a2@10 ~@2, ~@3 g2@6 bb3@11 ~@4 d4@7 ~@2 db4@13 ~@2, ~@15 g3@6 ~@9 a3@6 ~@3 a3@8 ~",
E: "~@12 [a3,d4,e4,f4]@3 [a3,d4]@2 ~@7 [db4,e4]@9 ~@12 e4@2 ~, d2@17 ~@19 a4@11 ~, ~@9 d3@9 ~@15 db4@6 a3@8 ~, ~@42 db4@5 ~", // Dm D5 Dbm
F: "[a3,c4,e4]@9 ~@3 b3@2 ~ a3@2 ~@7 [b2,b3,d4]@9 b3@2 ~@7 b3@3 d4@2 ~, c2@18 ~@21 g3@8 ~, ~@9 c3@9 ~@15 b2@14 ~, ~@12 [c4,e4]@6 ~@18 g4@11 ~", // Am Bm C
G: "~@3 bb2@6 ~@9 f4@3 f3@2 ~@7 a3@3 c4@2 ~@7 c5@3 ~@3, bb1@8 a1@7 ~, [bb3,d4]@6 ~@3 [bb3,d4]@10 ~@5 f4@8 ~@4 f4@9 ~@3, ~@4 bb2@4 ~ a2@6 ~, ~@15 f3@6 ~@3 c4@5 ~@10 a4@7 ~@2", // Bb
H: "~@6 c4@2 a3 ~ a3 ~@2 a3 a4 a3, g1@5 ~ a1@5 ~, c5@6 f3@6 g2@8 ~@16 a2@9 ~@3, ~@3 g2@6 bb3@11 ~@4 d4@7 ~@2 db4@12 ~@3, ~@5 g3@2 ~@2 e3@2 ~@5",
I: "d4@3 a3@3 ~@6 db4@4 ~@5 a4@2 ~, d2@23 ~ db2@23 ~, ~@6 [d4,f4]@5 ~@7 [db4,e4]@5 ~, ~@18 a3@11 ~@4 db3@9 ~@6", // Dm Dbm
J: "c3@6 ~@12 a3@5 ~ [g3,b3,d4]@8 ~@4 [a3,b3]@3 g3@3 [b2,b3]@3 [d3,g3,d4]@2 ~, [c4,e4]@9 c3@14 ~ b1@23 ~, a3@2 ~@4 a3@6 [c4,e4]@11 ~@10 b2@7 ~@8, ~@12 d4@3 ~", // G Asus2 B G5 C
K: "[bb3,d4]@6 f3@6 ~@6 f3@4 ~@20 c5@2 ~ f4@2 ~, bb1@22 ~@2 a1@23 ~, ~@12 [bb3,d4]@11 ~ a3@5 ~ a3@6 f4@3 a4@5 ~@4, ~@9 f3@6 ~, ~@11 c4@4 ~", // Bb
L: "~@6 c4@2 a3 ~@5 a4 ~, g1@5 ~ a1@5 ~, c5@6 g3@6 g2@8 ~@7 a2@7 ~@2 a2@9 ~@3, ~@3 g2@6 bb3@11 ~@4 d4@7 ~@2 db4@12 ~@3, ~@15 g3@6 ~@9 a3@7 ~@2 a3@6 ~@3",
M: "[d4,f4]@10 ~@2 [d4,f4]@6 a3@6 [db4,e4]@11 ~ db4@6 a3@5 ~, d3@24 db3@23 ~", // Dm Dbm
N: "[c4,e4]@9 ~@3 [c4,e4]@6 a3@3 ~@3 [b3,d4]@6 b2@3 ~@3 g4@3 ~@6 d4 ~@2, c3@21 ~@3 b1@23 ~, ~@33 [b2,g3,b3]@6 [b2,g3]@8 ~, ~@42 b3@5 ~", // C Bm Em
O: "[bb3,d4]@6 f3@6 ~@6 f3@3 ~@3 e4@4 ~@2 e4@3 ~@3 [e4,a4,c5]@6 a3@4 ~@2, [bb1,bb2]@11 ~ [a2,a3,a4,c5]@5 ~@7, f3@3 ~@9 [bb3,d4]@10 ~@11 a2@12 ~@3", // Bb Am Bb Am Bb
P: "[g2,c4]@6 ~@12 c4@3 ~@3 a3@3 ~@18 a3@2 ~, g3@4 ~@2 [d2,g3]@6 g1@10 ~@2 a1@9 db4@12 ~@3, ~@9 bb3@12 ~@3 d4@6 a3@12 a2@5 ~, ~@15 g3@7 ~@5 a2@11 ~ a1@7 ~@2", // C5 G5
Q: "~@19 a2@3 a3 ~@2 [e4,a4]@3 ~@15 a2@4 e4, [db4,e4]@8 ~ [a3,db4,e4,a4]@13 ~@9 db5@16 ~, a3@5 ~ a2@10 ~@12 a2@11 ~ a1@7 ~, ~@3 a1@11 ~@2 a1@7 ~@2 a1@9 a4@13 ~, ~@31 e4@12 ~@5", // A5 Dbm A
R: "~@11 a3@2 ~ [a3,d4,f4]@9 d3@3 [db4,e4]@7 a3@5 ~ a3@3 ~@3 a3@3, ~ d2@11 ~@12, ~@2 [a3,d4,f4]@11 ~@13 a3@4 ~@9 [db4,e4]@9, ~@8 d3@10 ~@8 db3@13 ~@3 db3@6", // Dm Dbm Dm Dbm
S: "[~@3 [c4,e4]@11 ~@2 [a3,c4,e4]@11 ~ [b2,b3,d4]@6 ~@3 b3@7 g3@2 ~@4 g2@2 ~ [bb2,bb3,d4]@12 ~@7 f3@4 ~@2 a3@6 ~@3 a3@2 ~ a3@3 ~@3 a3@2 ~@5 [g3,c4]@6 d3@2 ~ [d3,g3,bb3]@6 ~@3 g3 ~@2 g2 ~@2 [a3,d4]@8 ~@2 [a3,db4]@6 a2@3 [a3,db4]@3 a2 ~@2 a4@3 ~@22 a4@3 ~@16 a4@3 db5 ~@11 a3@2 ~ [a3,d4,f4]@10 d3@3 [db4,e4]@6 a3@5 ~ a3@3 ~@3 a3@4 ~@3 [c4,e4]@11 ~ [a3,c4,e4]@11 ~ [b2,b3,d4]@7 ~@3 b3@6 g3@2 ~@4 g2@2 ~ [bb2,bb3,d4]@13 ~@6 f3@4 ~@2 [a2,c4,f4]@9 a3, ~@3 c3@13 ~@21 [g2,d4]@11 ~@17 f3@5 ~@33 d3@2 ~@16 [d3,bb3]@5 ~@32 a4@10 db5@8 ~ db5@5 ~ a4@10 a3@8 ~ [a3,d4,f4]@11 ~@14 a3@4 ~@8 [db4,e4]@10 ~@3 a3@6 ~@18 g3@3 ~@4 g3@7 ~@5 [g3,b3,d4]@5 ~ f3@6 ~@7 [bb3,d4]@11 ~ a3@6 ~@4, ~@3 a3@6 ~@19 g3@3 ~@3 g3@7 ~@6 [g3,b3,d4]@5 ~ f3@7 ~@5 [bb3,d4]@11 ~@14 [c4,f4]@8 ~@57 a3@16 a4@5 ~@4 a3@6 db5@8 ~@14 d3@10 ~@9 db3@13 ~@2 db3@8 ~@2 c3@12 ~@22 [g2,d4]@11 ~@17 f3@5 ~@17, ~@68 bb2@9 ~ [a2,c4,f4]@13 ~@2 a2@9 ~ g2@11 ~@4 g2@6 ~@3 a2@10 ~@15 a2@21 ~ a2@14 ~@2 a2@10 ~@2 d2@22 ~@93 bb2@9 ~@10, ~@162 e5@13 ~@11 [e5,a5]@14 ~@136]/7", // C Am Bm Bb C5 Gm D5 A …
T: "[~@2 a3@4 ~@3 a3@2 ~@4 [g3,c4]@6 d3@2 ~ [d3,g3,bb3]@6 g2@4 g3 ~@2 g2 ~@2 [a3,d4]@8 ~ [a3,db4]@6 a2@3 [a3,db4]@3 a2 ~@3 a3@3 ~@3 [a3,db4] ~@2 a3@6 ~@6 db4 ~@9 db4@2 ~@10 a2@3 db4 ~@12 a3@2 ~ [a3,d4,f4]@9 d3@3 [db4,e4]@6 a3@5 ~ a3@4 ~@3 a3@4 ~@2 [c4,e4]@10 ~@2 [a3,c4,e4]@11 ~@2 [b2,b3,d4]@6 ~@3 b3@6 g3@2 ~@4 g2@2 ~@2 [bb2,bb3,d4]@12 f3@3 ~@3 f3@4 ~@2 [a2,c4,f4]@10 a3@2 ~ a3@3 ~@3 a3@2 ~@4 [g3,c4]@6 d3@2 ~ [d3,g3,bb3]@7 ~@3 g3 ~@2 g2 ~@2, ~@2 [c4,f4]@8 ~@5 d3@2 ~@17 [d3,bb3]@5 ~@26 e4@7 ~@2 a4@13 ~@2 [e4,a4]@8 ~@2 [db4,e4,a4]@13 ~@2 [a3,d4,f4]@10 ~@15 a3@4 ~@8 [db4,e4]@10 ~@3 a3@6 ~@19 g3@3 ~@3 g3@7 ~@5 [g3,b3,d4]@5 ~@2 f3@7 ~@5 [bb3,d4]@11 ~ a3@6 ~@7 [c4,f4]@8 ~@29, ~@6 a2@9 g2@12 ~@13 a2@13 ~@15 a2@10 ~@2 a2@8 ~ a1@13 ~@3 a1@7 ~@2 d2@22 ~@62 [g2,d4]@11 ~@54 g2@12 ~@4 g2@6 ~@3, ~@74 db4 ~@8 a3@5 ~@4 a2@12 ~@16 d3@10 ~@9 db3@13 ~@3 db3@8 ~ c3@12 ~@53 bb2@9 ~@16 a2@9 d3@2 ~@17 [d3,bb3]@5 ~]/6", // C5 Gm D5 A Dm Dbm C Am …
U: "[d2,d3]@2 ~ [db2,db3] ~@5 [f2,f3]@2 ~ [e2,e3]@2 ~@4 [g2,g3]@2 ~ [f2,f3] ~@2 [bb2,bb3]@2 ~ [a2,a3] ~@5 [d3,d4]@2 ~ [db3,db4]@3 ~@3 [e3,e4]@3 [f3,f4] ~@2", // D Db F E G F Bb A …
V: "~@10 a3@2 ~ [a3,d4,f4]@9 d3@3 [db4,e4]@7 a3@5 ~ a3@3 ~@3 a3@4, d2@11 ~@13, [a3,d4,f4]@11 ~@14 a3@4 ~@9 [db4,e4]@10, ~@6 d3@10 ~@9 db3@13 ~@3 db3@7", // Dm Dbm Dm Dbm
W: "[~@3 [c4,e4]@10 ~@2 [a3,c4,e4]@11 ~@2 [b2,b3,d4]@6 ~@3 b3@7 g3@2 ~@4 g2@2 ~ [bb2,bb3,d4]@13 ~@6 f3@4 ~@2 [a2,c4,f4]@10 a3@2 ~ a3@3 ~@3 a3@2 ~@5 [g3,c4]@6 d3@2 ~ [d3,g3,bb3]@6 g2@4 g3 ~@2 g2 ~@2 [d2,d3]@2 ~ [db2,db3] ~@5 [f2,f3]@2 ~ [e2,e3]@2 ~, ~@3 c3@12 ~@22 [g2,d4]@11 ~@18 f3@5 ~@33 d3@2 ~@17 [d3,bb3]@5 ~@16, ~@3 a3@6 ~@19 g3@3 ~@3 g3@7 ~@6 [g3,b3,d4]@6 f3@7 ~@6 [bb3,d4]@11 ~ a3@6 ~@7 [c4,f4]@8 ~@45, ~@69 bb2@9 ~@16 a2@9 ~ g2@12 ~@28]/3", // C Am Bm Bb F C5 Gm D …
X: "[~@3 [g2,g3]@2 ~ [f2,f3] ~@2 [bb2,bb3]@2 ~ a3@2 ~@4 [d3,d4]@2 ~ [db3,db4]@3 ~@3 [e3,e4]@3 [f3,f4] ~@2 [f4,a4]@6 d4@7 [f4,a4]@6 d4@7 [f4,a4]@6 d4@7 a4@6 d4@6 ~ a3@4 ~@3 a3@6 [d4,f4]@10 ~@3 [a3,c4,e4]@7 a2 ~@5 [a3,b3,c4]@4 a3 ~@8 [bb2,d4,f4]@7, ~@12 a2 ~@20 [d1,d2]@52 [d2,f4]@12 ~@14 a2@6 ~@4 a2@12 ~@11, ~@33 d4@3 ~@49 d4 ~@38 e4@7 ~@13]/3", // G F Bb D Db E F Dm …
Y: "[~@13 d4@4 ~@3 a3@3 ~@3 a3@3 c4@2 ~@8 c5@3 f4 ~@13 d4@3 f4@10 ~@9 c4@2 ~@5 a3@3 a3 ~@3 g4@3 a4@2 ~@21 [f3,bb3,d4]@6 c4@4 ~@3 a3@3 c4@3 ~@7 c5@4 ~@2 e4 ~@3 e4@3 g4@3 e4 ~@9 g3@5 ~@2 e4@3 ~@13 e4@3 [a3,g4]@4 [db4,e4]@2 ~ d4@3 ~@16 d4@4 f4@3 ~@23 bb3@2 ~ [c4,f4]@7 ~@16 a3@2 ~@5 bb2@6 ~@13 f3@2 ~@8 f3@7 ~@6 f3@5 ~@2 [f3,bb3]@3 ~@16 d4@4 ~@16 a4@11, ~@3 bb2@14 ~@3 a1@23 ~@3 d2@26 ~@36 d4@9 ~@7 f4@9 ~@4 f4@11 ~@19 c4@8 ~@11 db4@7 db3@9 ~@30 bb2@10 d4@12 ~@11 c4@15 ~ [bb3,d4]@9 ~@8 f3@6 ~@4 a2@24 ~@5 bb2@21 ~@5 a2@21, ~@6 f4@11 ~@3 f4@8 ~@5 f4@9 ~@4 [d4,f4]@9 ~@20 e3@9 ~ e3@10 ~@6 f3@13 bb2@7 ~@7 a2@21 ~ [c3,c5]@12 ~@2 [c3,e4]@12 ~@4 db3@10 a4@12 ~@11 f4@7 ~@16 f3@9 bb2@8 ~@15 f4@12 ~@14 f4@13 ~@27 d4@8 ~@2 f4@13 ~@13 e4@14, ~@10 bb3@8 ~@2 c4@5 ~@11 a4@7 ~@39 [b3,c4,e4]@14 ~@9 bb3@12 ~@47 g3@5 ~@8 [a3,db4]@5 ~ a3@11 ~@9 a3@2 ~ a3@11 ~@2 a3@10 [bb3,d4]@8 ~@2 bb3@9 ~ f3@5 ~ a3@3 ~@4 a3@13 a2@6 ~@10 bb2@5 ~@5 bb3@6 ~ [c4,a4]@10 ~@3 [a3,c4]@11 ~@15 d4@3 bb3@7 ~@3 [a3,db4]@24, ~@23 a2@21 ~@5 d3@23 a2@16 a2@8 ~@2 bb2@13 bb1@11 ~@2 a1@23 ~@30 db2@24 ~@2 d2@13 c2@12 ~ bb1@23 ~@3 a1@14 ~@3 a1@9 bb1@24 ~@29 bb1@24 ~@26]/8", // Bb A7 Dbm F5 Bb5 Bb Dm C …
Z: "[~@2 a3@4 ~@3 a3@6 [d4,f4]@10 ~@13 [b3,c4,e4]@6 ~@4 [b3,c4,e4]@5 ~ [bb3,d4]@9 ~ bb3@3 ~@7 bb2@6 ~ a3@3 ~@3 a3@3 c4@2 ~@8 c5@4 ~@13 d4@3 f4@10 ~@3 [a2,c4,e4]@11, ~@2 [d1,d2,f4]@12 ~@31 e3@9 ~@14 d4@12 ~ f4@8 ~@5 f4@11 ~@2 [d4,f4]@9 ~@28, ~@2 d4 ~@25 a2@24 ~@2 bb1@24 ~@3 a1@23 ~@3 d2@26 ~@11, ~@71 bb3@9 ~ c4@5 ~@11 a4@7 ~@40, ~@84 a2@21 ~@5 d3@23 ~@11]/3", // Dm Cmaj7 Bb Am Dm
AA: "[~@9 a3@6 ~@20 [f3,bb3,d4]@6 c4@4 ~@3 a3@3 c4@3 ~@7 c5@4 ~@3 g3@3 ~@23 a3@3 ~@7 db4@6 ~@3 a3@4 db4@2 ~ d4@3 ~@20 f4@3 d4 ~@22 bb3@2 ~ [c4,f4]@7 ~@16 a3@2 ~@11 bb3@4 ~@9 bb3@2 ~@21 a3@5 ~@2 [f3,bb3]@3 ~@10 d4@12 ~ [a3,d4]@8 ~@2 [a3,db4]@6 a2@3 [a3,db4]@2 ~@2 a2 ~@2 a3@3 ~@3 [a3,db4] ~@2 a3@6 ~@3 a3@3 db4 ~@8 db4 ~@2 db4@6 ~@3 a2@3 db4 ~@11 a3@2 ~ [a3,d4,f4]@9 d3@3 [db3,db4,e4]@6 a3@3, ~@2 e4@15 ~@5 bb3@10 bb2@7 ~@6 a2@21 ~@5 c3@10 e4@11 ~@2 [db4,e4]@7 ~@29 f4@7 ~@3 d4@6 ~@10 bb3@6 bb2@8 ~@15 f4@12 ~@8 f3@11 ~@2 f3@5 ~@8 a3@10 a2@9 ~@4 bb2@21 ~@2 a2@10 ~@19 a2@9 ~@3 a2@7 ~@5 a2@12 ~@15 d3@9 ~@18, ~@2 [b3,c4]@7 ~@9 f3@10 bb1@11 ~@2 a1@23 ~@4 c2@14 ~@2 c2@5 ~@5 db2@24 ~@2 d2@13 c2@12 ~ bb1@23 ~@3 a1@14 ~@3 a1@9 bb1@24 ~@3 a1@25 ~ bb1@24 ~@52 a1@13 ~@2 a1@7 ~@2 d2@21 ~@12, ~@5 a2@10 bb2@10 d4@9 ~@7 f4@9 ~@4 f4@11 ~@3 [c4,e4]@6 g3@12 ~ c3@5 ~@5 db3@11 ~@2 db3@9 ~@30 bb2@10 d4@12 ~@11 c4@15 ~ [bb3,d4]@9 ~@5 d4@12 ~ c4@7 ~@2 c4@13 ~@4 d4@8 ~@53 db4 ~@14 [e4,a4]@7 ~@2 [e4,a4]@13 ~@2 [a3,d4,f4]@10 ~@14 a3@4 ~@5, ~@77 c4@12 ~ g3@7 ~@3 a3@11 ~@9 a3@2 ~ a3@11 ~@2 a3@10 bb3@6 ~ f3@11 ~@2 f3@5 ~ a3@3 ~@4 a3@13 a2@6 ~@4 bb2@11 ~@2 bb2@8 ~@5 a2@10 f4@12 ~@53 e4@7 ~@2 a4@13 ~@59]/8", // Bb F5 Bb5 D5 A Dm Dbm Cmaj7 …
AB: "[~@3 a3@3 ~@3 a3@3 ~@3 [c4,e4]@10 ~@2 [a3,c4,e4]@10 ~@2 [b2,d4]@6 ~@9 g3@2 ~@4 g2@2 ~ [bb2,d4]@12 f3@3 ~@3 f3@3 ~@3 [a3,c4,f4]@9 a3@2 ~ a3@3 ~@3 a3@2 ~@4 [g3,c4]@6 d3@2 ~ [d3,g3,bb3]@6 ~@3 g3 ~@2 g2 ~@2 [d2,d3]@2 ~ [db2,db3] ~@5, ~@3 [db4,e4]@10 ~@2 a3@6 ~@18 b3@5 ~@4 [g2,b3,d4]@10 ~@20 bb2@8 ~ a2@13 ~@2 a2@8 ~ g2@11 ~@4 g2@6 ~@12, ~@6 db3@7 ~@2 c3@12 ~@12 g3@2 ~@4 g3@7 ~@5 [g3,b3,d4]@5 ~ [f3,bb3]@9 ~@3 [bb3,d4]@11 ~@13 [c4,f4]@7 ~@5 d3@2 ~@16 [d3,bb3]@5 ~@10]/3", // C Am Bm Bb F C5 Gm D …
AC: "[[f2,f3]@2 ~ [e2,e3]@2 ~@4 [g2,g3]@2 ~ [f2,f3] ~@2 [bb2,bb3]@2 ~ a3@2 ~@4 [d3,d4]@2 ~ [db3,db4]@3 ~@3 e3@4 ~ f3@4 a2@4 ~ e3@4 f3@4 ~ a2@3 ~@22 e3@4 ~ f3@4 ~ a2@4 e3@4 ~ f3@4 a2@4 ~@36, ~@18 a2 ~@125]/3", // F E G F Bb D Db
AD: "~@43 e3@4 ~", AE: "[f3@4 a2@4 e3@3 ~ f3@3 ~ a2@3 ~@27 e3@4 f3@3 ~ a2@4 e3@3 ~@2 f3@3 ~ a2@3 ~@26]/2",
AF: "[d2@3 ~@2 d2@3 ~ d2@3 ~ d2@4 d2@3 ~ d2@3 ~@2 c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~@2 c2@3 ~ bb1@3 ~ bb1@4 bb1@3 ~@2 bb1@3 ~ bb1@3 ~ bb1@2 ~@2 a1@3 ~ a1@3 ~@2 a1@4 a1@3 ~ a1@3, ~@26 d2 ~@69]/2",
AG: "~ a1@3 ~@44",
})).s("gm_piano").gain(0.32)
// chords · piano · soft notes
const piano_soft = note(`<
A B C ~ D E F ~ G ~ H ~ I J ~@3 K L M ~@2 N O P ~@3 Q R ~@2 S T U ~@2 V W ~ X Y@2 Z AA ~ AB AC AD AE AF AG AH AI AJ AK
~@2 AL AM ~@10
>`.pickRestart({
A: "~@11 db4@2 ~@3, ~@30 db3@7 ~@11", B: "a4@5 ~@19", C: "~@12 bb4@11 ~ a3@9 ~@3 e4@6 f3@4 ~@2, ~@12 a3 ~@3",
D: "[a3,d4,f4]@2 ~@4 [a3,a4]@3 ~@3, ~@24 db3@23 ~", E: "c3@3 ~@9 g4@4 ~@8", F: "~@6 f3@6 ~@9 bb3 ~@2 a3@3 ~@21",
G: "f4@5 ~@7 e4@3 a3@4 ~@2 a3@2 ~, a3@3 ~@21 f4 ~@23", H: "f3@2 ~@22 [c4,f4]@9 ~@15",
I: "~@6 a3@7 ~@17 a3@6 e4@9 ~@3", J: "~@6 a3@7 ~@11 g3@6 ~@18", K: "~@36 db4 ~@11", L: "~@13 a3@2 ~@10 c3@3 ~@20",
M: "~@14 f3 ~@33", N: "~@44 db4 ~@3", O: "~@21 a3@2 ~@10 c3@3 ~@12", P: "~@23 f3 ~@24",
Q: "~@4 db4 ~@24 a3@2 ~@11 c3@3 ~@3", R: "~@31 f3 ~@16", S: "~@35 db4@2 ~@11", T: "~@12 a3@2 ~@11 c3@3 ~@20",
U: "~@15 f3@2 ~@31", V: "~@3 f4 ~@2", W: "~@9 a3@4 ~@35", X: "~@4 a3@10 ~@7 d4 ~@26, ~@14 d4@5 ~@29, ~@17 a3@10 ~@21",
Y: "[~@28 a3 ~@16 a4@7 ~@32 e4@3 ~@3 e4@3 ~ e4@2, ~@27 a4@3 ~@2]/2", Z: "~@11 f4@6 d4@10 ~@21", AA: "~@3 a2@2 ~@3",
AB: "~@8 bb3@6 ~@16 a1@17 ~, ~@4 f3@17 ~@27", AC: "~@11 a3@2 ~@11", AD: "~@13 f3@14 ~@2 f3@2 ~@17, ~@5 bb2@6 ~@13",
AE: "~@17 a3@10 ~@7 d4 ~@9 a3@4, ~@27 d4@5 ~@16, ~@15 a3@5 ~@4", AF: "~@12 b3@3 ~@26 a3 ~@6", AG: "~@10 a4@7 ~@31",
AH: "~@11 e4@11 ~@2 f4@6 d4@10 ~@8", AI: "~@8 a2@3 ~", AJ: "~@33 f4@10 ~@5, ~@33 a3@4 ~@11",
AK: "~@21 bb3@14 ~@13, ~@17 f3@17 ~@14", AL: "db4 ~@23 a3@2 ~@10 c3@3 ~@9", AM: "~@24 f3 ~@23",
})).s("gm_piano").gain(0.16)
// other · overdriven guitar
const overdriven_guitar = note("<~@17 A B C@7 D@2 E F G H I J K L M@2 ~@17 N@3 O@2 P Q@3 R S@2 T@2 U>".pickRestart({
A: "~ d3@12 db3@11", B: "~@3 c3@25 b2@20",
C: "[~@5 bb2@24 ~ a2@24 ~ g2@24 a2@8 ~@2 a2@14 ~ a2@9 ~ a2@14 ~ a2@21 ~@4 d3@25 db3@25 c3@24 b2@23 ~@2 bb2@24 ~ a2@24 ~ g2@24 ~ a2@8]/7",
D: "[~ a2@14 ~@2 a2@9 a2@14 ~ a2@21 ~@10 c5@2 ~@5 c5@12 gb5@2 ~@3]/2",
E: "~ g4@3 g4@3 f4@3 ~ d4@3 a3@6 ~@6 g3 ~ ab3 a3 ~@2 c4 ~ a3 c4 ~@2 d4 ~ c4 ~ a3 ~@2 f4 d4 ~",
F: "f4 ~@2 g4 f4 ~ g4 ~@2 g4@16 f4@2 d4@2 ~@2 bb4 ~@2 f4@2 ~ c5@9 g4@2",
G: "~ c5 ~ bb4 ~ g4 gb4 ~ f4 eb4 ~ f4 ~@2 f4@3 d4@2 ~ c4 ~@2 d4@2 ~ f4@2 ~ d4@2 ~ g4@11 f4 ~ d4@3",
H: "d3@2 ~ db3@3 ~@3 f3@2 ~ e3@3 ~@3 g3@3 f3@2 ~ bb3@2 ~ a3@3 ~@3 d4@2 ~ db4@6 e4@2 ~ f4@2 ~",
I: "~@3 g4@5 ~@2 f4@3 g4 f4 ~ d4@3 a3@5 ~ g3 ~ ab3 ~ a3 f4 ~ d4@2 ~ g3 ab3 ~ a3 ~ f4 d4@2 ~ g3 ~ ab3 a3",
J: "~ f4 ~ d4 ~@2 d4 c4 ~ d4 ~ f4 d4 ~ f4 g4@2 f4 d4 ~ a4 ~@2 a4 ~ c5@2 ~@4 eb5@2 ~@4 f5@2 ~@5 g5 ~@3, ~@11 c5 ~@12",
K: "~@3 g5@8 ab5@5 ~@2 g5@8 ~ a4 ~@2 g4 ~@3 f4 ~@2 e4 ~@2 f4@2 ~ e4@3 d4 ~",
L: "~ d4@2 ~@2 f4 ~@2 g4 f4 ~ d4@2 ~ bb4@2 ~ f4@2 ~ c5@5 ~@2 c5@4 ~@2 d3@2 ~ db3@2 ~@4 f3@3 e3@3",
M: "[~@3 g3@2 ~ f3@2 ~ bb3@3 a3@3 ~@3 d4@3 db4@3 ~@3 e4@3 f4@3 d4@36 ~@27]/2",
N: "[~@37 a2@9 ~ a2@15 ~ a2@9 a2@14 ~ a2@20 ~@14 [g4,a4] f4 e4@16 ~@2 e4 f4 e4]/3", // Gsus2
O: "[d4@3 e4@2 ~ f4 ~@2 g4@2 ~ g4@2 ~ g4@11 f4 d4 ~@2 f4@2 ~ bb4@2 ~ f4@2 ~ c5@13 ~@2 c5@9 ~@3 c5 ~@2 bb4@2 ~ g4@2 ~ gb4 f4 ~ eb4 c4 ~ eb4 f4 ~ eb4 c4 ~ bb3 g3 ~ bb3 c4 ~ bb3 g3 ~]/2",
P: "gb3 f3 ~ eb3 c3 ~ bb2 c3 ~ eb3 f3 ~ gb3 g3 ~ ab3 a3@2 c4@2 ~@2 f4 ~ g4 f4 ~ d4 f4 ~ g4 ~@2 g4@3 ~@3 d3@2 ~ db3@2 ~@4",
Q: "[f3@3 e3@3 ~@3 g3@3 f3@2 ~ bb3@3 a3@3 ~@3 d4@3 db4@3 ~@3 e4@4 ~ f4@4 a3@3 ~@2 e4@4 f4@4 ~ a3@2 ~@23 e4@4 ~ f4@4 ~ a3@3 ~ e4@4 ~ f4@4 a3@2 ~@38]/3",
R: "~@43 e4@4 ~", S: "[f4@4 a3@3 ~ e4@4 f4@4 a3@2 ~@28 e4@4 f4@4 a3@3 ~ e4@4 ~ f4@4 a3@2 ~@27]/2",
T: "[e4@4 ~ f4@4 a3@4 e4@4 f4@4 a3@4 ~ e4@4 f4@4 a3@4 e4@4 f4@4 ~ a3@4 e4@4 f4@4 a3@4 ~ e4@4 f4@4 a3@4 e4@4 f4@3 ~@2 a3@4 e4@4 f4@3]/2",
U: "~ a3@3 ~@44",
})).s("gm_overdriven_guitar").gain(0.4).pan(0.3)
// bass · electric bass finger
const bass = note(`<
~@12 A B C D E@4 F@2 G@2 H@2 I J@2 K@2 L M N@2 O P@2 ~@13 Q@2 R@2 S@2 T U V@2 W@3 X Y@2 Z@2 ~
>`.pickRestart({
A: "d2 db2", B: "c2 ~", C: "~@8 a1@7 ~", D: "~@6 d2@6 ~@12 a2@8 ~ a2@9 a1@6",
E: "[a2@8 ~ a2@9 ~@7 a2@6 a2@3 a1@9 ~@4 a1@2 ~ d2@19 ~@2 d2@3 db2@8 ~@2 db2@8 ~ db2@6 c2@17 ~@2 c2@5 ~ b2@3 g1@3 b1@3 d2@3 ~ g1@6 g2@4 ~@2 bb1@16 ~@3 bb1@6 a1@17 ~]/4",
F: "[a1@6 ~ g1@19 ~@2 g1@2 ~ a1@7 ~@3 a1@4 ~@2 a1@5 ~ a1@3 a2@3 a1@6 ~ a2@5 ~ a2@6 a1@3 a2@3 a1@6 a2@6]/2",
G: "[~ a1@3 a2@3 a1@3 d2@19 ~@3 d2@2 ~ db2@8 ~ db2@8 ~ db2@6 ~ c2@17 ~ c2@5 ~ b2@3 ~ g1@3 b1@3 d2@2]/2",
H: "[~ g1@6 g2@4 ~@2 bb1@17 ~@2 bb1@6 a1@17 ~@2 a1@6 g1@8 ~ g1 ~@2 g1@11 ~@2 a2@8]/2",
I: "~ a2@14 ~@2 a2@9 g2 [a2,b2] ~@13 a2@7, ~ g2 ~@15 g2 ~@23 g2 ~@6", // Asus2
J: "[~@3 g2@6 f2@3 e2@6 d2@19 ~@3 d2@2 ~ db2@8 ~ db2@8 ~@2 db2@6 c2@17 ~ c2@5 ~@2 b2@3]/2",
K: "[g1@3 b1@3 d2@3 g1@6 g2@4 ~@3 bb1@16 ~@2 bb1@6 a1@17 ~@2 a1@6 g1@19 ~@3 g1@2 ~]/2",
L: "d2@2 ~ db2@2 ~@4 f2@2 ~ e2@3 ~@3 g2@2 ~ f2@2 ~ bb2@2 ~ a2@3 ~@3 d3@2 ~ db3@3 ~@3 e3@2 ~ f3@2 ~",
M: "d2@19 ~@3 d2@3 db2@8 ~@2 db2@8 ~ db2@4",
N: "[~@3 c2@17 ~@2 c2@5 ~ b2@3 g1@2 ~ b1@3 d2@3 ~ g1@6 g2@4 ~@2 bb1@17 ~@2 bb1@6 a1@17 ~]/2",
O: "~ a1@6 ~ g1@19 ~@3 g1@2 ~ d2@2 ~ db2@2 ~@4 f2@2 ~ e2@3",
P: "[~@3 g2@2 ~ f2@2 ~ bb2@2 ~ a2@3 ~@3 d3@2 ~ db3@3 ~@3 e3@2 ~ f3@2 ~ d2@36 ~@27]/2",
Q: "[~@20 c2@26 db2@26 d2@13 c2@11]/2", R: "[~ bb1@13 a1@13 bb1@13 ~@8]/2",
S: "[~@11 bb2@6 f2@6 ~ bb1@6 f2@3 ~@4 a1@8 ~@2 a1@4 ~@2 a1@5 ~@2 a1@2 ~ a2@3 a1@6 a2@5 ~ a2@6 a1@3 a2@3 a1@6]/2",
T: "a2@6 a1@3 a2@3 a1@2 ~ d2@18 ~@3 d2@2 ~ db2@8 ~", U: "db2@8 ~ db2@5 ~ c2@17 ~ c2@5 ~ b2@3 g1@2 ~ b1@2 ~",
V: "[d2@2 ~ g1@6 g2@3 ~@3 bb1@16 ~@2 bb1@6 a1@16 ~@2 a1@6 g1@18 ~@3 g1@2 ~ d2@2 ~ db2@2 ~@4]/2",
W: "[f2@2 ~ e2@3 ~@3 g2@2 ~ f2@2 ~ bb2@2 ~ a2@3 ~@3 d3@2 ~ db3@3 ~@3 e3@4 ~ f3@4 a2@4 ~ e3@4 f3@4 ~ a2@3 ~@22 e3@4 ~ f3@4 ~ a2@4 e3@4 ~ f3@4 a2@3 ~@37]/3",
X: "~@43 e3@4 ~", Y: "[f3@3 ~ a2@4 e3@4 f3@4 a2@3 ~@27 e3@4 f3@3 ~ a2@4 e3@4 ~ f3@4 a2@3 ~@26]/2",
Z: "[d2@6 ~@3 d2@2 ~@2 d2@12 ~ c2@19 ~@2 c2@4 bb1@20 ~ bb1@3 ~ a1@20]/2",
})).s("gm_electric_bass_finger").gain(0.39)
// bass · electric bass finger · soft notes
const bass_soft = note("<~@13 A B C D ~@8 E ~@21 F@5 ~@18>".pickRestart({
A: "~ b1", B: "bb1 ~", C: "g2@3 ~@3 g1@5 ~@13", D: "~@19 a1@2 ~@22 a2@3 ~@2", E: "~@40 g2 ~@7",
F: "[~@2 d2@26 a1@26 bb1@26 ~ a1@26 d3@13 d3@2 ~ e3@3 f3@6 ~ a2@25 ~ bb2@26 a2@23 ~@32]/5",
})).s("gm_electric_bass_finger").gain(0.22)
// other · string ensemble 1
const string_ensemble_1 = note("<~@63 A B C D E@2 F>".pickRestart({
A: "~@41 [e2,e3,e4]@4 [f2,f3,f4]@3", B: "~ [a1,a2,a3]@3 ~ [e2,e3,e4]@4 ~ [f2,f3,f4]@3 ~ [a1,a2,a3]@2 ~@32",
C: "~@21 [e2,e3,e4]@4 [f2,f3,f4]@4 [a1,a2,a3]@3 ~ [e2,e3,e4]@4 [f2,f3,f4]@3 ~@2 [a1,a2,a3]@2 ~@4", // E F A E F A
D: "~@23 [e2,e3,e4]@4 [f2,f3,f4]@4 ~ [a1,a2,a3]@3 ~ [e2,e3,e4]@4 [f2,f3,f4]@3 ~ [a1,a2,a3]@2 ~@2", // E F A E F A
E: "[e4@3 ~@2 f4@3 ~ a3@4 e4@4 f4@4 a3@2 ~@3 e4@3 ~ f4@4 a3@4 e4@4 f4@4 ~ a3@2 ~@2 e4@4 f4@4 a3@4 ~ e4@4 f4@4 a3@3 ~ e4@4 f4@3 ~@2 a3@4 e4@4 f4@3, d2@23 ~@3 c2@23 ~@2 bb1@23 ~@2 a1@20]/2",
F: "~ a3@2 ~@45",
})).s("gm_string_ensemble_1").gain(0.72).pan(0.8)
// chords · lead 2 sawtooth
const lead_2_sawtooth = note("<~@17 A B@8 C@5 D E F@3 G@2 ~@19 H@4 I@3 J K@2 ~@3>".pickRestart({
A: "~ [d4,f4]@12 [db4,e4]@11", // Dm Dbm
B: "[~@3 [c4,e4]@24 ~ [b3,d4]@24 ~ [bb3,d4]@24 ~ [a3,c4]@24 ~ c4@12 bb3@12 [a3,d4]@9 ~ [a3,db4]@14 ~ [a3,db4,e4]@6 a3 ~@3 [db4,e4]@13 ~@2 [a3,db4,e4,a4]@24 ~ [d4,f4]@24 ~ [db4,e4]@24 ~ [c4,e4]@24 [b3,d4]@24 ~ [bb3,d4]@24 ~ [a3,c4]@24 ~ c4@9 bb3@11 ~@5 [a3,d4]@8, ~@103 g3@23 ~@36 a3 ~@188 g3@23 ~@10]/8", // C Bm Bb Am D5 A Dbm A …
C: "[~ [a3,db4]@14 ~@2 [a3,db4,e4]@6 a3 ~@2 [db4,e4]@13 ~@2 [a3,db4,e4,a4]@24 ~ [d4,f4]@24 ~ [db4,e4]@24 ~ [c4,e4]@24 ~ [b3,d4]@24 ~ [bb3,d4]@24 [a3,c4]@24 ~ c4@12 ~ bb3@11 ~, ~@26 a3 ~@188 g3@23 ~@2]/5", // A Dbm A Dm Dbm C Bm Bb …
D: "d3@2 ~ db3@2 ~@4 f3@2 ~ e3@3 ~@3 g3@2 ~ f3 ~@2 bb3@2 ~ a3@3 ~@3 d4@2 ~ db4@3 ~@3 e4@2 ~ f4@2 ~",
E: "[d4,f4]@25 [db4,e4]@23", // Dm Dbm
F: "[~@3 [c4,e4]@25 [b3,d4]@25 [bb3,d4]@25 [a3,c4]@25 ~ c4@12 bb3@11 ~@2 d3@2 ~ db3@2 ~@4 f3@2 ~ e3@3, ~@104 g3@23 ~@17]/3", // C Bm Bb Am
G: "[~@3 g3@2 ~ f3 ~@2 bb3@2 ~ a3@3 ~@3 d4@2 ~ db4@3 ~@2 d4 e4@2 ~ f4@2 ~ [d4,f4]@35 ~@28]/2", // Dm
H: "[~@15 [d4,f4]@24 [db4,e4]@24 [c4,e4]@24 [b3,d4]@24 [bb3,d4]@24 [a3,c4]@24 c4@12 bb3@10 ~@2 d3@2 ~ db3@2 ~@4, ~@159 g3@22 ~@11]/4", // Dm Dbm C Bm Bb Am
I: "[f3@2 ~ e3@3 ~@3 g3@2 ~ f3@2 ~ bb3@2 ~ a3@3 ~@3 d4@2 ~ db4@3 ~@3 e4@4 ~ f4@4 a3@4 ~ e4@4 f4@4 ~ a3@2 ~@23 e4@4 ~ f4@4 ~ a3@4 e4@4 ~ f4@4 a3@2 ~@38]/3",
J: "~@43 e4@4 ~", K: "[f4@4 a3@4 e4@4 f4@3 ~ a3@2 ~@28 e4@4 f4@4 a3@4 e4@4 ~ f4@4 a3@2 ~@27]/2",
})).s("gm_lead_2_sawtooth").gain(0.2).pan(0.7)
// other · trombone
const trombone = note("<~@63 A B C D E@2 F>".pickRestart({
A: "~@41 [e3,e4]@3 ~ [f3,f4]@3", B: "~ [a2,a3]@3 ~ e4@4 ~ [f3,f4]@3 ~ [a2,a3]@2 ~@32, ~@5 e3@8 ~@35",
C: "~@21 [e3,e4]@3 ~ [f3,f4]@4 [a2,a3]@3 ~ [e3,e4]@4 [f3,f4]@2 ~@3 [a2,a3]@2 ~@4", // E F A E F A
D: "~@23 [e3,e4]@3 ~ [f3,f4]@4 ~ [a2,a3]@3 ~ [e3,e4]@4 [f3,f4]@2 ~@2 [a2,a3]@2 ~@2", // E F A E F A
E: "[[d3,d4]@3 ~@2 [d3,d4]@3 ~ [d3,d4]@3 ~ [d3,d4]@4 [d3,d4]@3 ~ [d3,d4]@4 ~ [c3,c4]@3 ~ [c3,c4]@3 ~ [c3,c4]@3 ~ [c3,c4]@3 ~ [c3,c4]@3 ~@2 [c3,c4]@3 ~ [bb2,bb3]@3 ~ [bb2,bb3]@3 ~ [bb2,bb3]@3 ~@2 [bb2,bb3]@3 ~ [bb2,bb3]@3 ~ [bb2,bb3]@2 ~@2 [a2,a3]@3 ~ [a2,a3]@3 ~@2 [a2,a3]@4 [a2,a3]@3 ~ [a2,a3]@3]/2", // D C Bb A
F: "~ [a2,a3]@2 ~@45", // A
})).s("gm_trombone").gain(0.37).pan(0.8)
// other · electric guitar jazz
const electric_guitar_jazz = note("<~@47 A B C@2 D E ~ F G ~@14>".pickRestart({
A: "~@32 d4@3 f4@3 g4@2 ~ ab4 a4@3 d5 ~@2", B: "e5@5 ~ a4@18 ~@18 g4 ~ f4 ~ d4@2",
C: "[~ f4 ~@2 g4@3 ~ bb4@3 g4@19 ~@17 g4@6 f4@3 ~ d4@2 ~ c4@3 d4@3 f4@13 ~@17]/2",
D: "~@6 a4@5 ~@2 c5@3 ~@4 f4@3 e4@10 ~@15", E: "~@17 g3@3 ~ eb4@3 c4@18 ~@6",
F: "~@20 f4@13 ~@15, ~@5 e5@10 ~@9, ~@13 c5@17 ~@18, ~@8 a4@7 ~@9",
G: "~@24 f4@13 ~@11, ~@7 e5@9 ~@8, ~@17 c5@15 ~@16, ~@7 a4@4 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.38).pan(0.6)
// drums · kick
const kick = s("bd").struct(`<
~@14 A B C D E F G H I J K L M N O P Q R S T U V W ~@18 X Y Z AA@2 AB AC AD AE AF AG AH AI AJ ~
>`.pickRestart({
A: "x ~@2 x ~@12", B: "~ x", C: "x", D: "~@2 x ~@8 x ~@11 x ~@2 x ~@9 x ~@5 x ~@5",
E: "x ~@2 x ~@9 x ~@11 x ~@2 x ~@8 x ~@6 x ~@3", F: "~@2 x ~@2 x ~@8 x ~@12 x ~@2 x ~@8 x ~@5 x ~@2",
G: "~@4 x ~@2 x ~@14 x ~@8 x ~@9 x ~@6", H: "~@8 x ~@9 x ~@14 x ~@14", I: "~@10 x ~@8 x ~@12 x ~@2 x ~@8 x ~@3",
J: "~@2 x ~@5 x ~@3 x ~@8 x ~@11 x ~@2 x ~@9 x ~", K: "~@4 x ~@5 x ~@2 x ~@9 x ~@11 x ~@2 x ~@8 x",
L: "~@6 x ~@5 x ~@2 x ~@14 x ~@9 x ~@7", M: "~ x ~@15 x ~@8 x ~@14 x ~@6", N: "~@18 x ~@9 x ~@11 x ~@2 x ~@4",
O: "~@4 x ~@6 x ~@5 x ~@2 x ~@8 x ~@12 x ~@2 x ~@2", P: "~@6 x ~@5 x ~@5 x ~@3 x ~@8 x ~@11 x ~@2 x ~",
Q: "~@8 x ~@5 x ~@5 x ~@2 x ~@18 x ~@5", R: "x ~@2 x ~@2 x ~ x ~@2 x ~@2 x ~",
S: "x ~@9 x ~@11 x ~@2 x ~@9 x ~@5 x ~@5 x", T: "~@3 x ~@8 x ~@12 x ~@2 x ~@8 x ~@6 x ~@3",
U: "~@2 x ~@2 x ~@9 x ~@11 x ~@2 x ~@9 x ~@5 x ~", V: "~@5 x ~@2 x ~@14 x ~@9 x ~@8 x ~@5",
W: "~ x ~ x ~@2 x ~@2 x ~ x ~@4", X: "~@37 x ~@9 x", Y: "~@5 x ~@2 x ~@4 x ~@2", Z: "~@5 x ~@2 x ~@3 x!2 ~@2",
AA: "x ~ x ~ x!2 ~@2 x ~@3 x!2 ~@2", AB: "x ~ x ~ x!2 ~@4 x ~@2 x ~@2",
AC: "x ~@8 x ~@5 x ~@8 x ~@8 x ~@4 x ~@3 x ~@4 x", AD: "~@3 x ~@4 x ~@24 x ~@4 x ~@4 x ~@3 x", AE: "~ x!2 ~@9",
AF: "~@43 x ~@4", AG: "x ~ x ~ x ~ x ~ x ~@14 x", AH: "~@2 x ~@3 x ~@3 x ~@4 x ~@3 x ~@28",
AI: "x ~@10 x ~ x ~@10 x ~ x ~@9 x ~ x ~@9", AJ: "~@3 x ~@9 x ~@2 x ~@9 x ~ x ~@10 x ~ x ~@6",
})).gain(0.57)
// drums · snare
const snare = s("sd").struct("<~@17 A B C D ~ E F G H ~ I J K L M N O P Q R ~@20 S T@2 U V ~@7 W>".pickRestart({
A: "~@14 x ~@24 x ~@8", B: "~@16 x ~@24 x ~@6", C: "~@17 x ~@24 x ~@5", D: "~@19 x ~@28", E: "~@22 x ~@24 x",
F: "~ x", G: "~ x ~@24 x ~@21", H: "~@2 x ~@24 x ~@20", I: "~@31 x ~@16", J: "~@7 x ~@24 x ~@15",
K: "~@9 x ~@24 x ~@13", L: "~@11 x ~@24 x ~@5 x ~@5", M: "~ x!2 ~ x!2 ~ x ~ x!2 ~ x!2 ~ x", N: "~@13 x ~@24 x ~@9",
O: "~@15 x ~@25 x ~@6", P: "~@18 x ~@24 x ~@4", Q: "~@20 x ~@15 x ~@2 x ~@5 x ~@2", R: "x ~ x ~ x!2 ~ x!2 ~ x ~@5",
S: "~@9 x ~@6", T: "~ x ~@7 x ~@6", U: "~ x ~@6 x ~@5 x!2", V: "~ x!2 ~ x ~ x!2 ~ x!2 ~@5", W: "~ x ~@22",
})).gain(0.57)
// drums · low tom
const low_tom = s("lt").struct("<~@15 A B ~@3 C D E ~@2 F G H ~@27 I J K ~@9 L M N>".pickRestart({
A: "~@13 x!2 ~", B: "~@3 x ~@5 x ~@6 x ~@2 x ~@14 x ~@5 x ~@7", C: "~@19 x ~@4",
D: "~@2 x ~@11 x ~@12 x ~@2 x ~@16 x", E: "~@2 x ~@2 x ~ x ~@40", F: "~@23 x", G: "~@10 x ~@12 x ~@11 x ~@2 x ~@9",
H: "~@7 x ~@2 x ~@3 x!2 ~@32", I: "~@11 x", J: "~@8 x ~@12 x ~@11 x ~@2 x ~@11", K: "~@4 x ~@2 x ~@2 x ~ x ~@35",
L: "~@7 x ~ x ~@9 x ~ x ~@2 x ~@7 x ~@3 x ~@8 x ~@2", M: "~ x ~@7 x ~ x ~@10 x ~ x ~ x ~@15 x ~@5", N: "x",
})).gain(0.5)
// … 62 more lines
More by Pooh
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.