0:00/0:00
// Daffodil Lament — The Cranberries
// 84 bpm, 12/8, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (3/8 at bar 1, 12/8 at bar 1, 4/4 at bar 76) are rendered on a constant 12/8 grid of one bar per cycle
// note: Full arrangement: all 87 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(84/6)
// 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 · pad poly
const pad_poly = note(`<
~@10 A@4 B@8 ~@3 C@2 D@2 E ~@4 F@2 ~@13 G H I@2 J K@2 L@2 M N O P Q@2 R@4 S@4 T ~@3 U@3 V@5 W X@2
>`.pickRestart({
A: "[~ d5@21 ~@2 eb5@4 d5@17 ~ d5@4 ~ d5@4 d5@4 ~ g4@13 ~ g4@4 a4@4 ~ g4@4 f4@15 ~ bb4@2 bb4@4 ~ d5@19 ~ eb5@6 ~ d5@17 ~ d5@4 ~ d5@4 d5@4 ~ g4@13 ~ g4@4 a4@4 ~]/4",
B: "[g4@4 f4@15 ~ f5@2 f5@4 ~ g5@19 ~ a5@6 ~ g5@11 d5@2 ~ bb5@4 a5@4 ~ g5@2 d5@13 ~@3 bb5@4 g5@4 ~ c6@2 a5@13 ~@3 a5@2 bb5@2 ~ a5@2 bb5@2 a5@4 ~ g5@21 ~@18 a5@2 bb5@2 a5@2 bb5@2 a5@3 ~ [bb4,d5,f5]@10 ~@3 a5@2 ~ bb5@2 a5@7 ~ g5@3 ~@2 c6@7 ~ a5@2 bb5@2 ~ a5@2 bb5@2 a5@3 ~ g5@10 ~@3 gb5@10 ~@3 [bb4,d5,g5]@10 ~@3 a5@2 bb5@2 a5@2 bb5@2 ~ a5@3 ~ [bb4,d5,f5]@10 ~@3 a5@2 bb5@2 a5@7 ~@2 g5@3 ~ c6@19 ~@44, ~@175 d5@10 ~@15 [d5,f5]@10 ~@3 f5@21 ~@5 [bb4,d5]@21 ~@18 d5@10 ~@16 [d5,f5]@10 ~@3 f5@21 ~@46]/8", // Bb Gm Bb Dm Bb Dm
C: "[~@47 eb5@10 ~@3 d5@7 ~@2 c5@3 ~ [f4,bb4,d5]@21 ~@2]/2", // Bb
D: "[~@3 [bb4,d5]@7 ~ [bb4,d5]@7 ~@2 d5@3 ~ f5@3 ~@2 [f4,bb4,eb5]@3 ~ [f4,bb4]@19 ~@3 eb5@7 ~ d5@7 ~@2 c5@7 ~ [f4,bb4,d5]@10 ~@6, ~@55 [f4,bb4]@21 ~@20]/2", // Bb Ebsus2 Bb5 Bb Bb5
E: "~@2 a5@3 ~ bb5@3 ~ [f5,a5,c6]@10 ~@3 f6@10 ~@15", // F
F: "[~@13 f5@3 ~ eb5@3 ~ d5@13 ~@4 f5@3 ~ eb5@3 ~ d5@13 ~@3 f5@3 ~@2 eb5@3 ~ d5@7 ~ eb5@8 ~@9]/2",
G: "[f4,bb4,d5]@3 ~ eb5@3 ~ d5@2 [f4,a4,c5]@5 ~ f5@3 ~ d5@2 [eb4,g4,bb4]@5 ~ g4@3 ~ bb4@2 [f4,a4,c5]@5 ~ [f4,a4,d5]@6 ~@2", // Bb F Eb F Dm
H: "[f4,bb4,d5]@3 ~ eb5@3 ~ d5@2 [f4,a4,c5]@5 ~ d5@5 ~ c5@2 [g4,bb4,eb5]@3 ~ d5@3 ~ bb4@3 ~ [f4,a4,c5]@10 ~@2", // Bb F Eb F
I: "[d5@3 ~ eb5@3 ~ d5@3 ~ c5@3 ~ f5@3 ~ d5@3 ~ bb4@3 ~ g4@2 bb4@5 ~ c5@3 ~ d5@3 ~ eb5@2 ~@2 [f4,bb4]@8 d5@2 bb4@2 c5@2 c5@2 c5@3 ~ bb4@3 ~ eb5@3 ~ d5@3 ~ bb4@2 ~@8 d5@2 eb5@3 ~, [f4,bb4]@10 ~@2 [f4,a4]@10 ~@2 eb4@10 ~@2 [f4,a4]@10 d5@8 ~@6 [f4,a4]@10 ~@2 eb4@10 c5@7 ~@7, ~@42 [f4,a4]@5 ~]/2", // Bb5 F
J: "[f4,bb4]@8 d5@2 bb4@2 c5@2 c5@2 c5@3 ~ bb4@3 ~ eb5@3 ~ d5@3 ~ bb4@2 ~@8 d5@2 eb5@3 ~, d5@6 ~@6 [f4,a4]@10 ~@2 g4@10 c5@7 ~@7, ~@18 [f4,a4]@5 ~", // Bb5 F
K: "[[bb4,d5]@19 ~@13 bb4@3 ~ [f4,a4,eb5]@3 ~ d5@3 ~ bb4@2 c5@5 ~ [d4,f4,bb4,d5]@18 ~@26, [d4,f4]@5 ~@43]/2", // Bb F7 Bb Dm
L: "bb5@5 ~ bb5@2 c6@3 ~ a5@5 ~ g5@2 f5@3 ~ g5@5 ~ f5@2 d5@3 ~ f5@3 ~ g5@6 ~@2, [d5,g5]@5 ~ c5@5 ~ bb4@5 ~ [a4,c5]@5 ~", // G5 Am
M: "~@8 bb5@3 ~ bb5@2 g5@2 bb5@6 ~@10 bb5@3 ~ a5@3 ~ bb5@3 ~ c6@3 ~, ~@6 [c5,f5]@5 ~@7 f5@5 ~", // F5
N: "~@8 bb5@3 ~ bb5@2 g5@2 bb5@6 ~@10 bb5@3 ~ c6@3 ~ bb5@3 ~@5, ~@6 [c5,f5]@5 ~@7 [d5,f5]@5 ~", // F5 Dm
O: "~@8 d5@2 d5@2 c5@2 c5@2 c5@3 ~ d5@3 ~ eb5@3 ~ d5@3 ~ bb4@2 ~@8 d5@2 eb5@3 ~, ~@12 [f4,a4]@10 ~@2 g4@10 c5@7 ~@7, ~@18 [f4,a4]@5 ~", // F
P: "[f4,bb4]@8 d5@2 bb4@2 c5@2 c5@2 c5@3 ~ bb4@3 ~ eb5@3 ~ d5@3 ~ bb4@2 ~@8 c5@2 d5@3 ~, d5@6 ~@6 [f4,a4]@10 ~@2 g4@10 c5@7 ~@7, ~@18 [f4,a4]@5 ~", // Bb5 F
Q: "[[d4,f4]@10 ~@22 bb4@3 ~ eb5@3 ~ d5@3 ~ bb4@2 c5@5 ~ [d4,f4,bb4]@18 ~@10 bb5@3 ~ g5@3 ~ f5@6 ~@2, bb4@19 ~@17 [f4,a4]@10 ~@38 [a4,c5]@10 ~@2]/2", // Dm Bb F Am
R: "~@8 bb5@3 ~ g5@3 ~ f5@6 ~@10 bb5@3 ~ g5@3 ~ f5@6 ~@2, ~@6 c5@5 ~@7 [a4,c5]@5 ~", // Am
S: "bb4@10 ~@2 bb4@10 ~@2 bb4@6 ~@2 a4@3 ~ bb4@6 ~@2 a4@3 ~", T: "bb4@19 ~@29",
U: "[~@20 g5@4 bb5@4 a5@4 ~ f5@4 [d5,g5]@16 [eb5,f5]@17 f5@8 eb5@8 ~ d5@16 [g4,bb4,d5,g5]@17 [a4,c5,f5]@16 f5@8]/3", // G5 Ebsus2 Gm F
V: "[~ eb5@8 d5@16 [g4,bb4,d5]@17 c5@8 eb5@8 ~ eb5@8 d5@4 c5@4 [bb4,d5]@10 ~@7 g5@4 bb5@4 a5@4 f5@4 [eb5,g5]@8 ~ d5@8 f5@8 eb5@8 ~ d5@16 [d5,g5]@17 [eb5,f5]@16 f5@8 ~ a5@8 [d5,g5]@8 ~@9 [bb4,d5,g5]@15, ~@42 a4@17 a4@17 ~@16 d5@17 ~@16 c5@17 ~@58 c5@17 ~@23]/5", // Gm Bb Eb G5 Ebsus2 G5 Gm
W: "~ [a4,c5,f5]@17 f5@8 eb5@8 d5@8 ~@6", X: "[~@3 [a4,d5]@17 [bb4,d5]@16 c5@8 bb4@8 ~ g4@25 ~@18]/2",
})).s("gm_pad_poly").gain(0.48)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
~ A@2 B@2 C@2 D E@2 F@2 G@2 H I@2 ~@3 J K L@2 M N@3 O P Q R@2 S@2 T@2 U V W@2 ~@5 X Y@2 Z@7 AA@3 AB Z@11 AC AD AE ~@13
>`.pickRestart({
A: "[~@2 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 ~ f3@4 bb3@4 ~ f3@4 d3@4 ~@5 c3@4 ~ f3@4 bb3@4]/2",
B: "[~ f3@4 c3@4 ~@6 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 ~ f3@4 bb3@4 ~ f3@4 d3@4 ~@5]/2",
C: "[c3@4 ~ f3@4 bb3@4 ~ f3@4 c3@4 ~@5 d3@4 ~ g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 ~ f3@4 bb3@4 ~]/2",
D: "f3@4 d3@4 ~@10 f3@4 bb3@4 ~ f3@4 c3@4 ~@5 d3@4 ~ g3@3",
E: "[~@2 bb3@4 g3@4 ~ d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 f3@4 ~ bb3@4 ~ f3@4 d3@4 ~@5 c3@4 ~ f3@4 bb3@11 ~@2]/2",
F: "[~@5 d3@4 ~ g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 f3@4 ~ bb3@4 ~ f3@4 d3@4 ~@10 f3@4]/2",
G: "[bb3@4 ~ f3@4 c3@4 ~@5 d3@4 ~ g3@4 bb3@4 ~ g3@4 ~ d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 f3@4 ~ bb3@4 ~ f3@4 d3@4 ~]/2",
H: "~@9 f3@4 bb3@4 ~ f3@4 c3@4 ~@5 d3@4 ~ g3@4 bb3@4 ~ g3@3",
I: "[~@2 d3@4 ~@5 d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4 ~@5 d3@4 f3@4 ~ bb3@4 f3@4 ~ d3@4 ~@10 f3@4 bb3@4 ~ f3@4 c3@4 ~@9]/2",
J: "~@20 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 [c4,d4,f4]@3 ~ [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 ~ [c4,d4,f4]@3 ~ [c4,d4,f4]@2", // Bb Dm7
K: "[c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 ~ [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3", // Dm7 Gm
L: "[~@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,f4]@3 ~@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2]/2", // Gm Bb F Gm
M: "[bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~ [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [a3,c4,f4]@3 ~@2", // Gm Bb F
N: "[[a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@3 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 bb3@3 ~@2 eb4@3 ~ f4@3 ~ bb4@3 ~@2 f4@3 ~ d4@3 ~ bb3@3 ~ eb4@3 ~@2 f4@3 ~ bb4@3 ~ f4@3 ~@2 c4@3 ~ bb3@3 ~ d4@3 ~@2 f4@3 ~ bb4@3 ~ f4@3 ~@2 d4@3 ~ bb3@3 ~ d4@3 ~ f4@3 ~@2 bb4@3 ~ f4@3 ~ d4@3 ~@2 bb3@3 ~ eb4@3 ~ f4@3 ~@2 bb4@3 ~ f4@2]/3", // F
O: "~@2 d4@3 ~@2 bb3@3 ~ eb4@3 ~ f4@3 ~ bb4@3 ~@2 f4@3 ~ c4@3 ~ bb3@3 ~@2 d4@3 ~ f4@3 ~ bb4@3",
P: "~@2 f4@3 ~ d4@3 ~ c4@4 ~@22 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2", // Gm
Q: "[bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~", // Gm Bb
R: "[[bb3,d4,f4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [bb3,d4,g4]@3 ~@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2]/2", // Bb F Gm Bb
S: "[[bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@3 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2]/2", // Bb F Gm Bb
T: "[[bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@3 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [a3,c4,f4]@2 [g3,bb3,d4]@30 ~ d3@4 g3@4 ~ bb3@4 g3@4 ~ d3@4]/2", // Bb F Gm
U: "~@5 d3@4 f3@4 bb3@4 ~ f3@4 d3@4 ~@5 c3@4 ~ f3@4 bb3@4 f3@4",
V: "~ c3@4 ~@5 d3@4 g3@4 bb3@4 ~ g3@4 c3@2 ~ d3@2 g2@4 d3@4 ~ g3@4 bb3@3",
W: "[~ g3@4 ~ d3@4 ~@5 d3@4 f3@4 ~ bb3@4 f3@4 c3@4 ~ a2@4 c3@4 ~ f3@4 bb3@4 f3@4 ~ c3@4 ~@33]/2", X: "~@23 f4",
Y: "[~@2 bb4@3 ~ f4@3 ~ f4@3 ~ a4@3 ~ f4@3 ~ f4@3 ~ g4@3 ~ f4@3 ~@2 eb4@3 ~ d4@3 ~ eb4@3 ~ f4@3 ~ bb4@3 ~ f4@3 ~ f4@3 ~ a4@3 ~ f4@3 ~ f4@3 ~@2 g4@3 ~ f4@3 ~ eb4@3 ~ d4@3 ~ eb4@3 ~]/2",
Z: "f4@3 ~ bb4@3 ~ f4@3 ~ f4@3 ~ a4@3 ~ f4@3 ~ f4@3 ~ g4@3 ~ f4@3 ~ eb4@3 ~ d4@3 ~ eb4@3 ~",
AA: "bb4@5 ~ bb4@2 bb4@2 bb4@2 a4@5 ~ a4@2 a4@2 a4@2 g4@5 ~ g4@2 g4@2 g4@2 f4@3 ~ g4@3 ~ a4@3 ~",
AB: "bb4@5 ~ bb4@2 bb4@2 bb4@2 a4@5 ~ a4@2 a4@2 a4@2 g4@5 ~ g4@2 g4@2 g4@2 f4@3 ~ f4@3 ~ f4@3 ~",
AC: "f4@3 ~ bb4@3 ~ f4@3 ~ f4@3 ~ a4@3 ~ f4@3 ~ f4@3 ~ g4@3 ~ f4@3 ~ eb4@3 ~ d4@3 ~ c4@3 ~",
AD: "[f3,bb3,d4]@2 [f3,bb3,d4]!4 [f3,bb3,d4]@2 [f3,bb3,d4]!4 [f3,bb3,d4]@2 [f3,bb3,d4]!4 [f3,bb3,d4]@2 [f3,bb3,d4]!4", // Bb
AE: "~ [bb3,d4]@47, f3", // Bb
})).s("gm_acoustic_guitar_nylon").gain(0.48)
// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<~@16 A B C@3 ~@19 D@2 E@5 ~@27 F G H I@8 J K>".pickRestart({
A: "~@40 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2", // Gm
B: "[bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,f4]@3 ~@2", // Gm Bb
C: "[[bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@3 ~@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 [c4,d4,f4]@3 ~@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@3 ~@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [c4,d4,f4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,gb4]@3 ~ [bb3,d4,gb4]@2 ~ [bb3,d4,gb4]@2 [bb3,d4,gb4]@2 [bb3,d4,gb4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,g4]@3 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 ~ [bb3,d4,g4]@2 [bb3,d4,g4]@2 [bb3,d4,f4]@3 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@2 [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 [bb3,d4,f4]@3 ~@29]/3", // Bb Dm7 Gm Bbaug Gm Bb
D: "[~@15 [d4,g4,bb4]@30 ~ [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [c4,f4,bb4]@4 [d4,g4,bb4]@28]/2", // Gm Fsus4 Gm
E: "[~@3 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [c4,f4,bb4]@4 [d4,g4,bb4]@30 ~ [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [c4,f4,bb4]@4 [d4,g4,bb4]@30 ~ [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [c4,f4,bb4]@4 ~ [d4,g4,bb4]@30 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [d4,g4,bb4]@4 ~ [d4,g4,bb4]@4 [c4,f4,bb4]@4 ~ [d4,g4,bb4]@42 ~@13]/5", // Gm Fsus4 Gm Fsus4 Gm Fsus4 Gm Fsus4 …
F: "g3@13 ~@4 g3@13 ~@3 g3@13 ~@2", G: "~@2 g3@13 ~@3 g3@13 ~@4 g3@13", H: "~@4 f3@13 ~@3 g3@13 ~@4 g3@11",
I: "[~@5 g3@13 ~@4 g3@13 ~@4 g3@13 ~@3 g3@13 ~@4 g3@13 ~@3 f3@13 ~@4 g3@13 ~@3 g3@13 ~@4 g3@13 ~@4 g3@13 ~@3 g3@13 ~@4 g3@13 ~@3 g3@13 ~@4 f3@13 ~@4 g3@13 ~@3 g3@13 ~@4 g3@13 ~@3 g3@13 ~@4 g3@17 g3@31 ~@2 f3@13 ~@3 g3@13 ~]/8",
J: "~@3 g3@13 ~@4 g3@13 ~@3 gb3@12", K: "~@5 g3@32 ~@11",
})).s("gm_acoustic_guitar_nylon").gain(0.32)
// chords · acoustic guitar nylon
const acoustic_guitar_nylon_3 = note(`<
A@2 B@4 C@4 D E@3 F G@2 ~@8 H@2 ~@2 I J K@3 L@3 M N O@2 ~@5 P Q@2 R@9 S R@13 ~@15
>`.pickRestart({
A: "[~@45 g2@22 ~@5 g2@22 ~@2]/2",
B: "[~@3 bb2@22 ~@6 a2@22 ~@5 g2@22 ~@5 g2@22 ~@5 bb2@22 ~@6 a2@22 ~@5 g2@22 ~@3]/4",
C: "[~@2 g2@22 ~@5 bb2@22 ~@6 c3@22 ~@5 g2@22 ~@5 g2@22 ~@5 bb2@22 ~@6 a2@22 ~@4]/4", D: "~ g2@22 ~@5 g2@20",
E: "[~@7 bb2@22 ~@6 c3@22 ~@5 g2@22 ~@5 g2@22 ~@5 bb2@22 ~@6]/3", F: "c3@22 ~@5 g2@21",
G: "[~@6 g2@22 ~@5 bb2@22 ~@6 c3@22 ~@13]/2", H: "[~@21 [g3,bb3,eb4]@41 ~@34]/2", I: "~@32 d3@3 ~ bb3@8 d3@4",
J: "g3@8 ~ d3@4 f3@8 d3@4 eb3@8 f3@4 eb3@11",
K: "[~@2 d3@32 d3@4 bb3@8 ~ d3@4 g3@8 d3@4 f3@8 d3@4 eb3@8 ~ f3@4 d3@24 d3@20 ~ d3@4 bb3@7]/3",
L: "[~ d3@4 g3@8 d3@4 f3@8 ~ d3@4 eb3@8 f3@4 eb3@12 d3@37 g2@21 ~@6 g2@21 ~@5]/3", M: "bb2@7 ~@2 c3@7",
N: "~@5 g2@42 ~", O: "[~@10 bb2@21 ~@6 c3@21 ~@38]/2", P: "~@23 [bb3,d4]",
Q: "[~@2 [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [a3,c4]@3 ~ [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [g3,bb3,eb4]@3 ~ [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 ~ [f3,a3,c4]@3 ~ [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [bb3,d4]@3 ~ [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [a3,c4]@3 ~ [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [g3,bb3,eb4]@3 ~@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [f3,a3,c4]@3 ~ [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2]/2", // Bb Am Eb F Bb Am Eb F
R: "[bb3,d4]@3 ~ [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [a3,c4]@3 ~ [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [g3,bb3,eb4]@3 ~ [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [f3,a3,c4]@3 ~ [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2 [f3,a3,c4]@2", // Bb Am Eb F
S: "[bb3,d4]@3 ~ [bb3,d4]@3 ~ [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [bb3,d4]@2 [a3,c4]@3 ~ [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [a3,c4]@2 [g3,bb3,eb4]@3 ~ [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [g3,bb3,eb4]@2 [f3,a3,c4]@3 ~ [f3,a3,c4]@2 [f3,a3,c4]@2", // Bb Am Eb F
})).s("gm_acoustic_guitar_nylon").gain(0.29)
// chords · distortion guitar
const distortion_guitar = note("<~@2 A@6 B@2 ~@6 C D E@2 F@4 G@2 ~@3 H I J@3 K@2 L ~@50>".pickRestart({
A: "[~@31 d4@13 d4@14 d4@14 d4@13 d4@14 d4@13 bb4@9 ~ d4@4 g4@9 d4@5 f4@9 d4@4 eb4@9 f4@5 d4@54 bb4@9 ~ d4@4 g4@9 d4@5 f4@9 d4@4 eb4@9 f4@5 eb4@12]/6",
B: "[~ d4@20 f4@27]/2", C: "~@40 [bb2,d3]@3 ~ [bb2,d3]@3 ~", D: "~@18 [bb2,d3]@3 ~ [bb2,d3]@3 ~@18 [bb2,d3]@3 ~@2",
E: "[[bb2,d3]@3 ~@18 [c3,d3]@3 ~@2 [c3,d3]@3 ~@18 [bb2,d3]@3 ~ [bb2,d3]@3 ~@19 [bb2,d3]@3 ~ [bb2,d3]@3 ~@16]/2", // Bb Csus2 Bb
F: "[~@3 [bb2,d3]@3 ~ [bb2,d3]@3 ~@19 [c3,d3]@3 ~ [c3,d3]@3 ~@6 d4@13 [bb2,d3]@3 ~ [bb2,d3]@3 ~ d4@3 ~ g4@9 d4@4 [bb2,d3]@3 ~@2 [bb2,d3]@3 ~ d4@3 ~ eb4@9 f4@4 [bb2,d3]@3 ~@2 [bb2,d3]@3 ~@18 [a2,c3]@3 ~ [a2,c3]@3 ~@19 [bb2,d3]@3 ~ [bb2,d3]@3 ~@2 d4@3 ~ g4@8 d4@4 ~ [bb2,d3]@3 ~ [bb2,d3]@3 ~, ~@3 d4@26 d4@13 ~@13 bb4@9 ~@16 f4@9 ~@17 d4@52 bb4@9 ~@17 f4@8]/4", // Bb Csus2 Bb Am Bb
G: "[d4@3 ~@2 eb4@8 f4@4 ~ [bb2,d3]@3 ~ [bb2,d3]@3 ~@18 [a2,c3]@3 ~@2 [a2,c3]@3 ~@18 [bb2,eb3]@3 ~@2 [bb2,eb3]@3 ~ [bb2,eb3]@3 ~@15, ~@18 eb4@13 d4@39 ~@26]/2", // Bb Am Eb5
H: "~@32 d4@3 ~ bb4@8 d4@4", I: "g4@8 ~ d4@4 f4@8 d4@4 eb4@8 f4@4 eb4@11",
J: "[~@2 d4@32 d4@4 bb4@8 ~ d4@4 g4@8 d4@4 f4@8 d4@4 eb4@8 ~ f4@4 d4@24 d4@20 ~ d4@4 bb4@7]/3",
K: "[~ d4@4 g4@8 d4@4 f4@8 ~ d4@4 eb4@8 f4@4 eb4@12 d4@37 d4@4 ~]/2", L: "d4@4 d4@4 d4@4 ~ d4@4 d4@4 ~@27",
})).s("gm_distortion_guitar").gain(0.32)
// chords · distortion guitar · soft notes
const distortion_guitar_soft = note("<~@2 A ~@14 B C D E@3 F B G@5 ~@6 H ~@50>".pickRestart({
A: "~ d4@9 ~@6", B: "[bb2,d3]@3 ~@2 [bb2,d3]@10 ~@11 [bb2,d3]@3 ~@2 [bb2,d3]@10 ~@7",
C: "~@4 [bb2,d3]@3 ~ [bb2,d3]@10 ~@12 [c3,d3]@3 ~ [c3,d3]@10 ~@4", // Bb Csus2
D: "~@8 [bb2,d3]@3 ~ [bb2,d3]@10 ~@12 [bb2,d3]@3 ~ [bb2,d3]@10", // Bb
E: "[~@11 [bb2,d3]@3 ~@2 [bb2,d3]@10 ~@11 [c3,d3]@3 ~@2 [c3,d3]@10 ~@11 [bb2,d3]@3 ~ [bb2,d3]@10 ~@12 [bb2,d3]@3 ~ [bb2,d3]@10 ~@12 [bb2,d3]@3 ~ [bb2,d3]@10 ~@12 [a2,c3]@3]/3", // Bb Csus2 Bb Am
F: "~ [a2,c3]@10 ~@12 [bb2,d3]@3 ~ [bb2,d3]@10 ~@11", // Am Bb
G: "[~@4 [a2,c3]@3 ~ [a2,c3]@10 ~@16 [bb2,eb3]@4 ~ [bb2,eb3]@3 ~ [bb2,eb3]@3 ~ [bb2,eb3]@10 ~@16 d4@52 f4@51 d4@26 ~@38, ~@21 f4@52 ~@167]/5", // Am Eb5
H: "~@22 d4@4 d4@4 d4@4 ~ d4@13",
})).s("gm_distortion_guitar").gain(0.16)
// chords · string ensemble 1
const string_ensemble_1 = note("<~@29 A@8 ~@50>".pickRestart({
A: "[~@36 [bb2,d3,g3]@49 [bb2,d3,f3]@25 [a2,c3,f3]@24 [bb2,d3,g3]@49 ~ [bb2,d3,f3]@24 [a2,c3,f3]@25 [bb2,d3,g3]@49 [bb2,d3,f3]@25 [a2,c3,f3]@24 [bb2,d3,g3]@21 ~@32]/8", // Gm Bb F Gm Bb F Gm Bb …
})).s("gm_string_ensemble_1").gain(0.29)
// bass · acoustic bass
const bass = note(`<
~@5 A@5 B C@3 D@3 E F@3 G H I J K@2 L M@2 N O@2 P Q R@2 S T U@4 V@2 W@2 X@2 Y@7 Z@4 Y@12 AA AB AC AD AE AF@8 AG AH
>`.pickRestart({
A: "[~@23 g1@54 bb1@27 ~ c2@27 g1@54 bb1@27 ~ c2@26]/5", B: "~ g1@44 ~@3",
C: "[~@7 bb1@22 ~@6 c2@22 ~@5 g1@44 ~@10 bb1@22 ~@6]/3",
D: "[c2@22 ~@5 g1@44 ~@10 bb1@22 ~@6 c2@22 ~@5 g1@3 ~ g1@3 ~]/3",
E: "g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~ bb1@3 ~@2",
F: "[bb1@3 ~ bb1@3 ~ bb1@3 ~@2 bb1@3 ~ bb1@3 ~ c2@3 ~@2 c2@3 ~ c2@3 ~ c2@3 ~@2 c2@3 ~ c2@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~@2 bb1@3 ~ bb1@3 ~ bb1@3 ~@2 c2@3 ~ c2@3 ~ c2@3 ~@2 c2@3 ~ c2@2]/3",
G: "~@2 c2@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3",
H: "~@2 g1@3 ~ g1@3 ~ bb1@3 ~@2 bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~@2 bb1@3 ~ c2@3 ~ c2@3 ~@2 c2@3",
I: "~ c2@3 ~ c2@3 ~@2 c2@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~",
J: "g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~@2 bb1@3 ~ bb1@3 ~ bb1@3 ~@2 bb1@3 ~ bb1@3 ~ bb1@3 ~ c2@3 ~@2",
K: "[c2@3 ~ c2@3 ~ c2@3 ~@2 c2@3 ~ c2@3 ~ eb1@20 ~@2 eb1@3 ~ eb1@10 ~@3 eb1@10 ~@3 bb1@10 ~@3 bb1@10]/2",
L: "~@3 bb1@10 ~@3 bb1@10 ~@3 eb1@10 ~@3 eb1@6",
M: "[~@2 eb1@3 ~@2 eb1@10 ~@2 eb1@7 ~@2 c2@3 ~ bb1@10 ~@3 bb1@10 ~@3 f1@3 ~@23 g1@3 ~ g1@3 ~ g1@3 ~]/2",
N: "g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3",
O: "[~@2 bb1@3 ~ bb1@3 ~ bb1@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ bb1@3 ~ bb1@3 ~]/2",
P: "bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~@2 c2@3 ~ c2@3 ~ g1@3 ~ g1@3",
Q: "~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ bb1@3 ~ bb1@2",
R: "[~@2 bb1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~@2 c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~ g1@42 ~@11]/2",
S: "bb1@7 ~@2 c2@7", T: "~@5 g1@42 ~",
U: "[~@10 bb1@21 ~@6 c2@21 ~@5 g1@11 ~@3 g1@11 ~@2 g1@11 ~@2 g1@11 ~@2 g1@11 ~@3 g1@11 ~@2 g1@11 ~@2 g1@11 ~@2 g1@11 ~@3 g1@9]/4",
V: "[~@4 g1@11 ~@2 g1@11 ~@2 g1@11 ~@3 g1@11 ~@2 g1@11 ~@2 g1@11 ~@3 g1@11 ~]/2",
W: "[~ g1@11 ~@2 g1@11 ~@2 g1@11 ~@3 g1@11 ~@2 g1@11 ~@2 g1@11 ~@2 g1@11 ~@3 bb1@2]/2",
X: "[~@2 bb1@3 ~ bb1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~@2 f1@3 ~ g1@3 ~ a1@3 ~ bb1@3 ~ bb1@3 ~ bb1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ g1@3 ~@2 g1@3 ~ g1@3 ~ f1@3 ~ g1@3 ~ a1@3 ~]/2",
Y: "bb1@3 ~ bb1@3 ~ bb1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ g1@3 ~ g1@3 ~ g1@3 ~ f1@3 ~ g1@3 ~ a1@3 ~",
Z: "g1@3 ~ g1@3 ~ g1@3 ~ f1@3 ~ f1@3 ~ f1@3 ~ eb1@3 ~ eb1@3 ~ eb1@3 ~ d1@3 ~ eb1@3 ~ f1@3 ~",
AA: "bb1@5 ~ bb1@5 ~ bb1@5 ~ bb1@5 ~", AB: "bb1", AC: "g1@13 ~@4 g1@13 ~@3 g1@13 ~@2",
AD: "~@2 g1@13 ~@3 g1@13 ~@4 g1@13", AE: "~@4 f1@13 ~@3 g1@13 ~@4 g1@11",
AF: "[~@5 g1@13 ~@4 f1@13 ~@4 g1@13 ~@3 g1@13 ~@4 g1@13 ~@3 f1@13 ~@4 g1@13 ~@3 g1@13 ~@4 g1@13 ~@4 f1@13 ~@3 g1@16 ~ g1@13 ~@3 g1@13 ~@4 f1@13 ~@4 g1@13 ~@3 g1@13 ~@4 g1@13 ~@3 f1@13 ~@4 g1@17 g1@27 ~@6 f1@13 ~@3 g1@14]/8",
AG: "~@3 g1@13 ~@4 g1@13 ~@3 gb1@12", AH: "~@5 g1@32 ~@11",
})).s("gm_acoustic_bass").gain(0.48)
// drums · kick
const kick = s("bd").struct(`<
~@18 A B C D E F G H B C D E I J K L M N ~@2 O ~@9 P Q R Q S Q S@2 Q@3 T Q S Q S Q R Q S Q S Q S U V ~@13
>`.pickRestart({
A: "~@47 x", B: "~@25 x ~@22", C: "~@3 x ~@25 x ~@18", D: "~@7 x ~@24 x ~@15", E: "~@5 x ~@12 x ~@5",
F: "~@7 x ~@12 x ~@3", G: "~@18 x ~@24 x ~@4", H: "~@21 x ~@25 x", I: "~@13 x ~@23 x ~@10", J: "~@7 x ~@11 x ~@4",
K: "~@15 x ~@24 x ~@7", L: "~@16 x ~@24 x ~@6", M: "~@17 x ~@24 x ~@5", N: "~@19 x ~@23 x ~@4", O: "~@5 x ~@42",
P: "~@3 x", Q: "x!2", R: "x ~@4 x!2 ~@2 x ~@2", S: "x ~ x!2", T: "x ~@11 x ~@7 x!3 ~", U: "x ~@4 x!2 ~@5", V: "x",
})).gain(0.14)
// drums · snare
const snare = s("sd").struct(`<
~@29 A B C D E F G ~@12 H I J I K I J L K@3 M I J I K I J I K I J I K@2 ~@14
>`.pickRestart({
A: "~@23 x ~@24", B: "x ~@12 x ~@11 x ~@11 x ~@10", C: "~ x ~@5 x ~@5 x ~@5 x ~@4",
D: "~@3 x ~@11 x ~@11 x ~@12 x ~@7", E: "~@4 x ~@11 x ~@11 x ~@12 x ~@6", F: "~@5 x ~@11 x ~@12 x ~@11 x ~@5",
G: "~@6 x ~@12 x ~@11 x ~@11 x ~@4", H: "~@3 x", I: "~ x ~ x", J: "~@6 x ~@14 x!2 ~", K: "~@6 x ~@11 x ~@2 x!2 ~",
L: "~@6 x ~@13 x!4", M: "~@6 x ~@8 x!3 ~ x ~@4",
})).gain(0.14)
// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
~@30
[~@4 x ~@2 x ~ x ~ x ~@17 x ~ x ~ x ~ x ~@12]
[~@3 x!4 ~@8 x!4 ~@5]
[~@7 x ~ x ~ x ~ x ~@17 x ~ x ~@2 x ~ x ~@9]
[~@8 x ~ x ~ x ~ x ~@18 x ~ x ~ x ~ x ~@8]
[~@9 x ~ x ~ x ~ x ~@18 x ~ x ~ x ~ x ~@7]
[~@10 x ~ x ~ x ~ x ~@18 x ~ x ~ x ~ x ~@6]
~@51
>`).gain(0.07)
// drums · hihat
// … 86 more lines
More by The Cranberries
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.