Strudelify
Quel che non si dice cover art

Un posto felice

Quel che non si dice

Pooh

KeyF majorTempo149 bpm
0:00/0:00
// Quel che non si dice — Pooh
// 149 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 178 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(149/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(`<
  ~@2 A B C@2 D E F@2 G B C@2 D E F@2 G B C@2 D E F@2 A B C@2 D E H I J K L M N O P Q A B C@2 D E F@2 G B C@2 D E H I J
  K L M N O P Q R S T U V W X Y R S T U V W X Y J K L M N O Z AA G B AB@2 D E AC AD G B C@2 D E F@2 A B C@2 D E H I J K
  L M N O P Q R S T U V W X Y R S T U V W X Y J K L M N O Z AA A B C@2 D E F@2 A B C@2 D E H I A B AB@2 D E AC AD AE@2
  AF@2 AG@3 ~
>`.pickRestart({
  A: "f1@10 ~@2 f1 ~ e1 ~", B: "d1@11 ~ d1@4", C: "[a1@5 ~ a1@2 ~@4 a1@7 ~ a1@8 a1@3 ~]/2",
  D: "bb1@6 bb1@5 ~ bb1@2 a1@2", E: "g1@15 ~", F: "[c2@5 ~ c2@4 ~@10 c2@3 ~ c2@4 c1@4, ~@3 c1@3 ~@2]/2",
  G: "f1@10 ~@2 f1@2 e1 ~", H: "c2@3 f2", I: "bb2 ~ c2@2 f2@2 ~@2 c2@3 ~ g1@3 ~", J: "bb1@6 bb1@5 ~ bb1@4",
  K: "e1@11 ~ e1@4", L: "a1@5 ~ a1@4 ~@2 a1@3 ~", M: "gb1@11 ~ gb1@4", N: "g1@5 ~ g1@5 ~ g1@4", O: "db2@8 db1@7 ~",
  P: "c2@5 ~ c2@4 ~@2 g1@3 ~", Q: "c1@5 ~ g1@2 c2@7 ~", R: "f1@5 ~ f1@4 ~@2 f1@4", S: "e1@6 e1@7 ~ e1@2",
  T: "d2@6 e1 f1", U: "gb1@8 gb2@3 ~ gb1@4", V: "g1@11 ~ g1@4", W: "gb1@5 ~ gb1@2", X: "db2@11 ~ db2@4",
  Y: "c2@7 ~ c2@8", Z: "c2@11 ~ f2@4", AA: "bb2 ~ bb2 ~ f2 ~@3 bb1@7 ~", AB: "[a1@4 e2@3 ~ a2@3 ~ c3@8 c3@9 ~@3]/2",
  AC: "c3@2 c2 g2@3 c2@2", AD: "g1 c2 g1 c1 g1 bb1 c2 g1", AE: "[f1@4 ~@2 f1@3 ~@3 f1@15 ~ f1@3 ~]/2",
  AF: "[f1@2 ~ f1@2 ~ f1@6 c2@4]/2", AG: "f1/3",
})).s("gm_fretless_bass").gain(0.5)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@2 A@2 B@2 C@2 D@2 A@2 B@2 E@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 F G@4 H I@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 F G@4
  H J@2 K@2 L@4 M@2 K@2 L@4 M@2 F G@4 H I@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 F G@4 H I@2 K@2 L@4 M@2 K@2
  L@4 M@2 F G@4 H I@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 A@2 B@2 C@2 D@2 N@4 O@3 ~
>`.pickRestart({
  A: "[f3,a3,c4]/2", B: "[g3,c4,e4]/2", C: "[[a3,c4] bb3, [f3,d4]@31 ~]/2", D: "[bb3,d4,f4,g4]/2",
  E: "[[a3,c4]@16 bb3@15 ~, [f3,d4]@31 ~]/2", F: "[d4,f4]", G: "[b3 ~ gb3 bb3, e4 d4, ~ c4@2 ~]/4", H: "[bb3,f4]",
  I: "[a4 g4, d4]/2", J: "[a4@16 g4@15 ~, d4]/2", K: "[[a3,f4] [g3,e4], c4]/2",
  L: "[f4 gb4 g4 [d4,a4], d4@3 ~, ~ bb3]/4", M: "[[db4,bb4]@2 ~ e4, f4@3 ~, ~ [c4,g4]]/2", N: "[f3,a3,c4]/4",
  O: "[a3,c4,f4]/3", // F
})).s("gm_string_ensemble_2").gain(0.24).pan(0.4)

// other · rock organ
const rock_organ = note("<~@66 A@3 B C@2 D E A@3 F G H I E ~@40 A@3 B C@2 D E A@3 F G H I E ~@40>".pickRestart({
  A: "c6/3", B: "a5@2 d6 a5", C: "d6/2", D: "bb5", E: "c6@15 ~", F: "a5 c6", G: "d6", H: "a5", I: "f6",
})).s("gm_rock_organ").gain(0.32).pan(0.8)

// chords · electric guitar muted
const electric_guitar_muted = note("<A B ~@90 C@2 ~@70 C@2 ~@3 D@3 ~@6>".pickRestart({
  A: "[f2,c3] ~@5 [f2,c3] ~@5 c3 ~@3", B: "c3 ~@5 c3 ~@3 [f2,c3] ~ [f2,c3] ~ [f2,c3] ~",
  C: "[a2@3 ~ e3@4 a3@3 ~ c4@8 c4@9 ~@3]/2", D: "[~@4 c4@5 ~@3, ~@7 a4@9 ~@8, ~@5 g4@6 ~@5, ~@15 f4@16 ~@17]/3",
})).s("gm_electric_guitar_muted").gain(0.2).pan(0.2)

// chords · electric guitar muted · soft notes · F5
const electric_guitar_muted_2 = note("<[~@4 f2 ~@5 [f2,c3] ~@3 c3 ~] [f2 ~@3 c3 ~ f2 ~ c3 ~@7] ~@176>")
  .s("gm_electric_guitar_muted").gain(0.12).pan(0.2)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~ A@3 ~@5 B@3 ~@6 C@2 ~@3 D@3 E F G@2 ~@2 H I ~@6 J@2 C@2 ~@3 D@3 K F L@2 ~@2 H I ~@6 M@5 N O@2 P Q R S@2 T O@2 P Q
  ~@6 U@3 ~@12 V@3 K F G@2 ~@2 H W ~@6 X@2 ~ S@2 N Y@2 P Q ~ S@2 N O@2 P Q ~@6 J@2 ~@5 Z@3 K F G@2 ~@2 H W ~@12 AA@3 ~
>`.pickRestart({
  A: "[~@16 [f3,g3]@25 ~@7, ~@7 c4@13 ~@4, ~@15 a3@26 ~@7]/3", // Fsus2
  B: "[~@16 f3@23 ~@9, ~@14 c4@25 ~@9, ~@5 [g3,a3]@8 ~@3]/3", C: "[[g3,a3,c4]@23 ~@9]/2",
  D: "[~@4 [d4,a4]@4 g4@3 ~, ~@15 bb3@29 ~@4]/3", E: "~@3 f4, f3@15 ~, ~ a3@3, ~ c4",
  F: "~@3 f4, d3@15 ~, ~@4 f3@11 ~, ~@8 a3@7 ~", G: "[~@20 g4@11 ~, ~@8 a3@21 ~@3, ~@12 c4@17 ~@3]/2",
  H: "~ a4@15, [bb3,d4]", I: "g4@3 ~", J: "[~@5 f4@3 e4@7 ~, f4@9 ~@23, ~@6 bb3@21 ~@5]/2",
  K: "~@3 f4, f3@7 ~, ~ a3@3, ~ c4",
  L: "[~@20 g3@2 ~@4 g3@5 ~, a2@31 ~, ~@2 g3@3 ~ g3@3 ~@2 c4@4 ~, ~@4 c4@3 e4@8 ~]/2",
  M: "[~@10 f4@6 e4@9 ~@23 e4@11 ~@17 e2@2 f2@2, f4@9 ~@21 f4@18 ~@14 f4@17 ~, ~@6 bb3@21 ~@3 c4@29 ~@21, ~@31 a3@28 ~@4 [a3,c4]@16 ~]/5", // Am
  N: "~@12 gb2@3 ~, gb2@9 ~@7, ~@2 a3@5 ~, ~@3 d4@4 ~",
  O: "[g3@3 ~@9 bb3@6 ~@2 g3@2 ~@6 bb3@3 ~, ~@2 g3@7 ~@7, ~@3 d4@7 ~ d4@4 ~]/2", P: "[bb3,f4]@13 ~@3",
  Q: "c4@2 e4 d4, g3@15 ~, f4@7 ~@9", R: "f2@15 ~", S: "[e4@11 ~@17 e2@2 f2@2, ~@14 f4@17 ~, ~@15 [a3,c4]@16 ~]/2",
  T: "~@3 gb2, gb2@9 ~@7, ~@2 a3@5 ~, ~@3 d4@4 ~", U: "[~@5 f4@3 ~@8 f3@8, f4@9 ~@22 g3@17, ~@2 bb3@7 ~ [a3,c4]@6]/3",
  V: "[~@16 [d4,a4]@16 g4@13 ~@3, ~@15 bb3@29 ~@4]/3", W: "g4@15 ~", X: "[~@5 f4@3 e4@8, f4@9 ~@23, ~@6 bb3@21 ~@5]/2",
  Y: "[g3@3 ~@9 bb3@6 ~@2 g3@2 ~@6 bb3@4, ~@2 g3@7 ~@7, ~@3 d4@7 ~ d4@4 ~]/2",
  Z: "[~@8 [d4,a4]@8 g4@7 ~, ~@15 bb3@29 ~@4]/3", AA: "f3/3",
})).s("gm_electric_guitar_clean").gain(0.32).pan(0.2)

// chords · pad sweep
const pad_sweep = note(`<
  ~@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 D@2 E@2 F G H I A@4 B@2 C@2 A@4 B@2 C@2 D@2 E@2 F G H I J@2 K L@3
  M@2 J@2 K L@3 M@2 D@2 E@2 F G H I A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 D@2 E@2 F G H I J@2 K L@3 M@2 J@2 K L@3 M@2 D@2
  E@2 F G H I A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 N@4 O@3 ~
>`.pickRestart({
  A: "[a3,c4]/4", B: "[[f3,bb3]@31 ~]/2", C: "[[f3,bb3,c4]@31 ~]/2", D: "[bb3@16 ab3@15 ~, d4]/2",
  E: "[[a3,c4]@31 ~]/2", F: "[bb3,d4]@15 ~", G: "[bb3,f4]@15 ~", H: "[bb3,f4,a4]", I: "[bb3,e4,g4]@7 ~",
  J: "[f4 e4, c4]/2", K: "[d4,f4]@15 ~", L: "[gb4@15 ~ bb3@16 a3@15 ~, d4@47 ~]/3",
  M: "[db4@16 ~@8 e4@7 ~, f4@3 ~, ~@16 c4@15 ~]/2", N: "[a3,c4]/2", O: "[c4,f4]/3",
})).s("gm_pad_sweep").gain(0.21).pan(0.6)

// chords · electric guitar clean
const electric_guitar_clean_2 = note(`<
  ~@2 A B@2 C D E@2 ~ F B@2 C D G@2 ~@3 H@2 ~@8 I@2 ~@2 J@2 K L M N ~@4 O@2 P@2 ~@6 I@2 ~@2 Q@2 R S T U ~@5 V@2 W ~@5
  V@2 W ~@2 Q@2 R S T U ~@2 A B@2 C D E@2 ~@3 X@2 ~@8 I@2 ~@2 J@2 Y L M N ~@5 V@2 W ~@5 V@2 W ~@2 Q@2 R S T U ~@4 X@2
  ~@8 I@2 ~@2 F B@2 C D E@2 ~@9
>`.pickRestart({
  A: "f3@15 ~", B: "[f3@2 a3@2 f4@2 e4@7 ~@3]/2", C: "~@6 a3 g3", D: "f3@3 ~",
  E: "[bb3@4 d4@3 ~ f4@4 g4@10 ~@10, a3 ~@31]/2", F: "f3", G: "[bb3@4 d4@3 ~ f4@3 ~ g4@10 ~@10, a3 ~@31]/2",
  H: "[~@20 g4@11 ~, ~@2 a2@27 ~@3, ~@4 g3@25 ~@3, ~@8 b3@21 ~@3, ~@12 c4@17 ~@3]/2",
  I: "[~@7 d4, bb2@3 d4@3 ~@2, ~@4 f3@15 ~ f3@10 ~@2, ~@4 bb3@7 ~ bb3@3 ~, ~@16 g2@15 ~]/2",
  J: "[~@3 f3 ~ ab3 ~ ab3, bb2@13 ~@3 e2@16, ~@4 f3@7 ~@21, ~@8 d4@13 ~@3 e4@7 ~]/2",
  K: "~@6 a2 g2, a2@5 ~@3, ~ e3@3, ~ c4", L: "~@12 gb2@3 ~, gb2@5 ~@3, ~@2 gb3@5 ~, ~@8 d4@7 ~",
  M: "~@10 g2@2 f3@2 bb3 ~, g2 ~, ~@4 f3@7 ~@5, ~@3 d4@5", N: "[f3,bb3,db4]@2 ~ bb3, db3@7 ~, ~@4 [f3,db4]@3 ~",
  O: "[~@4 c4@2 ~@5 c4@2 ~ e4@2, a2@31 ~, ~@6 a3@5 ~ a3@6 ~@2 a3@5 ~ a3@5 ~, ~@7 d4@4 ~@5]/2",
  P: "[~@12 bb3@11 ~@5 f3@3 ~, ~@2 f3@11 ~@3, ~@6 d4@25 ~, ~@24 bb3@7 ~]/2",
  Q: "[~@3 bb3 ~@3 ab3, bb2@8 ~@2 bb2@5 ~ e2@14 ~@2, ~@4 f3@13 ~@3 e3@11 ~, ~@6 d4@13 ~@5 d4@8]/2",
  R: "~@3 g3, a2@15 ~, ~@4 g3@6 c4@5 ~, ~@6 e4@9 ~", S: "~ d4, gb2@15 ~, ~@4 gb3@11 ~",
  T: "~@3 g3, g2@3 ~, ~@2 g3@3 bb3@3, ~@3 d4@5", U: "~@12 bb3@3 ~, db3@15 ~, ~@4 bb3@7 ~@5, ~ f4",
  V: "[~@17 g4@15, ~@15 bb3@15 ~@2, ~@16 d4@15 ~]/2", W: "[d4,gb4,a4]@13 ~@3",
  X: "[~@20 g4@9 ~@3, ~@2 a2@27 ~@3, ~@4 g3@25 ~@3, ~@8 b3@21 ~@3, ~@12 c4@17 ~@3]/2",
  Y: "~@12 a2@2 g2 ~, a2@5 ~@3, ~ e3@3, ~ c4",
})).s("gm_electric_guitar_clean").gain(0.21).pan(0.7)

// chords · piano
const piano = note(`<
  ~@2 A B@2 C D E@2 ~ A B@2 C D E@2 ~@32 F G@2 ~ H I ~@35 A B@2 C D E@2 ~@3 J@2 ~@2 K L ~@2 M@2 N ~@37 O@2 ~@2 K P ~@2
  M@2 N ~@3 A B@2 C D E@2 ~ Q R Q R S@3 ~
>`.pickRestart({
  A: "f3@15 ~", B: "[f3@2 a3@2 f4@2 e4@9 ~]/2", C: "~@6 a3 g3", D: "f3@13 ~@3", E: "[bb3@2 d4@2 f4@2 g4@5 ~@5]/2",
  F: "~@3 a3, ~ g4@3, ~ c4", G: "[f3@4 a3@3 ~, c4@29 ~@3]/2", H: "~@5 d4 e4@2", I: "f4@15 ~",
  J: "[~@8 f3@4 ~@8 c4@7 ~@5, ~@4 e3@23 ~@5, ~@12 g3@15 ~@5]/2", K: "f4@2 ~ f4, ~ bb3",
  L: "~ g3 ~ g3, e4@7 ~, ~@4 bb3@3 ~", M: "[~@4 c4@2 ~@2 [g3,a3,c4]@3 ~ [g3,a3,c4,e4]@8 [g3,a3,c4,g4]@8 ~@4]/2",
  N: "c4@8 bb3@7 ~, f3@15 ~", O: "[~@8 f3@4 ~@8 c4@11 ~, ~@4 e3@23 ~@5, ~@12 g3@15 ~@5]/2",
  P: "~@4 g3@4 ~@4 g3@3 ~, e4@7 ~, ~@4 bb3@3 ~", Q: "[g3,a3,c4] ~@5 [g3,a3,c4,f4] ~@5 [g3,a3,c4,f4]@4, f4 ~@7",
  R: "~@2 [g3,a3,c4,f4]@5 ~ [g3,a3]@3 ~ [g3,a3]@2 ~@2, ~@4 [c4,f4]@3 ~", S: "[f2,g3,a3,c4,f4]/3",
})).s("gm_piano").gain(0.45).pan(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@2 A B C D E F G H A I C J E F K L A I C J E F K L A I C J E F K L M N O P Q R S T A I C J E F K L A I C J E F K L M
  N O P Q R S T U V W X Y Z AA AB U V W X Y Z AA AB M N O P Q R S T A I C J E F K L A I C J E F K L A I C J E F K L M N
  O P Q R S T U V W X Y AC AA AB U V W X Y AC AA AB M N O P Q R S T A I C J E F K L A I C J E F K L A I C J E F K L AD@2
  AE@2 AF@3 ~
>`.pickRestart({
  A: "a3@3 ~ a3@3 ~ [a3,c4,f4]@4 f2@2 [a3,c4,f4]@2, f2@9 ~@7, f4@7 ~@9", // F
  B: "~@2 d3@2 a3@2 ~ a3, f2@2 ~ d3, ~@2 [a3,d4,f4]@5 ~ [d4,f4]@7 ~", // Dm
  C: "g3@3 ~ g3@3 ~ [g3,c4,e4]@4 a2@2 [g3,c4,e4]@2, a2@9 ~@7, [c4,e4]@7 ~@9", // C
  D: "a2@2 ~@2 a2@4 [g3,c4,e4]@4 a2@2 [g3,c4,e4] ~, ~@2 [g3,c4,e4]@5 ~@9", // C
  E: "[bb3,d4,f4]@5 ~ [bb3,d4,f4]@2 bb2@2 bb3@2 ~@2 bb3 ~, bb2@6 ~@4 [d4,f4]@5 ~, ~@3 bb2", // Bb Dm
  F: "[bb3,d4]@6 f3@2 f3@2 ~@2 f3@3 ~, g2@9 ~ g2@4 ~@2, f3@2 ~@2 [bb3,d4]@3 ~", // Bb
  G: "[bb3,c4]@3 [f3,g3] [bb3,c4]@2 f3 c4, [f3,g3]@5 ~@3 [f3,g3]@3 ~@5", // Bbsus2 Fsus2 Bbsus2 Fsus2
  H: "g3@2 ~@2 g3@2 ~@2 g3@3 ~ g3@3 ~, ~@2 c4@5 ~ c4@6 ~@2",
  I: "~@2 d3@2 a3@2 ~ a3, f2@5 ~@7 d3@4, ~@2 [a3,d4,f4]@5 ~ [d4,f4]@7 ~", // Dm
  J: "a2@2 ~@2 a2@4 [g3,c4,e4]@4 ~@2 [g3,c4,e4] ~, ~@2 [g3,c4,e4]@5 ~@5 a2@4", // C
  K: "[bb3,c4]@3 [f3,g3] [g3,bb3,c4]@2 ~ c4, [f3,g3]@5 ~@3 f3@3 ~ f3@4", // Bbsus2 Fsus2 C7 Fsus2
  L: "g3@2 ~@2 g3@4 g3@3 ~ g3@3 ~, ~@2 c4@5 ~ c4@6 ~@2",
  M: "f3@3 ~ f3@3 ~ f3@4 ~@2 f3 ~, bb2@9 ~@3 bb2@4, [bb3,d4]@7 ~ [bb3,d4]@7 ~", // Bb
  N: "e3@3 ~ e3@2 ~@2 e3@4 e2@4, [e2,ab3] ~, [d4,e4]@6 ~@2 [ab3,d4,e4]@7 ~", // E Dsus2 E7
  O: "g3@3 ~ g3@3 ~ [g3,c4]@4 a2@2 [g2,g3]@2, a2@9 ~@7, [c4,e4]@7 ~ e4@7 ~", // C5 G C
  P: "a3@3 ~ a3@3 ~ a3@4 ~@2 a3 ~, gb2@9 ~@3 gb2@4, [c4,gb4]@7 ~ [c4,gb4]@7 ~", // Cdim
  Q: "[d4,f4]@4 bb3 ~ [bb3,d4,f4]@2 g2@2 bb3@2 ~@2 bb3 ~, g2@2 ~ g2, bb3 ~@4 [d4,f4]@3", // Dm Bb Dm
  R: "[db4,f4]@5 ~ [bb3,db4,f4]@4 ~@2 [bb3,db4,f4]@3 ~, db3@9 ~ db3@4 ~@2, bb3@3 ~@13", // Db Bbm
  S: "d4@4 f3@2 [f3,bb3,d4]@3 ~@3 c3@3 ~, c3@11 ~@5, f3@3 ~@7 [f3,bb3,d4]@6", // Bb
  T: "[bb3,d4]@3 f3 ~@2 c3@2, c3@9 ~@7, f3@2 ~@2 [f3,bb3,d4]@3 ~", U: "[a3,f4]@7 ~ [a3,c4]@4 ~@2 a3@2, f2 f4, ~@3 f2",
  V: "[g3,c4,e4]@7 ~ g3@4 e2@4, e2@8 [c4,e4]@7 ~", // C
  W: "[c4,f4]@6 a3@2 a3@3 ~ a3@2 e2@2, d3@13 ~@3, a3@2 ~@2 [c4,f4]@3 ~", // F5
  X: "~@4 [a3,gb4]@4 a3@2 ~@2 a3@3 ~, gb2@4 gb4@3 ~, ~@2 c4@5 ~, ~@5 gb2@3", // D
  Y: "[g2,d4]@8 g3@4 ~@2 g3 ~, [g3,bb3]@7 ~ [bb3,d4]@7 ~, ~@3 g2", // G5 Gm Bb
  Z: "[gb3,bb3,d4]@8 ~@4 gb2@3 ~, gb2@5 ~@3, ~@8 [gb3,bb3,d4]@7 ~", // Gbaug
  AA: "[g3,bb3,db4]@3 g3@2 db3@2 g3, db3 ~, ~@3 [bb3,db4]@4 ~", AB: "[c3,f3,g3,c4]@7 ~ [c3,e3,g3,c4]@7 ~",
  AC: "[gb3,bb3,d4]@7 ~@5 gb2@3 ~, gb2@5 ~@3, ~@8 [gb3,bb3,d4]@7 ~", // Gbaug
  AD: "[f4@2 a3 ~ f2@2 ~@2 f4@2 ~ [c4,f4]@2 ~ f2 ~, f2@6 a3@4 ~@2 a3@4 a3@3 ~ a3@5 ~ [a3,c4,f4]@4 ~@2, a3@2 ~@4 [c4,f4]@8 f2@13 ~@5]/2", // F5 F F5
  AE: "[f4@4 a3@2 ~@2 f2@4 ~@4 f4@4 ~@2 [c4,f4]@4 ~@2 f2@3 ~, f2@6 a3@4 ~@2 a3@4 a3@3 ~ a3@5 ~ [a3,c4,f4]@5 ~, a3@2 ~@4 [c4,f4]@8 f2@13 ~@5]/2", // F5 F F5
  AF: "[[f2,a3,f4]@23 ~]/3", // F
})).s("gm_acoustic_guitar_steel").gain(0.22)

// drums · kick
const kick = s("bd").struct(`<
  ~@2 A B A C A C A C A B A C A C A C A B A C A C A C A C A C A C A C A B A C A C@2 D A B A C A C A C A C A C A C A C A
  B A C A C@2 D A B A C A C A B A B A C A C A B A B A C A C ~@2 A B A C A C A C A B A C A C A C A C A C A C A C A B A C
  A C@2 E A B A C A C A B A B A C A C A B A B A C A C ~@2 A B A C A C A C A C A C A C A C A B A C A C A B A B A C@2 ~@3
>`.pickRestart({
  A: "x ~@2 x ~@2 x ~", B: "x!2 ~@2", C: "x", D: "~@3 x ~@4", E: "~ x ~@6",
})).gain(0.53)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
  A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@3 A ~ A ~@4
>`.pickRestart({
  A: "~@3 x",
})).gain(0.31)

// drums · snare
const snare = s("sd").struct(`<
  ~@2 A@38 ~ B A@22 ~ B A@7 C A@7 C A@6 D E A@7 F A@22 ~ G A@7 C A@7 C A@6 D E A@28 ~@4
>`.pickRestart({
  A: "~ x", B: "~@4 x!2 ~@2", C: "~@3 x!2 ~@3", D: "x", E: "~@3 x!3 ~@2", F: "~@3 x", G: "~ x!2 ~",
})).gain(0.61)

// drums · hihat
const hihat = s("hh").struct("<~@2 A@38 ~@2 A@22 ~@2 A@22 B A@8 ~ A@22 ~@2 A@22 B A@24 C A@4 ~@4>".pickRestart({
  A: "x!8", B: "x ~ x ~ x ~ x!2", C: "x ~@2 x",
})).gain(0.31)

// drums · low tom
const low_tom = s("lt").struct("<~@73 A ~@7 A ~@7 B ~@7 C ~@23 D ~@7 A ~@7 A ~@7 B ~@32>".pickRestart({
  A: "~@5 x ~@2", B: "~ x ~ x", C: "~@5 x ~ x", D: "~@3 x",
})).gain(0.46)
// … 27 more lines

More by Pooh