0:00/0:00
// Wildflower — Skylark
// 64 bpm, 4/4, key D# 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 67 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(64/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@4 C@3 D E F G H I J K@3 L@2 M@5 N@6 O P@8 Q@4 R@4 S@2 T@6 U@2 V@8>".pickRestart({
A: "[c4,g4,c5,eb5] [bb3,g4,bb4,eb5]", // Cm Eb
B: "[[f3,f4,a4]@15 ~ [f3,f4,ab4]@15 ~ [g4,bb4]@28 d3@4 g4@12 ~@12 c5@4 d5@2 ~ g3 [c4,c5]@16 [bb3,g4,bb4,eb5]@15 ~, c5@31 g3@24 ~@9 g3@29 ~ c3@17 ~@17, ~@32 d5@51 b4@11 ~@2 eb5@14 ~@18, ~@64 b4@16 g4@15 g4@16 ~@17, ~@64 d4@9 ~@3 d4@18 ~@34]/4", // F Fm Gm C Eb
C: "[~@2 f5@10 ~@2 f5 ~@9 a4@4 c5 ~ f5@2 ~@12 f3@2 ~@11 bb4 ~@2 bb3@2 ab4@2 g4@11 ~ [eb3,g4,bb4]@2 ~@14 [g3,b4]@4, f4@60 bb4@15 ~@3 d4@2 g3@8 g4@7 ~, [a3,a4,c5]@16 [f3,a4,c5]@9 ~@3 f3@4 bb4@14 bb3@2 d5@17 ~@14 g4@5 d4@9 ~@3, ~@18 f5@10 ~@4 ab4@18 f5@2 c5@13 ~@14 b4@10 ~@7, ~@32 [bb2,bb3,eb5]@2 f5@12 bb2@18 eb3@8 ~@8 d5@15 ~]/3", // Eb G Am F Eb5
D: "[c3,c4]@9 ~@3 c4@4 bb3@8 ~@4 bb3@4, [g4,eb5], c5@16 bb4@15 ~", // C Cm
E: "~@2 f5@10 ~@2 f5 ~ [eb4,ab4]@12 ab3@4, c5@29 ~@3, [f4,a4]@15 ~@17, a3@2 ~ a3 ab3@2 ~@2", // Ab5 F
F: "~@2 f5@7 ~@3 f3@2 ~ f3 ~@2 f5@10 f3@4, [f4,ab4,bb4]@31 ~, eb5@14 bb3@11 ~@7, bb3@4 ~@2 f5@2 d5@7 ~, ~@16 bb2@9 ~@7", // Bb7
G: "~@12 f3@2 ~@4 f5@10 f3 ~@3, [f4,ab4,bb4]@31 ~, eb5@7 ~ d5@7 ~, [bb2,bb3]@9 ~@5 bb2@11 ~@7, ~@2 f5@13 ~ bb3@9 ~@7", // Bb7 Bb
H: "~@6 f3 ~@7 [bb3,ab4]@2, f4@31 ~, [ab4,bb4]@8 bb3 f5@3 bb4@4, eb5@14 bb2@6 c5@11 ~, [bb2,bb3]@2 f5@13 ~ d5@15 ~", // Bb7 Absus2 Bb
I: "ab4@2 ~@4 c5@2 ~@2 bb4@2 ~@2 bb4@2 ~@2 ab4@2 ~@2 ab4@2 ~@4 f4@2 ~ g3, ab3@8 g3@8 c5@15 ~, c5@4 ab4@6 ~@2 g4@4 [f3,f5]@8 [bb3,bb4,f5]@7 ~, ~@2 eb4@5 ~ d5@23 ~, ~@10 f4@3 ab4@2 bb4", // F Bb5
J: "c4@3 ~@2 e4 f4 g4, [c3,c5], g4@20 ~@4 b4 ~@7, e4 c4, ~@12 g3@7 ~@13", // C
K: "[[ab4,c5]@9 ~@3 [c5,eb5]@3 ~ [bb3,f4]@8 ab4@4 bb3@2 ~@2 eb3@7 ~ eb4@6 bb2@2 ~@12 bb4@3 ~ [ab3,ab4]@8 eb4@4 ab4@2 ~@2 g3@8 d4@4 b2@2 ~@2, [ab3,eb4]@16 bb4@12 c5@4 g4@20 eb4@19 ~@7 d4@5 ~@9 b3 ~@3, ~@12 ab4@11 ~ [f4,d5]@9 ~@15 eb3@15 ~@13 ab3@4 ~@16, ~@16 eb5@6 ~@10 d5@31 ~ c5@14 ~@2 [b4,d5]@16, ~@16 d5 ~@13 bb4@26 g4@7 ~@16 g4@17]/3", // Ab Cm Bb5 Ab Ab5 Dm Bm
L: "[[c4,eb5]@10 ~@2 c4@3 ~@13 bb2@2 bb3@2 [ab3,ab4]@8 ~@4 [ab3,ab4]@4 [g3,f4,bb4,d5]@8 ~@4 g3@4, g4@24 g4@8 ~@8 eb4@7 ~@10 [f4,g4]@7, [c3,c5]@16 bb4@15 ~ c5@16 ~@8 [bb4,d5]@7 ~, ~@12 eb5@11 ~ eb5@23 ~@17, ~@4 bb3@3 ~@9]/2", // Cm Ab Gm7 Fsus2 C Bb
M: "[f3@11 ~@3 c3@2 ~@4 c5@2 ~@9 ab3 ~@2 f5@2 ~@8 f3@4 ab4@12 bb3 ~@3 eb3@9 ~@5 bb2@2 ~@6 bb4@2 ~@6 eb3@2 ab3@7 ~@5 ab3@4 eb3@8 ~@4 bb2 ~ eb3 ~ ab3@9 ~@3 ab3@4 eb3@9 ~@3 eb3@3 ~, [c5,eb5]@21 ~ eb5@8 f4@2 bb3@12 ~@4 bb3@10 ~@4 bb4@22 g4@11 ~ [ab4,c5]@16 [g4,bb4,d5]@16 [ab4,c5]@15 ~ [g4,bb4,d5]@15 ~, ab4@17 ~ ab4@6 d5@4 ab4@19 ~ f4@17 ~@13 d4 ~ eb3@10 c5@2 bb4@4 ~@64, ~@14 f4 ~ [f3,g4]@10 c5@5 ~ bb4@27 ~ c5@4 g4@18 eb4@37 ~ eb4@19 ~ eb4@19 ~, ~@32 eb5@15 ~ d5@39 ~ d5@7 ~@45 eb5@2 ~@18]/5", // Cm Ab Gm Ab Gm Fsus2
N: "[[ab3,eb4]@11 ~ ab3@4 eb3@9 ~@3 eb3 ~@17 d5 ~@3 f5@2 ~@8 f3 ~@3 bb3@8 ~@8 g4@14 [bb2,d4] ~@7 c5@2 ~@4 bb4@2 g4 ~ [c3,c4]@9 ~@3 [c3,c4] ~@11 c5@4 d5@4 [c3,c4]@9 ~@3 [c3,c4] ~@15 d5@3 ~ [c3,c4]@9 ~@3 [c3,c4]@2 ~@2, [ab4,c5]@15 ~ [g4,bb4]@15 ~ [eb3,g4,bb4]@10 g4@4 ~@2 ab4@15 ~ ab4@14 bb4@18 eb3@8 d5@7 ~ eb5@29 ~@3 eb5@28 ~@20, ~@12 eb4@25 ~@3 eb4@7 ~ [eb4,f4,c5]@24 [eb4,f4,d5]@8 eb3@11 ~@5 eb4@15 ~@17 [c3,c4]@14 ~@18 [c3,c4]@14 ~@18, ~@12 eb5 ~@3 d5@28 [eb3,bb4]@4 f3@9 ~@19 c5@4 d5@18 g4@9 ~@5 g4@18 ~@2 g4@11 ~ [g4,c5]@21 ~@3 c5@7 ~@17, ~@100 bb4@5 ~ c5@5 ~ c5@21 ~@31 g4@11 ~ [g4,c5,eb5]@16]/6", // Ab5 Bb C Ab Gm Eb F7 Dm …
O: "[bb2,bb3]@9 ~@3 [bb2,bb3]@4 a3@8 ~@4 a3@4, [g4,bb4,eb5] [f4,a4,c5], ~@28 f5 ~@3", // Bb Eb F
P: "[~@2 f5@2 ~@10 f5 ~ g4@4 d4@10 d3@2 ~@6 a4@2 ~@4 g4@2 d3@2 [g4,b4]@10 ~@6 c5@2 ~@10 g3@4 c4@10 ~@2 c4@4 bb3@9 ~@3 bb3@4 ~@2 f5 ~@11 f5 ~@13 c5@2 f5@2 ~@2 f5@2 ~@8 bb2@2 [f3,f5]@2 ~@2 f5@6 ~@8 g4@12 [eb3,bb4]@3 ~@7 c5@5 b4 d5@3 ~ [c3,c4]@9 ~@3 [c3,c4] ~@3 [bb2,bb3]@9 ~@3 [bb2,bb3]@4 ~@2 f5 ~@11 f5 ~, [eb4,f4,ab4]@16 d5@46 b4@4 d5@10 d4@2 ~@34 a3@10 ~@2 a3@4 f3@8 a4@7 ~ ab4@28 bb4@15 ~@4 d4@4 ~ d4@8 ~@4 c5@17 ~@31, f3@9 ~@3 f3@4 bb4@18 d4@8 a4@4 d4@11 ~ d4@12 b4@9 ~@17 bb4@15 ~ a4@20 f4@45 ~@14 g4@15 ~ g4@17 [g4,bb4]@15 ~ [f4,a4,c5]@16, ~@16 g3@9 ~@7 g3@11 ~@5 g3@24 g4@7 ~ [g4,eb5]@32 f4@18 f5@10 ~@4 bb4@24 c5@8 ~@16 b4@9 ~@7 eb5@32 ~@16, ~@36 g4@4 bb4@6 ~@14 g4@8 c5@11 ~ c5@16 ~@16 c5@25 ~@3 f3@4 [bb3,eb5]@14 ~@2 [bb3,d5]@16 eb3@9 ~@7 g3@16 ~@32 a3@8 ~@4 a3@4]/8", // G F Eb5 C Bb Fm7 Gm F …
Q: "[[ab3,ab4]@8 ~@4 ab3@3 ~@3 f5@2 ~@10 f3 ~ bb3 ~ f5@2 bb3@5 ~@5 f3 ~@3 f5@2 ~@8 eb5@2 ~ bb3 ~@2 f5@6 ~@10 f5@2 ~@10 f3 ~ bb3@8 ~@4 bb4@3 ~ [ab3,eb4,ab4,c5]@8 [g4,bb4]@2 ~@2 g4@2 bb4@2, ~@8 eb4@7 bb4@32 ~ bb4@24 c5@7 ~ ab4@26 bb3@5 ~@9 [g3,d5]@8, ~@12 ab4@20 [ab4,d5]@15 ~ ab4@28 bb4@28 c5@6 ~@18, ~@16 f4@27 ~ f4@11 ~ f4@54 ~@12 f4@6, ~@16 [bb3,eb5]@14 ~@18 [bb3,eb5]@11 ~ f3 ~@3 [bb3,d5]@14 ~@2 [bb3,eb5]@14 ~@2 d5@15 ~@17]/4", // Ab Gm G5 Abdim Eb5 Bb Eb5
R: "[f5 ~@9 f4@2 ~@2 f4 g3 c4@11 ~ g3@4 b4@4 ~@2 g4@2 ~@6 c4@2 ~@12 eb5@3 ~@13 bb4@4 eb3@7 ~ d4@4 ~@16 g4@3 ~ ab3@9 ~@3 ab3@4, [f3,c5]@6 c5@7 bb4@2 ~ e4@16 c4@10 g4@6 ab4@7 ~ ab4@21 ~@3 bb4@20 c5@12 [ab4,c5]@16, ~@2 f4@6 bb3@7 c3@29 ~@4 ab3@16 [bb3,f4]@16 g4@14 eb4@34, ~@4 ab4@7 ~ ab4@2 ~@2 [g4,c5]@23 ~ c5@17 ~@7 d5@32 ~@2 d5@14 ~@16, ~@36 e4@7 ~ e4@4 ~@4 eb4@11 ~@9 c5@9 ~@12 bb2@2 ~ [eb3,g4]@8 bb4@4 eb3 ~@19]/4", // F5 Ab Bb5 C5 Eb
S: "[[g3,b4,d5]@8 ~@4 d5@2 ~@2 [c3,c5]@12 c4@4 ~@12 bb3@3 ~ ab3@8 ~@4 ab3@4, g4@3 [ab4,c5], ~@8 b4@7 ~ eb5@20 c5@11 ~@17, ~@12 g3 ~@3 c4@8 ~@4 c5@4 bb3@8 eb5@23 ~, ~@32 bb4@15 ~@9 eb4@7 ~]/2", // G C Ab
T: "[[f4,g4,bb4]@12 ~@4 f4@14 c3@2 ~@14 f4@2 ~@2 f5@2 ~@8 eb5@2 f3 ~@15 ab4@2 eb3@8 d4@3 ~@3 bb2@2 ~@4 bb4@4 ~@4 bb4@3 ~ ab3@8 ~@4 ab3@4 ~@12 [bb3,ab4]@4 eb3@7 ~ eb4@5 ~ bb2@2 d5 ~ eb5 ~@9 g4@2 ~@2 [ab3,ab4]@8 ~@4 ab3@4, d5@15 c5@23 eb5@18 ab4@20 bb4@20 eb3@9 ~@3 eb3 ~@3 c5@16 bb3@4 c5@26 eb4@34, g3@9 ~@3 g3@4 ab4@18 f4@10 ab4@2 ab3 ~ bb3@4 f4@28 g4@14 ~@2 g4@14 ~@2 ab4@24 bb4@28 d5@12 c5@16, ~@14 eb5@22 ab4@4 d5@23 ~ d5@38 ~@2 d5@9 ~@7 eb5@7 ~ d5@31 ~ eb3@8 bb4@8 ~@8 [ab4,eb5]@7 ~, ~@16 f3@8 ~@8 f3@10 c5@21 ~ bb3@4 c5@12 ~@12 eb4@35 ~ f4@16 g4@26 ~@2 eb3 ~@19]/6", // Gm7 Bb7 Ab Ab5
U: "[g4@4 ~@8 [b3,b4]@4 ~@14 [c3,c4] ~ bb4@4 ~@8 bb2@2 bb3@2 ab4@4 ~@8 [ab3,eb5]@4, d5@15 ~ eb5@27 ~ eb5@12 ab4@7 ~, [g3,b4]@8 g4@15 ~ g4@11 ~ g4@12 ab3@9 ~@7, ~@4 d4@9 ~@3 [c4,c5]@11 ~ c5@4 [bb2,bb3]@8 bb4@7 ~ c5@16, ~@26 eb4@5 ~]/2", // B C Ab5 G C Bb
V: "[g4@3 ~@9 g3@4 ~@2 f5 ~ eb4@3 ~@7 c3@2 ~@14 f3 ~@3 f5@2 ~@8 eb5@2 f3 eb3 ~@2 f5@2 ~@8 ab4@2 [bb3,f4]@2 ~@4 d4@3 b4 ~@6 bb2@2 ~@14 eb3 ~@3 f5@2 ~@8 f3 ~@5 f5 ~@9 c5@2 ~@2 [eb3,d5]@14 bb2@2 d5 ~ eb5 ~@9 g4@2 ~@4 f5 ~@5 eb5@4 f3@4 ~@20 d4@3 ~@5 g4@3 ~ [g4,bb4,d5]@16 ~@16, d5@16 [f3,ab4]@9 ~@3 ab4@8 c5@27 ~ bb3@4 c5@12 eb3@7 ~ eb4@23 ~ [bb3,f4,ab4,eb5]@13 ~ ab3@2 [bb3,d5]@16 ~@16 eb3@8 bb4@24 bb3@12 bb4@19 ~@33, [g3,bb4]@8 bb4@7 ~ c5@16 eb5@25 ~@7 d5@35 ~ d5@8 bb4@31 ~@3 bb4@22 d5@10 ~@2 ab4@24 c5@8 eb3@17 ~@31, ~@4 g4@13 ~@7 f4@16 ab4@12 f4@25 ~@3 g4@10 ~@2 g4@19 ~@15 f4@17 ~@15 eb4@16 ~@2 f4@32 g4@8 eb4@18 ~@22, ~@32 f3@9 ~@3 f4@4 bb3@8 ab4@16 bb4@23 ~ [eb3,bb4]@8 c5@7 ~@16 ab4@16 ~ g4@26 ~@2 eb3 ~@3 bb3@8 ~@8 d5@31 ~@33]/8", // Bb5 Ebmaj7 Gm Fm Bbsus4 Bb Gm Eb5
})).s("gm_piano").gain(0.35)
// bass · acoustic bass
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 W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AF AN AO AP AQ AR AS AT
AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM
>`.pickRestart({
A: "c2@8 ~@4 g1@2 c2@2 bb1@9 ~@3 f1@2 bb1@2", B: "a1@9 ~@3 f1@2 a1@2 ab1@8 ~@4 ab1@3 ~",
C: "g1@8 ~@4 d1 ~@3 g1@12 d1@2 f1@2", D: "g1@8 ~ g1 b1@2 c2@2 d2 b1", E: "c2@9 ~@3 c2@4 bb1@8 ~@4 bb1@4",
F: "a1@8 ~@4 a1 ~ g1 ~ f1@9 ~@3 f1@4", G: "bb1@8 ~@4 f1 ~ ab1 ~ bb1 ~@3 bb1@4 ~@4 bb1@2 d2@2",
H: "eb2@10 ~@2 eb2@4 g2@6 d2 ~ g1@4 b1@4", I: "c2@9 ~@3 g1@2 c2@2 bb1@8 ~@4 g1 ~ bb1@2",
J: "a1@8 ~@4 a1@3 ~ ab1@9 ~@3 f1 ~ ab1@2", K: "bb1 ~@3 bb1@5 ~@3 f1@2 ab1@2 bb1@2 c2@2 bb1@5 ~@3 f1@2 ab1@2",
L: "bb1 ~@3 bb1@8 f1 ~ ab1@2 bb1@2 c2@2 bb1@5 ~@3 f1@2 ab1@2",
M: "bb1 ~@3 bb1@5 ~@3 f1 ~ ab1@2 bb1@2 c2@2 bb1@4 f1@3 ~ g1@3 ~", N: "ab1@8 g1@7 ~ f1@8 ~@4 bb1@2 b1@2",
O: "c2@8 ~@4 g1 ~@3 c1@8 ~@4 c2 ~ g1@2", P: "ab1@8 ~@4 eb1 ~ ab1@2 bb1 ~@3 bb1@5 ~@3 bb1@4",
Q: "eb2@2 f2@2 eb2@8 bb1@4 eb1@7 ~ eb2@3 ~ g1@4", R: "ab1@8 ~@4 ab1@3 ~ g1@7 ~ g1@3 ~ b1@3 ~",
S: "c2@8 ~@4 c2@4 bb1@9 ~@3 bb1@4", T: "ab1@8 ~@4 ab1@4 g1@9 ~@3 g1@4", U: "f1@8 ~@6 c1@2 f1 ~@3 f1@7 ~ ab1@2 a1@2",
V: "bb1 ~@3 bb1@4 ~@6 f1@2 bb1 ~@3 bb1@6 ~@2 bb1@2 d2@2",
W: "eb2@10 ~@2 eb2@2 ~@2 eb2@6 ~@2 eb2@3 ~ eb1@2 g1@2, f2 ~@31", X: "ab1@4 ~@2 ab1@2 eb1@4 ~@2 eb1 g1",
Y: "ab1@8 ~@4 ab1@4 eb1@9 ~@3 eb1@2 g1 ~", Z: "ab1@9 ~@3 ab1@2 ~@2 eb1@9 ~@3 eb1 ~@3, ~@12 gb1 ~@19",
AA: "eb1@9 ~@3 eb1@4 bb1@9 ~@3 f1 ~ ab1@2", AB: "bb1@2 ~@2 bb1@7 ~ bb1@2 d2@2 eb2@11 ~ bb1@3 ~",
AC: "eb1@7 ~ d1@7 ~ c1@10 ~@2 c1@2 ~@2", AD: "c1@13 ~@3 c1@9 ~@3 c1@2 ~@2", AE: "c1@8 c2@5 ~ c2@2",
AF: "bb1@9 ~@3 bb1@4 a1@9 ~@3 a1@4", AG: "ab1@9 ~@3 ab1@3 ~ g1@9 ~@3 d1@4", AH: "g1@12 d1@2 e1@2 g1@10 ~@2 d1@3 ~",
AI: "g1@2 b1@2 c2@2 ~ c2", AJ: "bb1@8 ~@4 bb1@4 a1@8 ~@4 a1 ~ g1 ~", AK: "f1@8 ~@4 f1 ~ ab1 ~ bb1@11 ~ f1@2 ab1@2",
AL: "bb1 c2 bb1@2 f1@2 bb1@2 eb1@6 eb2 f2", AM: "g2 d2 b1 d2 c2@2 ~ c2",
AN: "ab1@12 eb1@2 ab1@2 bb1 ~@3 bb1@8 f1@2 ab1@2", AO: "bb1@2 c2@2 bb1@7 ~ f1@2 ab1@2 bb1 ~@3 bb1@8 f1@2 ab1@2",
AP: "bb1@2 c2@2 bb1@5 ~@3 f1@2 ab1@2 bb1 ~@3 bb1@7 ~ f1 ~ ab1@2",
AQ: "bb1@2 c2@2 bb1@4 f1@3 ~ g1@3 ~ ab1@4 eb1 ~ ab1@2 g1@4 eb1@2 g1 ~", AR: "f1@2 bb1 b1 c2@3 g1",
AS: "c1@10 ~@2 c2 ~ bb1@2 ab1@11 ~ eb1 ~ ab1@2, ~@16 gb1 ~@15", AT: "bb1@10 ~@2 bb1 ~ d2 ~ eb2@2 f2@2 eb2@8 bb1@4",
AU: "eb1@4 g1@4 eb2@4 g1@3 ~ ab1@8 ~@4 eb1@2 ab1 ~", AV: "g1@8 b1@7 ~ c2@9 ~@3 c2@3 ~",
AW: "bb1@9 ~@3 bb1@4 ab1@8 ~@4 ab1@4", AX: "g1@8 ~@4 g1@3 ~ f1@9 ~@5 c1@2",
AY: "f1 ~@3 f1@6 ~@2 f1 ~ ab1 ~ bb1@9 ~@3 f1 ~ ab1@2", AZ: "bb1 ~@3 bb1@5 ~@3 bb1@2 d2 ~ eb2@8 ~@4 eb1@4",
BA: "eb2 ~@3 eb2@6 ~@2 g2@4 ab2@8 ~@4 ab1 ~ a1@2", BB: "bb1@5 ~ bb1 d2 eb2@4 ~@3 bb1",
BC: "eb2@2 f2@2 eb2@4 bb1@3 ~ g1@4 ab1@8 ~@4 ab1@4", BD: "g1@8 ~@4 b1@4 c2@9 ~@3 c2@4",
BE: "bb1@9 ~@3 bb1@3 ~ ab1@9 ~@3 ab1@3 ~", BF: "g1@9 ~@3 g1@4 f1@8 ~@6 c1@2",
BG: "f1 ~@3 f1@6 ~@2 f1 ~ ab1@2 bb1@12 f1@2 ab1@2", BH: "bb1 ~@3 bb1@5 ~@3 bb1@2 d2@2 eb2@8 ~@4 bb1 ~@3",
BI: "eb1@7 ~ eb2@4 eb1@4 bb1@9 ~@3 f1 ~ ab1@2", BJ: "bb1@9 ~@3 bb1@2 d2@2 eb2@8 ~@4 bb1 ~@3",
BK: "eb1@9 ~@3 ab1 ~ a1 ~ bb1@8 ~@4 f1@2 ab1 ~", BL: "bb1 ~@3 bb1@8 d2@3 ~ eb2@9 ~@7",
BM: "eb2@22 ~@3 eb2 eb1@2 ~@4, ~@26 bb1 ~@5",
})).s("gm_acoustic_bass").gain(0.5)
// chords · rock organ
const rock_organ = note(`<
~ A B C D A E F G H@2 I J@2 K L M N@2 O P Q R S T U V W X@4 Y Z@3 AA@3 AB AC@5 AD@4 AE@2 AF@6 AG@2 AH@8
>`.pickRestart({
A: "[c4,g4,c5,eb5] [bb3,g4,bb4,eb5]", B: "[a3,a4,c5,f5] [ab3,ab4,c5,f5]", C: "[g3,g4,bb4,d5]", D: "[g3,g4,b4,d5]",
E: "a3 f3, [a4,c5,f5]@29 ~@3, ~@16 f4@13 ~@3", F: "[bb3,f4,ab4,eb5]@15 ~ [bb3,f4,ab4,d5]@16, bb4@31 ~",
G: "[eb4,bb4] [g3,b4,d5], g4@15 ~", // Eb5 G
H: "[[c4,g4,c5]@16 [bb3,g4,bb4]@15 ~ [a3,a4]@16 [ab4,eb5]@13 ~@3, eb5@30 ~ c5@29 ~@4, ~@32 f5@13 ~@3 ab3@16]/2", // C5 Eb A Ab5
I: "[bb3,ab4,eb5]@15 ~ [bb3,ab4,d5]@14 ~@2, [f4,bb4]@15 ~", // Ebsus4 Bb7 Bb5
J: "[[bb3,eb5]@14 ~@2 [bb3,d5]@13 ~@3 eb5@14 ~@2 d5@14 ~@2, [f4,ab4,bb4]@30 ~ bb4@30 ~@3, ~ [bb3,f4,ab4]]/2", // Eb5 Bb Bb7
K: "[ab3,ab4,c5,eb5] [g3,f4,g4,bb4,d5] [f3,eb4,f4,ab4,c5] [bb3,ab4,c5,eb5]", // Ab Gm7 Fm7 Ab
L: "c4@9 ~@3 c4 ~@3 c4@16, [g4,c5,e5]@15 ~", // C
M: "ab3@9 ~@3 ab3@4 bb3@8 ~@4 bb3@4, [ab4,c5,eb5]@16 [f4,ab4,c5,eb5]@15 ~", // Ab Fm7
N: "[~@12 eb4 ~@3 eb4@15 ~ ab3@9 ~@3 ab3@4 [g4,b4,d5]@12 g3@4, [g4,d5]@29 ~@3 [ab4,eb5]@16 ~@16, eb4@9 ~@39 g3@9 ~@7, ~ bb4@29 ~ c5@14 ~@19]/2", // G G5 Ab5
O: "c4@9 ~@3 c4@4 [g4,bb4,eb5]@12 bb3@4, [g4,c5,eb5]@16 bb3@9 ~@7", // Eb Cm
P: "ab3@9 ~@3 ab3@4 [f4,g4,bb4,d5]@12 g3@4, [ab4,c5,eb5]@16 g3@9 ~@7, ~@16 [a4,db5] ~@15", // Gm7 Ab A
Q: "f3@10 ~@4 f3 ~ f3@8 ~@4 f3@4, [eb4,f4,ab4,c5]@23 ~ [eb4,f4,ab4,c5,eb5]@7 ~", // Fm7
R: "~ db5 ~@10 f3 ~@3 [bb3,f4,d5]@8 [f4,d5]@4 bb3@3 ~, bb4@15 ~, [f4,ab4,eb5]@7 ~@9, bb3@9 ~@23", // Bb Dm Fm7
S: "eb4@9 ~@3 eb4 ~@3 eb4@8 [g4,bb4,d5]@4 eb4@4, [g4,bb4,d5]@23 ~@9", // Gm
T: "[eb4,ab4,c5]@12 ab3@4 [eb4,g4,bb4,d5]@12 eb3@3 ~, ab3@9 ~@7 eb3@9 ~@7", // Ab Ebmaj7
U: "[eb4,ab4,c5]@12 ab3@3 ~ [eb4,g4,bb4,d5]@12 eb3@3 ~, ab3@9 ~@7 eb3@9 ~@7", // Ab Ebmaj7
V: "[eb4,ab4,c5]@6 ab3 ~ [eb4,g4,bb4,d5]@7 ~, ab3@9 ~@7 eb3@9 ~@7", // Ab Ebmaj7
W: "[eb3,eb4,g4,bb4,d5]@4 [eb4,f4,ab4,c5]@3 f3, ~@2 f3 ~", // Ebmaj7 Fm7
X: "[[eb4,f4,ab4,c5]@12 bb3@3 ~ [eb3,eb4]@9 ~@3 [eb3,eb4] ~@3 [eb3,eb4]@12 ~@4 [c4,g4,c5,eb5]@29 ~@3 [c3,c4,g4,c5,eb5]@29 ~@3 [c4,g4,c5,eb5]@16, bb3@8 ~@8 [g4,bb4,d5]@28 ~@3 c3@29 ~@36 c3@13 ~@3]/4", // Fm7 Eb Cm Gm
Y: "[bb3,g4,bb4,eb5] [a3,a4,c5,f5]", // Eb F
Z: "[[ab3,ab4,c5,f5]@15 ~ [g3,g4,bb4,d5]@29 ~@3 [g3,g4,b4,d5]@29 ~@3 [c4,g4,c5,eb5]@16]/3", // Fm Gm G Cm
AA: "[[bb3,g4,bb4,eb5]@16 a3@16 f4@12 f3@3 ~ [f4,ab4,eb5]@15 ~ [f4,ab4,d5]@12 bb3 ~@3 [g4,eb5]@14 ~@2, ~@16 [a4,c5,f5]@29 ~@3 bb4@46 ~@2, ~@32 f3@9 ~@7 bb3@9 ~@7 bb3@9 ~@7 [eb3,eb4]@10 ~@6]/3", // Eb Fm7 Ddim Cm F Eb
AB: "[g4,b4,d5]@12 b3@3 ~ [c4,g4,c5,eb5]@15 ~, g3@9 ~@23", // G Cm
AC: "[[bb3,g4,bb4,eb5]@16 [a3,a4,c5]@15 ~ [ab4,c5,eb5]@15 ~ [f4,ab4,eb5]@14 ~@2 [bb3,f4,ab4,d5]@14 ~@2 [f4,ab4,eb5]@15 ~ [bb3,f4,ab4,d5]@14 ~@2 [bb3,f4,ab4,eb5]@15 ~ [f4,ab4,d5]@14 ~@2 [ab3,ab4,c5,eb5]@8 [g3,f4,g4,bb4,d5]@8, ~@16 f5@12 ~@3 ab3@17 bb4@30 ~@2 bb4@31 ~ bb4@29 ~@19, ~@48 bb3@8 ~@24 bb3@9 ~@39 bb3@9 ~@23]/5", // Eb Am Ab Fm7 Bb7 Fm7 Bb7 Bbsus4 …
AD: "[f3@5 ~@3 c4@7 g3 [c3,c4]@9 ~@3 [c3,c4] ~@11 [g4,c5,e5]@7 ~ ab3@8 ~@4 ab3@4 bb4@12 bb3@2 ~@2 [eb3,eb4]@9 ~@3 eb3 ~@11 [g4,bb4]@4 eb4@4 ab3@8 ~@4 ab3@3 ~, [eb4,f4,ab4,c5]@15 ~ [g4,c5,e5]@23 ~@9 [c5,eb5]@31 ~ d5@30 ~@18, ~@32 [c3,c4]@16 ab4@15 ~ bb3@8 ~@8 [g4,bb4]@23 ~@9 [ab4,c5,eb5]@16, ~@96 eb3@15 ~@17]/4", // C Eb Gm Fm7 C Cm C Gm …
AE: "[[g4,b4,d5]@11 g3@5 c4@8 ~@4 c4@4 [bb3,g4]@8 [g4,bb4,eb5]@4 bb3@4 ab3@9 ~@3 ab3@4, g3@4 ~@4 eb5@11 ~@13, ~@8 [g4,c5]@8 bb4@3 ~@5 [ab4,c5,eb5]@8]/2", // G Eb C5 Ab
AF: "[g3@8 ~@4 g3@4 f3@8 ~@4 f3 ~@3 f3@8 ~@4 f3 ~@3 bb3@8 ~@4 f3@4 bb3@9 ~@3 bb3 ~@3 [eb3,eb4]@9 ~@3 [eb3,eb4] ~@3 [eb3,eb4]@8 ~@4 [eb3,eb4] ~@3 ab3@8 ~@4 ab3@4 bb3@8 ~@4 bb3@4 ~ eb4@8 ~@3 eb3 ~@3 [eb3,eb4]@8 ~@4 eb4@4 ab3@8 eb5@4 ab3@4, [f4,g4,bb4,d5]@15 ~ [eb4,f4,ab4,c5,eb5]@22 ~@2 [eb4,f4,ab4,c5,eb5]@9 ~@7 bb4@23 ~@66 [g4,bb4,d5]@23 [g4,bb4,d5]@7 ~ [ab4,c5]@16, ~@56 [f4,ab4,eb5]@7 ~ [f4,ab4,d5]@15 ~ [g4,bb4,d5]@22 ~@2 [g4,bb4,d5]@7 ~ [eb4,ab4,c5]@23 ~ [eb4,ab4,c5]@7 ~ eb3@8 ~@20 eb3 ~@3 bb3 ~@15]/6", // Eb Gm7 Fm7 Gm Ab Fm7 Ddim Gm …
AG: "[[g3,g4,b4,d5]@8 ~@4 g3@4 c4@9 ~@3 c4@4 [g4,bb4]@12 bb3@3 ~ [ab3,ab4,c5]@8 ~@4 ab3@3 ~, ~@8 [g4,b4,d5]@7 ~ eb5@30 ~ eb5@7 ~@2 [ab4,c5,eb5]@7 ~, ~@2 [g4,c5]@2 bb3 ~@3]/2", // G Gm Ab G Ab C5
AH: "[[f4,g4,bb4,d5]@12 g3@4 f3@8 ~@4 f3 ~@3 f3@8 ~@4 f3@4 [bb3,f4,eb5]@8 [f4,eb5]@4 f3@3 ~ [bb3,f4,d5]@8 [f4,d5]@4 bb3@3 ~ [eb3,eb4]@9 ~@3 [eb3,eb4] ~@3 [eb3,eb4]@8 [g4,bb4,d5]@4 [eb3,eb4]@3 ~ [f4,ab4,eb5]@12 bb3 ~@3 bb3@9 ~@3 bb3@4 eb3@8 ~@4 eb3 ~@3 eb3@8 [g4,bb4,d5]@4 eb3@4 [f4,ab4,eb5]@12 bb3 ~@3 [f4,d5]@12 bb3 ~@3 [eb4,g4]@15 ~ [eb4,g4]@16 ~@16, g3@8 ~@8 [eb4,f4,ab4,c5]@23 ~ [eb4,f4,ab4,c5]@7 ~ bb4@55 ~@9 bb4@31 ~@33 bb4@65 ~@15, ~@48 ab4@15 ~@17 [g4,d5]@22 ~@10 bb3@8 ~@8 [f4,ab4,d5]@15 ~ [g4,bb4,d5]@23 ~@9 bb3@8 ~@8 bb3@8 ~@8 d5@32 ~@16, ~@104 eb3@5 ~@19]/8", // Gm7 Bbsus4 F7 Bb Dm Eb Gm Eb …
})).s("gm_rock_organ").gain(0.16)
// chords · string ensemble 1
const string_ensemble_1 = note("<~ A B@3 C ~@8 D@2 E F G@3 H@4 I J@4 K@2 L M@3 ~@8 N O@6 P@2 Q@4 R@4 S@6>".pickRestart({
A: "[c4,c5,eb5,g5,c6]@11 ~@3 c5@2 [bb4,bb5]@15 ~, ~@11 g4@2 c6@15 ~@4, ~@12 g5@17 ~@3", // Cm Bb
B: "[[a3,a4,a5,c6,f6]@15 ~ [ab3,ab4,ab5,c6,f6]@14 ~@25 g5@4 a5@4 ~ b5@11 c6@3 ~@2 d6@15 b5, ~@30 g3@30 ~@3 g3@28 ~@5, ~@31 [d4,g4]@30 ~@2 g5@32 ~, ~@51 d5@44 ~, ~@64 g4@15 b5@2 ~@15]/3", // F Fm G5
C: "~ eb6@8 ~@23, [c3,c6] ~@3", // C
D: "[[ab3,ab4]@8 [g3,g4]@8 ~@8 bb4@4 ab4 ~@19 g5@14 ~@2, ~@16 [f3,f4]@13 g4@33 ~@2, ~@3 bb3 [c4,c5,e5]@4]/2", // Ab G F C
E: "[c5,eb5]@13 ~@3 [bb3,bb4]@16, ab4@15 ~, ab3@16 d5@13 ~@3", // Cm Bb
F: "d5@13 eb5@2 ~@9 g4@6 bb3@2, eb4, g4@10 bb4@5 ~, bb4@16 d5@13 ~@3",
G: "[[ab3,ab4,c5]@15 ~ [g3,d5]@15 ~@17 bb4@15 ~ [ab3,ab4,c5]@15 ~ [g3,bb4,d5]@16, ~@15 b4@15 ~ [c4,c5]@16 bb3@16 ~@33, ~@16 g4@48 ~@15 g4@15 ~@2, ~@2 eb5@3 ~]/3", // Ab G5 Ab Gm C
H: "[[f3,f4,c5]@32 [bb3,eb5]@13 f3@2 ~@17 eb4@25 ~@3 eb3@2 g3 ~ [ab3,ab4,c5]@16 eb3@11 ~ g3@2 ~@2, ab4@63 ~ g4@32 ~@16 [g4,bb4,d5]@16, ~@47 bb3@17 ~@64, ~@48 [bb4,d5]@49 ~@31]/4", // F5 Eb5 Ab Gm Bb
I: "[ab3,ab4,c5]@16 [eb3,g4,bb4,d5]@15 ~", // Ab Ebmaj7
J: "[[ab3,ab4,c5]@16 ~@16 eb3@14 ~@2 f3@10 ~@2 f3@2 ~@2 bb3@15 ~ d5@31 ~ [g4,g5,g6]@8 [d5,d6,d7]@8, ~ [g4,bb4]@2 [ab4,c5]@2 ~@3, ~@16 eb3@12 ~@51 [eb3,bb4]@30 ~@19, ~@17 d5@31 ~@72 c7 ~@7]/4", // Ab G D Gm Ab Eb5
K: "[c5,c6,c7]/2", L: "[bb4,bb5,bb6]@15 ~ a4@15 ~, ~@15 [a5,a6]@17",
M: "[[ab4,ab5,ab6]@15 ~@28 a5@5 ~@8 g6@3 ~ bb6 ~@10 d7@7 ~@2 [c6,c7,eb7]@9 ~@7, a5 ~@15 [g4,g5]@60 ~@3 c5@9 ~@8, ~@16 g6@39 ~@4 a6@4 b6@16 ~ f7 ~@15, ~@48 b5@23 ~@25]/3", // Ab Cm G
N: "~@2 [ab3,ab4,eb5] [g3,g4,d5]", // Ab5 G5
O: "[f3@7 ~ bb3@4 ~@4 e5@12 f5@3 ~@9 c4@7 ~@8 c5@9 ~@8 d5@3 ~ c5@3 ~ d4@8 bb3@4 eb4@4 eb3@12 g3@3 ~ [ab3,c5,eb5]@15 ~ b4@14 b3 ~ c4@9 ~@3 c4@3 ~ bb4@15 ~ ab3@9 ~@3 ab3@3 ~, c5@25 ~@6 [c5,e5]@16 eb5@24 ~@9 d5@30 ~@17 d5@16 ~ eb5@47 ~, f4@15 ~ c3@24 ~@8 ab3@16 bb3@16 ~@48 g3@12 ~@4 c5@16 bb3@12 ~@20, ~@16 [c4,g4]@16 g5@14 ~ ab4@17 ~@4 bb4@43 ~ ab4@13 ~@3 g4@48 [ab4,c5]@15 ~]/6", // Ab C C5 Ab
P: "[[g3,g4,bb4,d5]@16 ~@28 ab3 ~ a3 ~@9 eb5@7 ~, ~@16 f3@25 ~@7 [bb3,ab4]@14 ~@2, ~@17 c5@45 ~@2, ~@17 [f4,ab4]@30 ~@9 d5 ~@7]/2", // Gm Bb7 Fm
Q: "[[d5,f5]@11 ~ c5@2 f5@2 [eb3,d5,g5]@31 ~@9 ab4@7 ~ bb3@15 ~@29 bb3@4 [ab3,c5,eb5]@16, bb3@16 ~@31 ab3@16 ~@16 eb4@26 ~@23, e5 ~@10 eb5@2 ~ bb4@33 ~ [c5,eb5]@32 [d5,f5]@33 ~@15, ~@93 bb4@19 ~@16]/4", // Dm Ebmaj7 Ab Cm Dm
R: "[[g3,b4,g5]@15 ~@17 [bb3,bb4]@16 [ab3,c5]@15 ~ d5@16 f3@27 ~@13 eb5@8, ~@15 [c4,c5]@17 ~@31 [g3,bb4]@16 ~@33 bb3@16, ~ eb5@3 ~ [ab4,c5]@3, ~@28 g5@19 ~@81]/4", // G Bb Ab C Gm Ab
S: "[d5@12 bb4@2 c5@2 d5@31 ~ eb5@16 d5@12 ~ c5@2 ~ [g4,d5]@32 eb5@16 d5@12 bb4@2 c5@2 [bb4,d5]@32 ~@16, bb4@11 ~@5 bb4@58 ~@2 bb4@3 ~ bb4@58 ~@54, ~@16 eb4@28 ~@3 bb3@15 ~@130, ~@48 ab4@31 ~@33 ab4@31 ~@49]/6", // G5 Bb
})).s("gm_string_ensemble_1").gain(0.25).pan(0.7)
// other · alto sax
const alto_sax = note("<~ A B C@3 ~@23 D E F G H I J ~@31>".pickRestart({
A: "c4@11 ~ g4@2 bb4@2 c5@4 eb5@3 ~ g5@4 f5@2 ~@2", B: "c5@10 ~@2 eb5@2 f5@2 eb5@15 ~",
C: "[d5@4 bb4@2 g4@14 b4 c5@2 ~ d5@24 b4@32 ~@16]/3", D: "~@20 g4@3 ~ c5@4 d5@4",
E: "eb5@4 f5@4 g5@3 ~ f5 eb5@2 ~ g5@12 f5 [f5,g5] eb5 ~", F: "f5@4 g5@8 g5 f5 eb5 d5 c5@11 ~ eb5 g5 c6 ~",
G: "bb5@4 g5@2 eb5@2 f5@6 eb5 c5", H: "~@2 f5@2 g5@2 ab5@2 g5@2 f5@2 c5 ~ bb4 ~ g4@16",
I: "~@2 g4@2 ~ c5@2 ~ d5 d5@2 f5@2 g5@2 a5 b5@12 [a5,b5] a5 g5@2, ~@2 bb4 ~@13", // Asus2
J: "d6@7 ~ b4@2 ~ c5@2 d5@2 ~ eb5@9 ~@7",
})).s("gm_alto_sax").gain(0.4).pan(0.3)
// drums · kick
const kick = s("bd").struct(`<
~
[x ~@2 x!2 ~@3]!26
[x ~@2 x!2 ~@2 x]
[x ~@3 x ~@2 x]!36
[x ~@7 x ~@5 x!2]
[x!2 ~ x!2 ~@3]
[x ~@24 x!2 ~@5]
>`).gain(0.5)
// drums · rim
const rim = s("rim").struct("<~@5 [~ x ~ x]!11 ~@19 [~@3 x] [~ x ~ x]!10 [~ x ~@2] ~@20>").gain(0.5)
// drums · snare
const snare = s("sd").struct("<~ A@4 ~@11 A@19 B ~@10 C A@17 B ~@2>".pickRestart({
A: "~ x ~ x", B: "~ x ~@2", C: "~@3 x",
})).gain(0.5)
// drums · low tom
const low_tom = s("lt").struct("<~ A ~@13 B ~@7 B ~@5 C ~@16 C ~@7 C ~@11 D>".pickRestart({
A: "x", B: "~@14 x!2", C: "~@6 x!2 ~@8", D: "~@24 x!2 ~@6",
})).gain(0.5)
// drums · hihat
const hihat = s("hh").struct("<[x!4] [x!8]!63 [x!4 ~@4] ~@2>").gain(0.5)
// drums · mid tom
const mid_tom = s("mt").struct("<A ~@3 A ~@10 B ~@7 B ~@5 C ~@5 D ~@10 E ~@7 E ~@11 F>".pickRestart({
A: "~@15 x", B: "~@12 x!2 ~@2", C: "~ x ~@2", D: "~@7 x ~@8", E: "~@4 x!2 ~@10", F: "~@3 x",
})).gain(0.5)
// drums · open hat
const open_hat = s("oh").struct("<~@64 [~ x] [~ x!2 ~] x>").gain(0.5)
// drums · high tom
const high_tom = s("ht").struct("<A ~@3 A ~@10 B ~@7 B ~@5 C ~@5 D ~@10 E ~@7 E ~@11 F>".pickRestart({
A: "~@7 x", B: "~@11 x ~@4", C: "~ x ~@6", D: "~@5 x ~@10", E: "~@3 x ~@12", F: "~@23 x ~@8",
})).gain(0.5)
// drums · crash
const crash = s("cr").struct("<~ A ~@3 A ~@9 A@2 ~@7 A ~@4 B ~@5 B ~@10 B ~@7 B ~@12>".pickRestart({
A: "x", B: "~ x",
})).gain(0.4)
// drums · ride
const ride = s("rd").struct("<~@11 A B A ~@27 C A D E ~@19 F G H>".pickRestart({
A: "~ x ~@3 x ~@2", B: "~@2 x ~@7 x ~@2 x ~@2", C: "~@5 x ~@2", D: "~@2 x ~@2 x ~@4 x ~@5", E: "~ x ~@6", F: "~@7 x",
G: "x ~@7 x ~@16 x ~@6", H: "~@5 x ~@10 x ~ x!3 ~@11",
})).gain(0.3)
// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@66 [~@9 x!7 ~ x ~@14]>").gain(0.15)
// drums · bongos
const bongos = s("bongo:4").struct("<~ x ~@65>").gain(0.91)
// … 5 more lines
More by
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.