0:00/0:00
// Forse non ci lasceremo mai — Morandi
// 136 bpm, 4/4, key D# major. 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 171 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(136/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.
// bass · fretless bass
const bass = note(`<
~@32 A@4 B@4 C@8 D@4 B@4 E@7 F@2 G@8 H@2 I@2 J@2 K@2 J@2 L@2 J@2 M@8 N@4 B@4 C@8 D@4 O@4 P@7 Q@2 R@2 S@2 R@2 T@4 B@4
C@8 D@4 B@4 C@8 U V W@3
>`.pickRestart({
A: "[~@23 eb1@18 ~@3 eb1@3 f1@16 ~@2 f1@6 g1@18 ~@3 g1@3 ab1]/4",
B: "[~@8 ab1@3 bb1 ~@2 bb1@8 ~ eb1@18 ~@3 eb1@3 f1@16 ~@2 f1@6 g1@18 ~@3 g1@3 bb1]/4",
C: "[~@11 eb1@10 ~@2 ab1@16 ~@2 ab1@5 ~ g1@14 ~@4 g1@5 ~ f1@15 ~@3 f1@6 g1@15 ~@3 g1@4 ~@2 ab1@16 ~@2 ab1@5 ~ g1@14 ~@4 g1@5 ~ f1@15 ~@3 f1@6 bb1]/8",
D: "[~@5 bb1@15 ~@3 eb1@18 ~@3 eb1@3 f1@16 ~@2 f1@6 g1@18 ~@3 g1@3 ab1]/4",
E: "[~@11 eb1@10 ~@2 ab1@16 ~@2 ab1@5 ~ g1@14 ~@4 g1@5 ~ f1@12 f2@2 ~ f1@3 ~@18 eb2@6 eb1@5 ~ f1@14 ~@4 f1@6 g1@14 ~@4 g1@6 ab1, ~@89 eb1@21 ~@58]/7",
F: "[~@11 bb1@10 ~@2 eb1@25]/2",
G: "[~@17 eb2@2 ~ eb1@3 d1@21 ~@3 d1@20 ~ d1@3 ~@21 eb2@3 eb2@20 ~ eb1@3 ~@18 d2@28 ~@2 eb2@2 ~@4 eb2@12 ~@3 eb2@2 ~@2, ~@44 d2@21 ~@6 eb1@44 ~@4 d1@46 ~@27]/8",
H: "[~@2 eb2 ~@2 eb2 ~@2 eb2@15 d2@2 ~@4 d2@12 ~@3 d2@2 ~@2]/2",
I: "[~@2 d2 ~@2 d2 ~@2 d2@13 ~@2 eb2@2 ~@4 eb2@12 ~@3 eb2@2 ~@2]/2",
J: "[~@2 eb2 ~@2 eb2@17 ~ d2@2 ~@4 d2@12 ~@3 d2@2 ~@2]/2",
K: "[~@2 d2 ~@2 d2 ~@2 d2@13 ~@2 eb2@2 ~@4 eb2@12 ~@3 eb2 ~@3]/2",
L: "[~@2 d2 ~@2 d2@11 ~ d2@3 ~@3 eb2@2 ~@4 eb2@12 ~@3 eb2 ~@3]/2",
M: "[~@2 d2 ~@2 d2@11 ~ d2@3 ~@3 g1@18 ~@3 g1@3 gb1@19 ~@2 gb1@3 f1@10 ~@2 bb1@12 eb1@9 g1@9 ab1@28 ~@2 g1@17 ~ g1@5 ~ f1@17 ~ f1@4 ~@2 bb1]/8",
N: "[~@8 bb2@5 ~ bb1@2 ~ bb1@5 ~ eb1@18 ~@3 eb1@3 f1@16 ~@2 f1@6 g1@18 ~@3 g1@3 ab1]/4",
O: "[~@8 ab1@3 bb1 ~@2 bb1@8 ~ eb1@18 ~@3 eb1@3 f1@16 ~@2 f1@6 bb1@18 ~@3 bb1@3 eb1]/4",
P: "[~@8 eb2 ~@2 eb2@6 eb1@6 ab1@16 ~@2 ab1@5 ~ g1@14 ~@4 g1@5 ~ f1@12 f2@2 ~ f1@3 ~@18 eb2@6 eb1@4 ~@2 f1@14 ~@4 f1@6 g1@14 ~@4 g1@6 ab1, ~@89 eb1@21 ~@58]/7",
Q: "[~@11 bb1@10 ~@2 ab1@17 ~@4 ab1@3 ~]/2", R: "[~@2 ab1 ~@2 ab1@11 ~ ab1@6 g1@17 ~@4 g1@3 ~]/2",
S: "[~@2 g1 ~@2 g1@8 ~@4 g1@6 ab1@17 ~@4 ab1@3 ~]/2",
T: "[~@2 g1 ~@2 g1@8 ~@4 g1@6 eb1@18 ~@3 eb1@3 f1@16 ~@2 f1@6 g1@18 ~@3 g1@3 ab1]/4", U: "~@8 bb1@7 ~@2 bb1@7",
V: "~@2 bb1@8 ~ bb1@5 ~ bb1@5 ~@2", W: "[~ eb1@59 ~@12]/3",
})).s("gm_fretless_bass").gain(0.5)
// chords · piano
const piano = note(`<
A@4 B@8 C@4 D@4 E@8 F@8 G@8 H@8 I@7 J@4 K@8 L ~@14 M N@6 O@6 G@8 H@8 P@4 Q@3 R@6 S@2 T@2 S@2 U@4 V@8 H@8 G@8 W@5 X Y@3
>`.pickRestart({
A: "[~@23 [f4,a4]@3 c5@3 f4@39 ~@3 [f4,a4]@3 c5@3 f4@19, ~@23 [eb2,eb3]@45 ~@3 [d2,d3]@25]/4", // F Eb D
B: "[~@23 [f4,a4]@3 c5@3 f4@39 ~@3 [f4,a4]@3 c5@3 f4@37 ~@5 [f4,a4]@3 ~@3 f4@40 ~@2 [f4,a4]@3 ~@3 f4@19, ~@23 [eb2,eb3]@45 ~@3 [d2,d3]@45 ~@3 [eb2,eb3]@45 ~@3 [d2,d3]@25, ~@122 c5@43 ~@5 c5@22]/8", // F Eb D Eb D
C: "[~@20 c5@2 ~ [f4,a4]@3 ~@3 f4@40 ~@2 [d2,d3,d4,f4,g4,c5]@25, ~@8 a3@15 [eb2,eb3]@44 ~@29, ~@11 c4@12 ~@73, ~@7 f4@4 ~@37, ~@17 g4@5 ~@4 c5@44 ~@26]/4", // F Dm7 Eb
D: "[~@11 [f4,g4]@3 c5@2 ~@4 a3@2 ~@13 c5@33 ~@3 [d2,d3,d4,f4,g4,c5]@25, ~@8 [d2,d3]@13 ~@2 [eb2,eb3,f4,a4]@45 ~@28, ~@11 c4@6 f4@5 ~@74]/4", // Fsus2 Dm7 D F7
E: "[~@11 [f4,g4]@3 c5@2 ~@4 a3@2 ~ [g4,a4]@3 c5@3 [eb2,eb3,g4,a4]@37 ~@5 [d4,f4,g4,c5]@23 ~@7 bb4@6 a4@6 bb4@6 ~@12 bb3@3 d4@2 ~ g4@2 ~ bb4@2 ~ e4@12 d4@10 ~@2 [f2,eb4]@12 [bb2,ab3,d4,g4]@11 ~ [eb2,g3,bb3,f4], ~@8 [d2,d3]@14 ~ [eb2,eb3]@5 ~@43 [d2,d3]@46 ~@2 g2@23 ~ [gb2,a3,a4]@22 ~@27, ~@11 c4@6 f4@6 c4@43 ~@29 c5@23 ~ g4@13 ~@60, ~@119 bb3@8 ~ g3@15 ~@24 [c4,ab4]@10 ~@15, ~@125 d3@18 ~@49]/8", // Fsus2 Gsus2 Am7b5 Dm7 F7 Gm Eb D …
F: "[~@8 [g3,bb3,eb4]@8 ~ [f3,bb3]@16 ~@2 [ab3,c4,eb4]@11 ~ f4@11 ~ eb4@11 ~ [a3,c4,eb4]@11 ~ [a3,c4,eb4]@8 ~@4 [ab3,c4,eb4]@11 ~@7 bb2@5 ~ [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [ab2,g3,c4,eb4], ~@17 ab2@28 ~@2 [g2,g3,bb3]@23 ~ f2@20 ~@4 bb2@16 ~@8 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@11, ~@17 d4@14 ~@76 [ab3,c4,eb4]@8 ~@16 [g3,bb3,eb4]@9 ~@15 eb4@11 ~@13 bb3@9 ~@4, ~@155 [ab3,c4]@8 ~@16 [g3,eb4]@11 ~@2]/8", // Eb Bb5 Ab Adim Ab Eb Ab Gm7 …
G: "[~@8 ab2@3 ~@6 [ab3,c4,eb4]@3 ~@3 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [bb2,ab3,db4]@12 [eb2,g3,bb3,eb4]@10 ~@2 [c4,eb4,g4]@11 ~ [c4,eb4,g4]@6 ab2@6 [g3,bb3,f4]@11 ~@7 g2@5 ~ [ab3,c4,eb4]@11 ~@7 f2@5 ~ [g2,g3,bb3,f4], ~@11 [ab3,c4,eb4]@6 ~@18 [g3,bb3,eb4]@9 ~@15 eb4@11 ~@13 bb3@9 ~@3 f4@10 ~@87, ~@14 bb2@7 ~@2 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@34 ab2@12 ~@12 g2@12 ~@12 f2@14 ~@11, ~@59 [ab3,c4]@8 ~@16 [g3,eb4]@11 ~@61 [g3,bb3,eb4]@9 ~@15 [ab3,c4,eb4]@8 ~@5]/8", // Ab Eb Ab Gm7 Bbm7 Eb Cm Gm7 …
H: "[~@5 g3 ~@2 [g3,bb3,eb4]@5 ~@4 g2@4 ~@2 [c4,eb4,g4]@11 ~ [c4,eb4,g4]@6 ab2@6 [g3,bb3,f4]@11 ~@7 g2@5 ~ [ab3,c4,eb4]@11 ~@7 f2@5 ~ [bb1,c4,eb4,ab4]@9 ~@3 [c4,eb4]@5 ~ [c4,eb4]@3 ~@3 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [ab2,g3,c4,eb4], ~@14 [g3,bb3,d4]@7 ~@2 ab2@12 ~@12 g2@12 [g3,bb3,eb4]@9 ~@3 f2@14 ~@19 bb2@12 ~@3 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@11, ~@83 [ab3,c4,eb4]@8 ~@16 ab4@8 ~@16 [g3,bb3,eb4]@9 ~@15 eb4@11 ~@13 bb3@9 ~@4, ~@155 [ab3,c4]@8 ~@16 [g3,eb4]@11 ~@2]/8", // Eb Cm Gm7 Ab Cm Eb Ab Gm7 …
I: "[~@8 ab2@3 ~@6 [ab3,c4,eb4]@3 ~@3 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [bb2,ab3,db4]@12 [eb2,g3,bb3,eb4]@10 ~@2 [c4,eb4,g4]@11 ~ [c4,eb4,g4]@6 ab2@6 [g3,bb3,f4]@11 ~@7 g2@5 ~ [f2,ab3,c4,eb4], ~@11 [ab3,c4,eb4]@6 ~@18 [g3,bb3,eb4]@9 ~@15 [ab3,c4,eb4]@11 ~@13 [g3,eb4]@11 ~@61 [g3,bb3,eb4]@9 ~@4, ~@14 bb2@7 ~@2 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@34 ab2@12 ~@12 g2@12 ~@13, ~@83 bb3@9 ~@3 f4@10 ~@63]/7", // Ab Eb Ab Gm7 Bbm7 Eb Cm Gm7 …
J: "[~@8 ab3@3 [ab3,c4,eb4]@2 ~ f2@2 ~ [g3,bb3]@18 [g3,bb3,eb4]@6 eb2@2 ~@4 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,d4]@11 ~ [g3,bb3,d4]@6 g2@6 [ab2,ab3,c4,eb4], ~@17 eb2@21 ~@9 f2@14 ~@10 g2@14 ~@11, ~@17 [eb4,f4]@16 ~@26 [ab3,eb4]@10 ~@27, ~@59 c4@8 ~@29]/4", // Ab Gm Eb Ab Gm Ab Ebsus2 Ab5
K: "[~@11 [bb2,ab3,c4,eb4]@9 ~@3 [eb2,eb3,f4,a4,c5]@45 ~@9 [c4,d4]@2 ~@2 a4@4 ~ g4@3 f4@25 ~@11 [f4,g4]@2 ~ [f4,a4]@6 c4@2 ~ [c4,f4]@27 ~@12 c4@6 g4 ~@2 f4 ~@2 [d2,d3,c4] ~@2 [c4,f4], ~@71 d2@43 ~@5 [eb2,eb3]@8 ~ [eb2,eb3]@36 ~@3 [d2,d3]@20 ~@5, ~@74 d3@41 ~@77, ~@77 f4 ~@2 [c4,d4]@34 ~@8 c4@5 ~ c4@4 ~@60, ~@80 g4@2 ~@94 a4@5 ~@11]/8", // Ab F7 Csus2 Fsus2 F F5 D7 F5 …
L: "~@5 [c4,f4] ~@5 [c4,f4]@3 ~@3 [c4,f4] ~@6, ~@11 d3@2 ~@11, ~@11 d2 ~@2 [d2,d3]@5 ~@5", M: "~@23 [c5,c6]",
N: "[~@5 [bb4,bb5]@6 [a4,a5]@6 [bb4,bb5]@6 ~@12 bb3@3 d4@2 ~ g4@2 ~ bb4@2 ~ e4@12 d4@10 ~@2 [f2,eb4]@12 [bb2,ab3,d4,g4]@11 ~ [g3,bb3,f4]@8 ~ [g3,bb3,eb4]@8 ~ [f3,bb3]@16 ~@2 [ab3,c4,eb4]@11 ~ [g2,f4], ~@23 g2@23 ~ [gb2,a3,a4]@22 ~@26 eb2@17 ~ ab2@28 ~@3, ~@23 g4@13 ~@108, ~@23 bb3@8 ~ g3@38 ~ [c4,ab4]@10 ~@32 d4@14 ~@17, ~@29 d3@41 ~@74]/6", // Bb A Bb F7 Gm Gm7 Eb Bb5 …
O: "[~@2 bb3@3 ~@9 [g3,bb3]@7 ~@2 [a3,c4,eb4]@11 ~ [a3,c4,eb4]@8 ~@4 [ab3,c4,eb4]@11 ~@7 bb2@3 ~@3 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [ab2,g3,c4,eb4], ~@5 g3@8 ~@10 f2@20 ~@4 bb2@16 ~@8 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@11, ~@8 f4@13 ~@38 [ab3,c4,eb4]@8 ~@16 [g3,bb3,eb4]@9 ~@15 eb4@11 ~@13 bb3@9 ~@4, ~@107 [ab3,c4]@8 ~@16 [g3,eb4]@11 ~@2]/6", // Gm Adim Ab Eb Ab Gm7 Abmaj7 Ab …
P: "[~@8 ab2@3 ~@6 [ab3,c4,eb4]@3 ~@3 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [ab3,c4]@11 ~ [ab3,c4]@6 ~@7, ~@11 [ab3,c4,eb4]@6 ~@18 [g3,bb3,eb4]@9 ~@15 eb4@11 ~ [db4,f4]@18 ~@7, ~@14 bb2@7 ~@2 eb2@14 ~@10 f2@14 ~@10 bb2@25, ~@59 [ab3,c4]@8 ~@29]/4", // Ab Eb Ab Eb Db Ab
Q: "[~@2 [eb2,g3,c4,db4,f4] ~@8 eb2@3 ~@3 eb2@5 ~ [c4,eb4,g4]@11 ~ [c4,eb4,g4]@6 ab2@6 [g3,bb3,f4]@11 ~@7 g2@5 ~ [f2,ab3,c4,eb4], ~@8 [g3,c4,db4,f4]@5 ~ [g3,c4,db4,f4]@7 ~@2 ab2@12 ~@12 g2@12 [g3,bb3,eb4]@9 ~@4]/3", // Cm Gm7 Fm7 Csus4 Eb
R: "[~@8 ab3@3 [ab3,c4,eb4]@2 ~ f2@2 ~ [g3,bb3]@18 [g3,bb3,eb4]@6 eb2@2 ~@4 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,d4]@11 ~ [g3,bb3,d4]@6 g2@6 [ab2,ab3,c4,eb4]@12 [bb2,ab3,c4,eb4]@9 ~@3 [f3,bb3,d4]@17 ~@4 [f3,bb3,d4] ~@3, ~@17 eb2@21 ~@9 f2@14 ~@10 g2@14 ~@34 ab2@24 ~, ~@17 [eb4,f4]@16 ~@26 [ab3,eb4]@10 ~@75, ~@59 c4@8 ~@77]/6", // Ab Gm Eb Ab Gm Ab Bb Ebsus2 …
S: "[~@5 [f3,bb3]@12 ab2@4 ~@2 [f3,g3,bb3,d4]@15 ~@6 [f3,g3,bb3,d4] ~@3, ~@2 ab2@12 ~@9 g2@25, ~@5 d4@15 ~@28]/2", // Bb5 Gm7
T: "[~@5 [f3,g3,bb3,d4]@10 ~@2 [f3,g3,bb3,d4]@4 ~@2 [f3,bb3,d4]@17 ~@4 [f3,bb3,d4] ~@3, ~@2 g2@19 ~@2 ab2@24 ~]/2", // Gm7 Bb
U: "[~@5 [f3,g3,bb3,d4]@10 ~@2 [f3,g3,bb3,d4]@4 ~@2 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [ab2,g3,c4,eb4], ~@2 g2@19 ~@2 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@11, ~@35 [g3,bb3,eb4]@9 ~@15 eb4@11 ~@13 bb3@9 ~@4, ~@59 [ab3,c4]@8 ~@16 [g3,eb4]@11 ~@2]/4", // Gm7 Eb Ab Gm7 Abmaj7 Eb Ab Cm
V: "[~@8 ab2@3 ~@6 [ab3,c4,eb4]@3 ~@3 [g3,bb3,eb4]@11 ~@7 eb2@6 [ab3,c4,eb4]@11 ~@7 f2@6 [g3,bb3,f4]@11 ~@7 g2@6 [bb2,ab3,db4]@12 [eb2,g3,bb3,eb4]@10 ~@2 [c4,eb4,g4]@11 ~ [c4,eb4,g4]@6 ab2@6 [g3,bb3,f4]@11 ~@7 g2@5 ~ [ab3,c4,eb4]@11 ~@7 f2@5 ~ [g2,g3,bb3,f4], ~@11 [ab3,c4,eb4]@5 ~@19 [g3,bb3,eb4]@9 ~@15 eb4@11 ~@13 bb3@9 ~@3 f4@10 ~@87, ~@14 bb2@7 ~@2 eb2@14 ~@10 f2@14 ~@10 g2@14 ~@34 ab2@12 ~@12 g2@12 ~@12 f2@14 ~@11, ~@59 [ab3,c4]@8 ~@16 [g3,eb4]@11 ~@61 [g3,bb3,eb4]@9 ~@15 [ab3,c4,eb4]@8 ~@5]/8", // Ab Eb Ab Gm7 Bbm7 Eb Cm Gm7 …
W: "[~@5 g3 ~@2 [g3,bb3,eb4]@5 ~@4 g2@4 ~@2 [c4,eb4,g4]@11 ~ [c4,eb4,g4]@6 ab2@6 [g3,bb3,f4]@11 ~@7 g2@5 ~ [ab3,c4,eb4]@11 ~@7 f2@5 ~ [ab3,c4,eb4]@7 ~@2 [ab3,c4,eb4]@7 ~@2 [c4,eb4,ab4]@7, ~@14 [g3,bb3,d4]@7 ~@2 ab2@12 ~@12 g2@12 [g3,bb3,eb4]@9 ~@3 f2@14 ~@35, ~@83 [ab3,c4,eb4]@8 ~@29]/5", // Eb Cm Gm7 Ab Gm Eb Ab
X: "~@2 [c4,eb4,ab4]@9 [ab3,c4,eb4]@5 ~ [ab3,c4,eb4]@6 ~", // Ab
Y: "[~@25 bb4@31 ~@16, ~ eb2@15 d4@40 ~@16, ~@5 eb3@51 ~@16, ~@9 g3@11 g4@36 ~@16, ~@12 bb3@47 ~@13]/3",
})).s("gm_piano").gain(0.45).pan(0.4)
// chords · string ensemble 2
const string_ensemble_2 = note(`<
~@32 A@8 B@6 C@6 D@4 E@7 F@4 G@5 ~@23 H@8 B@6 I@6 J@7 K@4 L@8 M@8 N@6 C@6 O@4 P@6 Q@4 R@3
>`.pickRestart({
A: "[~@23 [bb3,eb4,g4]@24 [c4,eb4,ab4]@24 f4@12 eb4@12 ~@6 eb4@16 ~@2 [bb3,g4]@24 [c4,ab4]@24 f4@12 eb4@10 ~@2 [f4,ab4,db5], ~@71 [c4,bb4]@24 [c4,ab4]@23 ~ eb4@47 ~ [bb3,bb4]@22 ~@3]/8", // Eb Ab Eb Fm Db C7 Fm Bb
B: "[~@11 [eb4,g4,bb4]@11 ~ [c4,g4,c5]@24 [bb3,f4,bb4]@24 [ab3,c4,ab4]@24 [bb3,f4,bb4]@22 ~@2 [c4,g4,c5]@24 [bb3,f4,bb4]]/6", // Eb C5 Bb5 Ab Bb5 C5 Bb5
C: "[~@11 eb4@12 [ab3,c4,ab4]@24 [eb4,ab4,bb4]@23 ~ [bb3,eb4,g4]@23 ~ [c4,eb4,ab4]@23 ~ f4@12 eb4@11 ~ [c4,ab4], ~@119 [c4,bb4]@23 ~@2]/6", // Ab Ebsus4 Eb Ab Fm C7
D: "[~@5 eb4@16 ~@2 [bb3,g4]@24 [c4,ab4]@24 f4@12 eb4@11 ~ [f4,ab4,db5], ~@23 eb4@47 ~ [bb3,bb4]@23 ~@2]/4", // Eb Fm Db Bb
E: "[~@11 [eb4,g4,bb4]@12 [c4,g4,c5]@24 [bb3,f4,bb4]@24 [c4,eb4,ab4]@17 ~ [bb3,d4,g4]@28 ~@2 g4@6 ab4@6 g4@5 ~ ab4@6 bb4@6 c5@6 d5@5 ~ eb5@5 ~ [c4,eb4,f5], ~@119 [c4,eb4]@23 ~ [bb3,d4]@23 ~@2]/7", // Eb C5 Bb5 Ab Gm F7 Cm Bb
F: "[~@5 g5@5 ~ ab5@5 ~ bb5@4 ~@2 [f5,a5,c6]@42 bb5@3 a5@3 bb5@3 a5@3 f5@19, ~@23 eb3@48 d3@25]/4", // F
G: "[~@17 a4@3 bb4@2 ~ [f4,a4,c5]@16 ~@2 a3@30 [d4,f4,g4,c5]@45 ~@4, ~@41 c4@54 ~@25, ~@41 f4@28 ~@51]/5", // F Dm7
H: "[~@23 [bb3,eb4,g4]@24 [c4,eb4,ab4]@24 f4@12 eb4@11 ~@7 eb4@16 ~@2 [bb3,g4]@24 [c4,ab4]@24 f4@12 eb4@10 ~@2 [f4,ab4,db5], ~@71 [c4,bb4]@23 ~ [c4,ab4]@23 ~ eb4@47 ~ [bb3,bb4]@22 ~@3]/8", // Eb Ab Eb Fm Db C7 Fm Bb
I: "[~@11 eb4@12 [ab3,c4,ab4]@24 [eb4,ab4,bb4]@23 ~ [bb3,eb4,g4]@24 [c4,eb4,ab4]@23 ~ f4@12 eb4@11 ~ [c4,ab4], ~@119 [c4,bb4]@23 ~@2]/6", // Ab Ebsus4 Eb Ab Fm C7
J: "[~@5 eb4@16 ~@2 [bb3,g4]@24 [c4,ab4]@24 [f4,ab4]@23 ~ [f4,g4]@23 ~ [c4,g4,c5]@24 [bb3,f4,bb4]@24 [c4,eb4,ab4], ~@23 eb4@47 ~ db5@47 ~@50]/7", // Eb Fm Fsus2 C5 Bb5 Ab
K: "[~@17 [bb3,d4,g4]@28 ~@2 g4@6 ab4@6 g4@5 ~ ab4@6 bb4@6 c5@6 d5@5 ~ eb5@5 ~ [c4,eb4,f5], ~@47 [c4,eb4]@23 ~ [bb3,d4]@23 ~@2]/4", // Gm F7 Cm Bb
L: "[~@5 g5@5 ~ ab5@5 ~ bb5@4 ~@2 d5@48 c5@48 d5@48 c5@25, ~@23 [f5,bb5]@169]/8", // Bb5
M: "[~@23 [bb3,eb4,g4]@23 ~ [c4,eb4,ab4]@23 ~ f4@12 eb4@11 ~@7 eb4@16 ~@2 [bb3,g4]@23 ~ [c4,ab4]@23 ~ f4@12 eb4@10 ~@2 [f4,ab4,db5], ~@71 [c4,bb4]@23 ~ [c4,ab4]@23 ~ eb4@47 ~ [bb3,bb4]@22 ~@3]/8", // Eb Ab Eb Fm Db C7 Fm Bb
N: "[~@11 [eb4,g4,bb4]@12 [c4,g4,c5]@24 [bb3,f4,bb4]@24 [ab3,c4,ab4]@24 [bb3,f4,bb4]@21 ~@3 [c4,g4,c5]@24 [bb3,f4,bb4]]/6", // Eb C5 Bb5 Ab Bb5 C5 Bb5
O: "[~@5 eb4@16 ~@2 [bb3,g4]@24 [c4,ab4]@24 f4@12 eb4@10 ~@2 [f4,ab4,db5], ~@23 eb4@47 ~ [bb3,bb4]@22 ~@3]/4", // Eb Fm Db Bb
P: "[~@11 [eb4,g4,bb4]@11 ~ [c4,g4,c5]@24 [bb3,f4,bb4]@24 [ab3,c4,ab4]@24 [bb3,f4,bb4]@21 ~@3 [c4,g4,c5]@24 [bb3,f4,bb4]]/6", // Eb C5 Bb5 Ab Bb5 C5 Bb5
Q: "[~@11 eb4@12 [ab3,c4,ab4]@24 [ab4,eb5]@49]/4", R: "[~ [d5,g5]@59 ~@12]/3",
})).s("gm_string_ensemble_2").gain(0.33).pan(0.4)
// other · string ensemble 1
const string_ensemble_1 = note("<~@111 A@2 B@7 ~@14 C@6 D@6 E@6 F@4 D@6 G@6 H@3>".pickRestart({
A: "[~@23 g5@12 ab5@6 bb5@6 f5]/2",
B: "[~@8 eb5@15 g5@12 ab5@6 bb5@6 eb5@24 g5@12 ab5@6 bb5@6 eb5@23 ~ [db4,db5]@47 ~@2]/7", // Db
C: "[~@23 [eb5,eb6]@6 [d5,d6]@3 [eb5,eb6]@8 ~ [d5,d6]@3 [eb5,eb6]@9 [d5,d6]@3 [bb4,bb5]@6 [c5,c6]@9 [bb4,bb5]@46 ~@2 [eb5,eb6]@6 [d5,d6]@3 [eb5,eb6]@9 [d5,d6]@3 [eb5,eb6]@4]/6", // Eb D Eb D Eb D Bb C …
D: "[~@5 [d5,d6]@3 [bb4,bb5]@6 [c5,c6]@9 [bb4,bb5]@18 [c5,c6]@3 [db5,db6]@26 ~ [c4,c5]@24 [bb3,bb4]@24 [ab3,ab4]@24 [f4,f5]]/6", // D Bb C Bb C Db C Bb …
E: "[~@5 [eb4,eb5]@6 [d4,d5]@6 [eb4,eb5]@6 [c4,c5]@24 [bb3,bb4]@24 [ab3,ab4]@12 [bb3,bb4]@12 [bb4,bb5]@11 ~ [bb4,bb5,bb6]@12 [eb5,eb6]@6 [d5,d6]@3 [eb5,eb6]@8 ~ [d5,d6]@3 [eb5,eb6]@4]/6", // Eb D Eb C Bb Ab Bb Eb …
F: "[~@5 [d5,d6]@3 [bb4,bb5]@6 [c5,c6]@9 [bb4,bb5]@46 ~@2 [eb5,eb6]@6 [d5,d6]@3 [eb5,eb6]@9 [d5,d6]@3 [eb5,eb6]@4]/4", // D Bb C Bb Eb D Eb D …
G: "[~@5 [eb4,eb5]@6 [d4,d5]@6 [eb4,eb5]@6 [c4,c5]@24 [bb3,bb4]@24 [ab3,ab4]@12 [bb3,bb4]@12 [bb4,bb5]@49]/6", // Eb D Eb C Bb Ab Bb
H: "[~ [eb4,g4,eb5]@59 ~@12]/3", // Eb
})).s("gm_string_ensemble_1").gain(0.37).pan(0.7)
// chords · pad warm
const pad_warm = note("<~@4 A@8 B@8 C@7 D@6 ~@38 E@8 F@8 G@5 H@4 ~@75>".pickRestart({
A: "[~@23 eb3@48 d3@48 [eb3,a3,c4,f4]@47 ~ [d3,a3,c4,f4]@25, ~@23 [a3,c4,f4]@95 ~@74]/8", // F7 Dm7 F
B: "[~@23 [eb3,a3,c4,f4]@48 [d3,a3,c4,f4]@46 ~@2 [a3,c4,f4]@73]/8", // F7 Dm7 F
C: "[~@23 [a3,c4,f4]@93 ~@3 [d4,bb4]@23 ~ e4@11 ~ d4@12 [c4,eb4,ab4], ~@143 a4@23 ~@2]/7", // F Gm Ab
D: "[~@11 [ab3,d4,f4]@10 ~@2 f4@8 ~ eb4@8 ~ [f3,d4]@18 [eb3,ab3,c4]@12 f4@11 ~ eb4@11 ~@13 c4@11 ~ [ab3,c4,eb4]@20 ~@5, ~@23 bb3@36 ~@36 [a3,eb4]@23 ~@26, ~@23 g3@17 ~@31 [g3,bb3]@23 ~@50]/6", // Ddim Dm Ab Adim Gm
E: "[~@23 [eb3,a3,c4,f4]@47 ~ [d3,a3,c4,f4]@47 ~ [eb3,a3,c4,f4]@47 ~ [d3,a3,c4,f4]@25]/8", // F7 Dm7 F7 Dm7
F: "[~@23 [a3,c4,f4]@93 ~@3 [a3,c4,f4]@73]/8", // F
G: "[~@23 [d4,bb4]@23 ~ e4@11 ~ d4@12 [c4,eb4,ab4]@12 [ab3,d4,f4]@10 ~@2 f4@8 ~ eb4@8 ~ [f3,d4]@7, ~@47 a4@23 ~@25 bb3@25, ~@95 g3@17 ~@8]/5", // Gm Ab Ddim Dm
H: "[~@11 [eb3,ab3,c4]@12 f4@11 ~ eb4@11 ~@13 c4@11 ~ [ab3,c4,eb4]@20 ~@5, ~@23 [g3,bb3]@23 ~ [a3,eb4]@23 ~@26]/4", // Ab Gm Adim
})).s("gm_pad_warm").gain(0.18)
// other · electric guitar muted
const electric_guitar_muted = note("<~@71 A@2 B C D E F@2 D@2 G H I@2 J K L ~@83>".pickRestart({
A: "[~@23 f4@2 ~ c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4]/2",
B: "~@2 c4 ~@2 f4 ~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4",
C: "~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4",
D: "~@2 c4 ~@2 f4 ~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4", E: "~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@5 c4@2 ~@2",
F: "~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4",
G: "~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4@2 ~ c4@2 ~ f4 ~@2 c4@2 ~ f4",
H: "~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4",
I: "[~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4@2 ~ c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4]/2",
J: "~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4 ~@2 c4 ~@2 f4 ~@2 c4@2 ~ f4",
K: "~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4 ~@2 c4 ~@2 f4",
L: "~@2 c4@2 ~ f4 ~@2 c4@2 ~ f4@2 ~ c4@2 ~ f4@2 ~ c4 ~@3",
})).s("gm_electric_guitar_muted").gain(0.27).pan(0.4)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
~@32 A@5 B@5 C@6 D@5 E@7 F@4 ~@31 A@5 B@5 G@6 H@7 I@5 J@7 K@4 L@5 M@5 G@6 N@5 B@5 O@8 P@3
>`.pickRestart({
A: "[~@23 eb4@6 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@3 ~@3 eb4@6 ab3@2 ~@4 bb2@3 ~@3 bb2@4 ~@2 [eb2,g3,eb4], ~@23 eb2@9 ~@15 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ [ab2,c4]@9 ~@16, ~@23 g3@3 ~@6 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@3 ~@6 [ab3,c4,eb4]@5 ~ ab3@5 ~@5, ~@80 [bb3,eb4]@8 ~@22 [c4,eb4]@7 ~@3]/5", // Ab5 Cm Eb Ab Cm Ab Eb5 Cm
B: "[~@5 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@3 ~@3 f4@6 db4 ~@2 g3@3 bb2@3 ~@3 bb2@3 g3@2 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 [g2,g3,bb3], ~@8 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@5 ~@10 bb3@8 ~@26, ~@23 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ eb2@11 ~@4 g3@5 ~@4 ab2@12 ~@3 ab2@8 ~@2, ~@28 [bb3,eb4]@4 ~@8 eb4@7 ~@13]/5", // Ab5 Cm C5 Gm Cm Eb5
C: "[~@5 g3@2 ~ g3@6 ~@3 g3@4 ~@2 eb4@6 ab3@2 ~ ab3@6 ~@3 ab3@3 ~@3 f4@6 g3@2 ~ [g3,eb4]@5 ~@4 g2@3 g3@2 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 bb3@6 g3@2 ~ g3@6 ~@3 g3@4 ~@2 eb4@6 ab3@2 ~ ab3@6 ~@3 ab3@3 ~@3 [c4,ab4], ~@8 bb3@13 ~@2 ab3@4 ~@5 [c4,eb4]@11 ~@4 g3@3 ~@12 d4@8 ~@25 g3@4 ~@5 bb3@13 ~@2 ab3@4 ~@5 [c4,eb4]@11 ~@5, ~@14 g2@8 ~ f2@13 ~@2 f2@9 g2@15 g3@5 ~@4 ab2@12 ~@3 ab2@8 ~ g2@12 ~@3 g2@8 ~ f2@13 ~@2 f2@9 ~]/6", // Cm C5 Fm Cm
D: "[~@11 bb2@3 ~@3 bb2@3 c4@2 ~ eb4@6 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@3 ~@3 eb4@6 ab3@2 ~@4 bb2@3 ~@3 bb2@4 ~@2 [eb2,g3,eb4], ~@5 bb2@5 ~@4 c4@5 ~@4 eb2@9 ~@15 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ [ab2,c4]@9 ~@16, ~@8 [c4,eb4,ab4]@5 ~ [eb4,ab4]@7 ~@2 g3@3 ~@6 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@3 ~@6 [ab3,c4,eb4]@5 ~ ab3@5 ~@5, ~@80 [bb3,eb4]@8 ~@22 [c4,eb4]@7 ~@3]/5", // Ab5 Cm Eb Ab Ab5 Cm Ab Eb5 …
E: "[~@5 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@3 ~@3 f4@6 db4 ~@2 g3@3 bb2@3 ~@3 bb2@3 g3@2 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 bb3@6 g3@2 ~ g3@6 ~@3 g3@4 ~@2 [ab3,eb4]@6 ab3@2 ~ [c4,eb4]@7 ~@2 [g3,bb3,eb4]@7, ~@8 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@5 ~@10 bb3@8 ~@25 g3@4 ~@5 bb3@13 ~@11 ab3@4 ~@12, ~@23 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ eb2@11 ~@4 g3@5 ~@4 ab2@12 ~@3 ab2@8 ~ g2@12 ~@3 g2@8 ~@26, ~@28 [bb3,eb4]@4 ~@8 eb4@7 ~@37]/7", // Ab5 Cm C5 Ab5 Cm Eb Cm Eb5
F: "[~@2 [bb3,eb4]@6 g3@2 ~ g3@4 ~@2 g3@2 ~@13 ab3@6 ~@3 ab3@4 ~@11 [g3,eb4]@6 ~@3 [g3,eb4]@5 ~@7 ab3@3 c4@2 ~ ab3@5 ~ ab3@3 ~@4, ~@11 [bb3,eb4]@8 ~@4 f2@13 ~@2 f2@8 ~ g2@12 ~@3 g2@8 ~ ab2@11 ~ [bb2,eb4]@9 ~@4, ~@32 eb4@15 ~@49]/4", // Eb5 Cm Eb5
G: "[~@5 g3@2 ~ g3@6 ~@3 g3@4 ~@2 eb4@6 ab3@2 ~ ab3@6 ~@3 ab3@3 ~@3 f4@6 ~@3 [g3,eb4]@5 ~@4 g2@3 g3@2 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 bb3@6 g3@2 ~ g3@6 ~@3 g3@4 ~@2 eb4@6 ab3@2 ~ ab3@6 ~@3 ab3@3 ~@3 [c4,ab4], ~@8 bb3@13 ~@2 ab3@4 ~@5 [c4,eb4]@11 ~@4 g3@3 ~@12 d4@8 ~@25 g3@4 ~@5 bb3@13 ~@2 ab3@4 ~@5 [c4,eb4]@11 ~@5, ~@14 g2@8 ~ f2@13 ~@2 f2@9 g2@15 g3@5 ~@4 ab2@12 ~@3 ab2@8 ~ g2@12 ~@3 g2@8 ~ f2@13 ~@2 f2@9 ~]/6", // Cm C5 Fm Cm
H: "[~@11 bb2@3 ~@3 bb2@3 c4@2 ~ eb4@6 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@3 ~@3 eb4@6 ab3@2 ~@4 bb2@3 ~@3 bb2@4 ~@2 eb4@6 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@6 bb2, ~@5 bb2@5 ~@4 c4@5 ~@4 eb2@9 ~@15 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ [ab2,c4]@9 ~@15 eb2@9 ~@30 f2@9 ~, ~@8 [c4,eb4,ab4]@5 ~ [eb4,ab4]@7 ~@2 g3@3 ~@6 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@3 ~@6 [ab3,c4,eb4]@5 ~ ab3@5 ~@4 g3@3 ~@6 [g3,eb4]@5 ~@10 ab3@4 ~@21, ~@80 [bb3,eb4]@8 ~@22 [c4,eb4]@7 ~@17 eb4@7 ~@2 eb4@8 ~ c4@13 ~@3]/7", // Ab5 Cm Ab5 Ab Ab5 Cm Ab Cm …
I: "[~@5 f3 ~@5 bb2@3 f3@3 bb2@3 ~@3 eb2@15 ~@3 eb2@5 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 bb3@6 g3@2 ~ g3@6 ~@3 g3@4 ~@2 [ab3,eb4]@6 ab3@2 ~ [c4,eb4]@7 ~@2 [bb3,eb4]@7, ~@8 [f3,db4]@5 ~ db4@10 ~@47 g3@4 ~@5 bb3@13 ~@11 ab3@4 ~@5 g3@4 ~@3, ~@20 f3@5 ~@13 [g3,bb3,c4]@5 ~@4 ab2@12 ~@3 ab2@8 ~ g2@12 ~@3 g2@8 ~@26]/5", // C5 Ab5 Cm Eb5 Db C7
J: "[~@2 [bb3,eb4]@6 g3@2 ~ g3@4 ~@2 g3@2 ~@13 ab3@6 ~@3 ab3@4 ~@11 [g3,eb4]@6 ~@3 [g3,eb4]@5 ~@7 ab3@3 c4@2 ~ ab3@5 ~ ab3@3 ~@3 d4@6 ~@3 [f3,bb3,d4] ~@8 d4@8 ~ [bb3,d4]@6 ~@3 f3@5 ~ bb3@3 ~@3 d4@10 ~@2 [g3,d4]@4 ~@5 [f3,g3,bb3,d4] ~@3, ~@11 [bb3,eb4]@8 ~@4 f2@13 ~@2 f2@8 ~ g2@12 ~@3 g2@8 ~ ab2@11 ~ [bb2,eb4]@9 ~@3 f3@3 ~@12 ab2@17 ~ ab2@11 ~@29, ~@32 eb4@15 ~@66 f3@5 ~@4 f3@5 ~@4 d4@9 ~@3 g3@7 ~@5 bb3@2 ~@11]/7", // Eb5 Cm Bb G5 Gm7 Eb5
K: "[~@2 f3@2 ~ [f3,g3,bb3,d4]@11 ~ [f3,g3,bb3,d4]@4 ~@2 d4@6 ~@3 [f3,bb3,d4] ~@8 d4@8 ~ [bb3,d4]@6 ~@3 f3@5 ~ bb3@3 ~@3 d4@10 ~@2 [g3,bb3,d4]@4 ~@5 [f3,g3,bb3,d4] ~@3, ~@23 f3@3 ~@12 ab2@17 ~ ab2@11 ~@29, ~@41 f3@5 ~@4 f3@5 ~@4 d4@9 ~@3 g3@7 ~@18]/4", // Gm7 Bb Gm Gm7
L: "[~@2 f3@2 ~ [f3,g3,bb3,d4]@11 ~ [f3,g3,bb3,d4]@4 ~@2 eb4@6 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@4 ~@2 eb4@6 ab3@2 ~@4 bb2@3 ~@3 bb2@4 ~@2 [eb2,g3,eb4], ~@23 eb2@9 ~@15 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ [ab2,c4]@9 ~@16, ~@23 g3@3 ~@6 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@3 ~@6 [ab3,c4,eb4]@5 ~ ab3@5 ~@5, ~@80 [bb3,eb4]@8 ~@22 [c4,eb4]@7 ~@3]/5", // Gm7 Ab5 Cm Eb Ab Cm Ab Eb5 …
M: "[~@5 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@4 ~@2 f4@6 db4 ~@2 g3@3 bb2@3 ~@3 bb2@3 g3@2 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 [g2,g3,bb3], ~@8 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@5 ~@10 bb3@8 ~@26, ~@23 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ eb2@11 ~@4 g3@5 ~@4 ab2@12 ~@3 ab2@8 ~@2, ~@28 [bb3,eb4]@4 ~@8 eb4@7 ~@13]/5", // Ab5 Cm C5 Gm Cm Eb5
N: "[~@11 bb2@3 ~@3 bb2@3 c4 ~@2 eb4@6 g3@2 ~@4 eb2@3 g3@3 eb2@5 ~ f2@9 [ab3,eb4]@6 ~@3 [ab3,eb4]@5 ~ eb4@8 ~@10 [g3,eb4]@3 ~@3 eb4@6 ab3@2 ~@4 bb2@3 ~@3 bb2@4 ~@2 [eb2,g3,eb4], ~@5 bb2@5 ~@4 c4@5 ~@4 eb2@9 ~@15 ab3@4 ~@11 f2@9 g2@12 ~@3 g2@8 ~ [ab2,c4]@9 ~@16, ~@8 [c4,eb4,ab4]@5 ~ [eb4,ab4]@7 ~@2 g3@3 ~@6 [g3,eb4]@5 ~ eb4@7 ~@2 eb4@8 ~ c4@13 ~@2 g3@15 ~@9 ab3@3 ~@6 [ab3,c4,eb4]@5 ~ ab3@5 ~@5, ~@80 [bb3,eb4]@8 ~@22 [c4,eb4]@7 ~@3]/5", // Ab5 Cm Eb Ab Ab5 Cm Ab Eb5 …
O: "[~@5 g3@2 ~ g3@6 ~@3 g3@4 ~@2 eb4@6 ab3@2 ~ ab3@6 ~@3 ab3@3 ~@3 f4@6 ~@3 [g3,eb4]@5 ~@4 g2@3 g3@2 ~ [c4,g4]@8 ~ [c4,g4]@6 ~@3 [c4,g4]@4 ~@2 bb3@6 g3@2 ~ g3@6 ~@3 g3@4 ~@2 eb4@6 ab3@2 ~ ab3@6 ~@3 ab3@3 ~@3 eb4@5 ~ c4@2 ~ [c4,eb4]@6 ~@12 [eb4,ab4]@6 ~@3 [eb4,ab4]@5 ~ [bb2,eb4,ab4]@5 ~@2, ~@8 bb3@13 ~@2 ab3@4 ~@5 [c4,eb4]@11 ~@4 g3@3 ~@12 d4@8 ~@25 g3@4 ~@5 bb3@13 ~@2 ab3@4 ~@5 [c4,eb4]@11 ~@22 [eb4,ab4]@8 ~@23, ~@14 g2@8 ~ f2@13 ~@2 f2@9 g2@15 g3@5 ~@4 ab2@12 ~@3 ab2@8 ~ g2@12 ~@3 g2@8 ~ f2@13 ~@2 f2@9 bb2@13 ~@2 bb2@8 ~ bb2@6 ~@3 bb2@8 ~@8]/8", // Cm C5 Cm Ab5 Ebsus4 Cm Ab5
P: "[~ [eb3,d4,g4]@59 ~@12]/3", // Ebmaj7
})).s("gm_acoustic_guitar_steel").gain(0.28).pan(0.6)
// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
~@34 A B ~@2 A B C ~@9 A B ~@2 A B C ~@2 D E C F ~@34 A B ~@2 A B C ~@3 F ~@5 A B ~@2 A ~@4 D E C F ~ G H I ~ G H I
~@2 A J ~@2 A J C ~@3 F ~@5 A B ~@2 A B C ~@3 F ~@8
>`.pickRestart({
A: "~@5 ab3@2 ~@17", B: "~@17 bb3@3 ~@4", C: "~@5 ab3 ~@18", D: "~@14 ab3 ~@9", E: "~ g3@2 ~@9", F: "~@5 g3@2 ~@17",
G: "~@5 f3 ~@17 f3", H: "~@17 f3@3 ~@4", I: "~@5 f3@3 ~@9 f3 ~@6", J: "~@17 bb3@4 ~@3",
})).s("gm_acoustic_guitar_steel").gain(0.15).pan(0.6)
// other · lead 1 square
const lead_1_square = note(`<
~@126
[~@23 bb5]
[g5 ~ bb5 c6 ~ bb5 g5 ~ bb5 c6 ~ bb5 g5 ~ bb5 c6 ~ bb5 g5 ~ bb5 c6 ~ bb5]!7
[g5 ~ bb5 c6 ~ bb5 g5 ~ bb5 c6 ~ bb5 g5 ~ bb5 c6 ~ bb5 g5 ~ bb5 c6 ~@2]
~@36
>`).s("gm_lead_1_square").gain(0.27).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
~@32 A B C B C B C B C B C B C B C B A B C B C B C B D B C E F B C B ~@5 C ~ C G H G H G H G H G H G H G H G H B C B I
B C J K B C B C B C B C B C B C B C B A B C B C B C B D B C E F B C B@2 C B C B C B C B C B C B C B C B C B C B C B A
B C B C B C B C B C B C B C B I ~ L ~@2
>`.pickRestart({
A: "~@20 x ~@2 x", B: "~@17 x ~@5 x", C: "~@23 x", D: "~@5 x ~@8 x ~@8 x", E: "~@17 x ~@6", F: "~@8 x ~@14 x",
G: "~@5 x ~@14 x ~@3", H: "~@2 x ~@2 x ~@17 x", I: "~@8 x ~@8 x ~@6", J: "~@17 x ~@2 x ~@2 x",
K: "~@14 x ~@5 x ~@2 x", L: "~ x ~@22",
})).gain(0.6)
// drums · rim
const rim = s("rim").struct(`<
~@25 A ~ A ~ A ~ A ~@33 A ~ A ~ A ~@2 A B A B A B A B A B A B A B A B A@3 ~ A@3 ~@76
>`.pickRestart({
A: "~@11 x ~@12", B: "~ x ~",
})).gain(0.6)
// drums · snare
const snare = s("sd").struct("<~@32 A@32 ~@27 A ~@2 B C A@46 D A@15 D A@7 E F ~@3>".pickRestart({
A: "~@11 x ~@12", B: "~@23 x", C: "~@17 x ~@6", D: "~@8 x ~@2 x ~@12", E: "~@5 x ~@8 x ~@8 x",
F: "~@2 x ~@2 x ~@2 x ~@15",
})).gain(0.6)
// drums · low tom
const low_tom = s("lt").struct("<~@32 A ~@15 A ~@22 B ~@23 C ~@15 A ~@30 D ~@3 E ~@3 A ~@7 D ~@8 F ~@3>".pickRestart({
A: "~@17 x ~@6", B: "~@17 x ~@2 x ~@3", C: "~@11 x ~@12", D: "~@7 x ~@2 x ~", E: "~@5 x", F: "~@14 x ~@2 x ~@3 x ~@2",
})).gain(0.53)
// drums · hihat
// … 50 more lines
More by Morandi
Andavo a cento all'oraC minor · 170 bpmBanane e lamponiD minor · 93 bpmC'era un ragazzoF major · 124 bpmC'era un ragazzo che come me amava i Beatles e i Rolling StonesF major · 124 bpmDove va a finire il mio affettoF♯ minor · 122 bpmIn ginocchio da teE♭ major · 108 bpmOcchi di ragazzaE♭ major · 120 bpmBanane e lamponeD minor · 92 bpm
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.