Strudelify
Il cielo e blu sopra le nuvole cover art

Il cielo è blu sopra le nuvole

Il cielo e blu sopra le nuvole

Pooh

KeyA minorTempo68 bpm
0:00/0:00
// Il cielo e blu sopra le nuvole — Pooh
// 68 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 79 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(68/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(`<
  ~@12 A B C D E F G H I J K L M N O P Q J K R S N T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AI AQ
  AR AS AM AT AU AV AW AX AY AV AZ BA BB ~@4 BC@3
>`.pickRestart({
  A: "a1@7 ~@3 a1 ~ g1@7 ~@3 g1 ~", B: "f1@7 ~@3 f1 ~ e1@7 ~ e1@2 b1@2", C: "a1@7 ~@3 a1@2 g1@7 ~@3 g1@2",
  D: "f1@7 ~@3 f1@2 g1@6 f1@6", E: "e1@7 ~@3 e1@2 f1@6 e1@6", F: "d2@7 ~ d2@2 d#2@2 e2@2 e1 ~ e1 ~ e1@2 e2@2 d2@2",
  G: "a1@6 ~@4 a1@2 a1@3 ~ a1@3 ~ a1@2 a2@2", H: "a1@2 a1@2 a1@3 ~ a1@2 e1@2 a1@2 d2@2 d#2@2 e2@2 e2 ~ e2 g2",
  I: "d2@5 ~@19", J: "e2@11 ~ e2@6 d2@6", K: "c#2@9 ~ c#2@2 a1@6 g1@6", L: "f1@12 c2 d2 f2 ~ d2 ~ g2@2 g2 ~ f2 ~",
  M: "e2@12 e1@7 ~ e1@2 a#1@2", N: "d2@9 ~ d2 ~ d2@6 c2@6", O: "b1@10 f#1 ~ e1@7 ~ e1@2 g#1@2",
  P: "a1@7 ~ a1 ~ a1 ~ a1@2 d2@2 d#2@2 e2@6", Q: "d2 ~@3", R: "f1@12 c2 d2 f2 ~ g2 ~ g2@2 c3 ~ a2 ~",
  S: "d3@12 e1@11 ~", T: "b1@10 f#1 ~ e1@12", U: "a1@9 ~ a1 ~ a1@11 ~", V: "d2@9 ~ d2 ~ c2@9 ~ c2@2",
  W: "a#1@9 ~ a#1 ~ a1@12", X: "d2@6 d3@2 a2 ~ d2 ~ c2@4 c3@5 ~ c2 ~", Y: "a#1@8 ~@2 a#1 ~ a1@6 a2@4 ~@2",
  Z: "d2@7 ~@3 d2 ~ c2@7 ~@3 c2 ~", AA: "a#1@7 ~@3 a#1 ~ a1@7 ~ f2@2 ~@2", AB: "d2@7 ~@3 d2@2 c2@6 c3@2 ~@2 c2@2",
  AC: "a#1@7 ~@3 a#1@2 c2@6 a#1@6", AD: "a1@7 ~ a1@3 ~ a#1@6 a1@6", AE: "g1@7 ~ g1@2 g#1@2 a1@8 a1@2 g1@2",
  AF: "d2@3 ~@2 d2 a1!6", AG: "a1@3 ~ a1@2 c#2@3 ~ c#2@2 d2@5 ~@7", AH: "~@6 e1@5 e1", AI: "e2@6 d2@6 c#2@9 ~ c#2@2",
  AJ: "a1 g1 f1@2", AK: "c2 d2 f2 ~ d2 ~ g2@2 g2 ~ f2 ~ e1@9 ~ e1@2", AL: "e2@7 ~ e1@2 e2@2 d2@9 ~ d2 ~",
  AM: "d2@6 c2@6 b1@10 f#1 ~", AN: "e1@7 ~ e1@2 g#1@2 a1@7 ~ a1 ~ c#2 ~",
  AO: "d2@2 d#2@2 d#2@2 f2 ~ e2 ~ a1 ~ d2@6 ~@6", AP: "~@12 e1@9 ~ e1@2", AQ: "a1@6 g1@6 f1@9 ~ f1@2",
  AR: "c2 d2 f2 ~ g2 ~ g2@2 c3 ~ a2 ~ d3@9 ~ e1 ~", AS: "e1@8 e2@2 d#2@2 d2@9 ~ d2 ~",
  AT: "e1@6 e1@3 ~ e1@2 a1@2 a1@2 a1@3 ~ a1@2 a1@2", AU: "a1@2 c#2@2 d2@2 e2@6 d2@6 d3@4 d2 ~",
  AV: "c2@6 c3@4 c2 ~ a#1@6 a#2@4 a#1 ~", AW: "a1@2 a1@2 a1@2 g2@2 a2@3 ~ d2@6 d3@2 a2 ~ d2 ~",
  AX: "c2@4 g2@2 c3@4 c2 ~ a#1@6 a#2@4 a#1 ~", AY: "a1@2 a1@2 a1@2 a2@5 ~ d2@6 d3@4 d2 ~",
  AZ: "a1@2 a1@2 a1@2 a2@6 d2@6 d3@5 ~", BA: "c2@3 c3@2 ~ a#1@2 a#1@2 a#1@2", BB: "a1", BC: "[~@5 d1@61 ~@6]/3",
})).s("gm_fretless_bass").gain(0.66)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  A B A C A D A E F G A B H D H E I J K L ~ M N O P Q R S ~ M N O P T R S U V W V X Y Z AA AB AC AD ~ AE AF AG AH AI AJ
  AK AL AE AF AG AH AI AJ AK AM AN AO AP AO AN AO AP AQ ~@7
>`.pickRestart({
  A: "a3 ~ a3 ~@2 e3 ~@2 a3 ~@2 e3, a2 g2, ~ e3@3 a3@2 ~ e3@3 a3@2, ~ c4 ~ c4",
  B: "~@4 a3@2 ~@2 a3@2 d3 ~@7 g#3@2 a3@2 b3@2, f2 e2, ~@2 d3@6 ~@6 b2@9 ~, ~@3 d4@3 ~@2 e3@4",
  C: "~@4 a3@2 ~@2 a3@2 d3 ~@7 g#3@2 a3@2 b3@2, f2 e2, ~@2 d3@6 ~@6 b2@9 ~, ~@3 d4@3 ~ b3@2 ~@3, ~@2 e3",
  D: "~@4 a3@2 ~@2 a3@2 d3 ~@7 g#3@2 a3@2 b3@2, f2 e2, ~ d3@3 ~@3 b2@5, ~@3 d4@3 ~@2 e3@4",
  E: "~@4 a3@2 ~@2 a3@2 d3 ~@3 d3@2 g3@2 ~@2 d3@2 g3@2, f2@2 g2 f2, ~ d3@3 ~@8, ~ d4 ~@2",
  F: "~@2 g3 ~ g3 e3 ~ a3 c4 ~ a3 c4, e2 ~, ~ e3@3 ~@2 [f3,f4]@3 [e3,e4]@3, ~ c4 ~@2", // F E
  G: "~@4 d4 a3 ~@2 e4!2 b3 e4, d3 e2, d4@2 d4@2 ~@3 [g#3,b3]@2 [g#3,g#4]@3, ~ a3@3 ~@2 e3@3 ~@3, ~ f4 ~@2", // G#m G#
  H: "~@2 a3 ~@2 e3 ~@2 a3 ~@2 e3, a2 g2, ~ e3@3 a3@2 ~ e3@3 a3@2, ~ c4 ~ c4",
  I: "~@2 c4 ~ c4 g3 ~ a3 c4 ~ a3 c4, e2@2 [f2,f3] [e2,e3], ~ g3@2 e4@3 ~@6", // F E
  J: "~@2 d4 ~ d4 a3 ~@2 b3 e4 b3 g#3, d2 e2, ~ a3@3 ~@2 e3@3 ~@3, ~@3 f4@3 ~ g#3@2 ~@3",
  K: "a3 ~ a4 ~@2 e4 ~@2 a4 ~@2 e4, a2!2, ~ e4@3 a4@2 ~ e4@3 a4@2, ~ c5 ~ c5",
  L: "a3@2 ~@2 a3@2 ~@4 e3@2 ~@2 a3@2 ~@4 a3@2 e3 ~, a2@12 a2@4 a2@7 ~, ~ e3@3 a3@2 ~@6, ~@6 c4@6 ~@6 c4@5 ~",
  M: "~@2 a#3 ~@2 g3 ~@2 e4 ~ g3 d4, e3@2 e3 d3, ~ g3@2 a4@3 ~@6, ~@4 a#3@2 ~ a#3@2 ~@3",
  N: "~@2 a3 ~ a3 e3 ~@2 a3 ~ e3 a3, c#3@2 a2 g2, ~ e3@2 c#4@3 ~ e3@2 ~@3",
  O: "~@2 a3 ~@2 d3 ~ d3 a3 ~@2 d3, f2!2, ~ d3@2 d4@3 ~@3 d4@3, ~@2 a3 ~@2 a3",
  P: "~ a#3 d4 ~ d4 a#3 ~ g3 a#3 ~ a#3 g3, e3!2, ~@6 g4@5 ~@7 d4@5 ~",
  Q: "~@2 d4 ~ d4 a3 ~@2 d4 ~ a3@2, d3@2 d3 c3, ~ a3@2 g4@3 ~ a3@2 ~@3",
  R: "~@2 g#3 ~ g#3 e3 ~@2 g#3 e4 b3 g#3, b2 e2, ~ e3@2 e4@3 ~ e3@2 ~@3",
  S: "~@4 c#4@2 ~@2 c#4@2 a3@2 ~@4 c#4@2 ~@2 c#4@2 a3 ~, a2!2, ~@2 a3@4 e4@6 ~@2 a3@4 e4@5 ~",
  T: "~@4 d4@2 ~@2 d4@2 a3@2 ~@2 a3@2 d4@2 ~@2 a3@3 ~, d3@2 d3 c3, ~ a3@2 g4@3 ~@6",
  U: "~@2 d4 ~@2 a3 ~@2 e4 ~@2 d3, d3 c3, ~ a3@2 f4@3 ~@3 f4@3, ~@4 d4@2 ~ a3@2 ~ a3@2",
  V: "~ g3 a#3 ~ a#3 g3 ~ e3 a3 ~ a3 e3, a#2 a2, ~@6 d4@5 ~@7 c#4@5 ~",
  W: "~@2 d4 ~@2 a3 ~ a3 e4 ~@2 d3, d3 c3, ~ a3@2 f4@3 ~@3 f4@3, ~@2 d4 ~@2 a3",
  X: "~@2 d4 ~@2 a3 ~@2 d4 ~@2 a3, ~ a3@3 d4@2 c3@6, ~@3 f4@3 ~ a3@3 d4@2, ~@3 f4",
  Y: "~@4 g3@2 ~@2 g3@2 d3 ~@7 c#4@2 d4@2 e4@2, a#2 a2, ~@2 d3@6 ~@6 e3@9 ~, ~@3 d4@3 ~@2 g3@4",
  Z: "~@2 d4 ~@2 a3 ~@2 d4 ~@2 a3, d3 c3, ~ a3@3 d4@2 ~ a3@3 d4@2, ~ f4 ~ f4",
  AA: "~@4 g3@2 ~@2 g3@2 d3 ~@5 g3@2 ~@4 g3@2, a#2 ~, ~ d3@3 ~@3 e3@2 ~ e3@2, ~ d4 c4 a#3",
  AB: "~@2 f4 ~ a3 f3 a#3 ~ a#3 a3 f3 a#3, a2 ~, ~ f3@2 c4@3 ~ f3@2 ~@3",
  AC: "~@2 f3 ~ f3 d3 ~@2 g3 c#4 g3 e3, g2 a2, ~ d3@3 ~@3 e3@2 ~@3, ~ a#3 ~@2",
  AD: "~@4 d4@2 ~@4 a3@2 e4@2 a3@2 e4@2 e4@2 a3@2 e4 ~, d3 ~, ~ a3@3 d4@2 ~@6, ~ f4 ~@2",
  AE: "~@7 g3 a#3 ~ a#3 g3, ~ e3, ~@3 a4", AF: "~@2 e4 ~ g3 d4 ~@2 a3 ~ a3 e3, e3 d3 c#3@2, ~ a#3@2 ~@4 e3@2 c#4@3",
  AG: "~@2 a3 ~ e3 a3 ~@2 a3 ~@2 d3, a2 g2 f2@2, ~ e3@2 ~@4 d3@2 d4@3, ~@5 a3",
  AH: "~@2 a3 ~@2 d3 ~ a#3 d4 ~ d4 a#3, f2 ~, ~@2 d3@4 d4@6 ~@6 g4@5 ~, ~@2 a3 e3@3",
  AI: "~ g3 a#3 ~ a#3 g3 ~@2 d4 ~ d4 a3, e3 d3, ~@6 d4@5 ~@3 a3@4 g4@6",
  AJ: "~@2 a3@2 d4@2 ~@2 a3@3 ~@5 g#3@2 ~@2 g#3@2 e3@2, d3 c3 b2@2, ~@7 e3@2 e4@3",
  AK: "~@2 g#3 e4 b3 g#3 ~@2 c#4 ~ c#4 a3, e2 a2, ~ e3@2 ~@4 a3@2 e4@3",
  AL: "~@4 c#4@2 ~@2 c#4@2 a3 ~@13, a2 ~, ~@2 a3@4 e4@5 ~@13",
  AM: "~@4 c#4@2 ~@2 c#4@2 a3 ~@5 d4@2 ~@4 a3@2, a2 d3, ~@2 a3@4 e4@5 ~@3 a3@4 f4@6, ~@5 d4",
  AN: "~ a3 e4 ~@2 d3 ~ g3 a#3 ~ a#3 g3, c3 a#2, ~@6 f4@6 ~@6 d4@5 ~, ~@2 a3 ~@3",
  AO: "~ e3 a3 ~ a3 e3 ~@2 d4 ~@2 a3, a2 d3, ~@6 c#4@5 ~@3 a3@4 f4@6, ~@5 d4",
  AP: "~@2 e4 ~@2 d3 ~ g3 a#3 ~ a#3 g3, c3 a#2, ~@2 a3@4 f4@6 ~@6 d4@5 ~, ~@2 a3 ~@3", AQ: "a2 ~",
})).s("gm_electric_guitar_clean").gain(0.3).pan(0.1)

// chords · distortion guitar
const distortion_guitar = note("<~@20 A ~@7 A ~@18 B@2 ~@6 C@2 ~@16 D@6>".pickRestart({
  A: "[d3,a3]@11 ~", B: "[[e3,a3]@2 [e3,a3]!4 [d3,a3]@11 ~@7]/2", C: "[~@6 [d3,a3]@11 ~@7]/2",
  D: "[~@22 e4@3 f4@2 e4@3 d4@3 a3@3 ~@4 f3@4 ~@5 c3@27 ~ [f#3,a3,d4]@61 ~@6, ~@14 d4@8 ~@14 c4@41 ~@67, ~@17 a3@11 ~@16 g3@33 ~@67, ~@19 d3@16 ~@109]/6", // D
})).s("gm_distortion_guitar").gain(0.3).pan(0.1)

// chords · distortion guitar
const distortion_guitar_2 = note(`<
  ~@21 A B C D E F ~@2 A B C D E F ~@13 G H I J K L ~@2 G H I J K L ~@17
>`.pickRestart({
  A: "~@6 e5@5 ~@13, ~@2 a#4 ~@5", B: "~ a5 ~@2, ~@2 c#5 ~@5", C: "~@6 d5@5 ~@13, ~@2 f5 ~@5",
  D: "~ e5 ~@2, ~@3 g5 ~@8", E: "~ d5 ~@2, ~@3 f5@2 ~@7", F: "~ b5 ~@2, ~@2 g#5 ~@5", G: "~@18 e5@5 ~, ~@9 a#4 ~@2",
  H: "~@3 a5, ~@6 c#5 ~", I: "~@18 d5@5 ~, ~@6 f5 ~", J: "~@3 e5, ~@9 g5 ~@2", K: "~@3 d5, ~@6 f5 ~",
  L: "~@3 b5, ~@6 g#5 ~",
})).s("gm_distortion_guitar").gain(0.25).pan(0)

// chords · rock organ · Am E
const rock_organ = note(`<
  ~@10
  [~@6 [a4,c5,e5] ~ [a4,c5,e5] ~@9 [a4,c5,e5] ~ [a4,c5,e5] ~@3]
  [~@18 [g#4,b4,e5] ~ [g#4,b4,e5] ~@3]
  ~@67
>`).s("gm_rock_organ").gain(0.4).pan(0.7)

// chords · percussive organ
const percussive_organ = note("<A B A B A B A C D E F B G H I J K L M ~@60>".pickRestart({
  A: "a3 g3, [a4,c5,e5]", B: "[f3,a4,d5]@2 a4 g#4, ~ [e3,b4,e5]", C: "[f3,a4,d5]@2 g3 f3, ~ [g4,b4,d5]",
  D: "[e3,g4,c5]@2 f3 e3, ~ [a4,c5,a5]", E: "[d3,a4,f5,a5] [e3,b4,e5,g#5]", F: "a3 g3, [c5,e5,a5]", G: "[c5,e5,a5]",
  H: "[a4,d5,f5]@2 a4 g#4, ~ [b4,e5]", I: "[a4,c5,e5]", J: "[a4,d5,f5]@2 g5 f5, ~ [b4,d5]",
  K: "[g4,c5,e5]@2 f5 e5, ~ [a4,c5]", L: "[a4,d5,f5] [g#4,b4,e5]", M: "[a4,c5,e5]@11 ~",
})).s("gm_percussive_organ").gain(0.18).pan(0.9)

// chords · rock organ
const rock_organ_2 = note(`<
  ~@18 A@2 B C D E F E G H I C D E F E G H J K L M E N E O P Q R@3 S T@7 S U@6 V W X W X W Y Z ~@7
>`.pickRestart({
  A: "[~@11 [c5,e5,a5]@4 [c6,e6,a6]@2 a5 [e5,a5,c6]@3 [c6,e6,a6]@2 a5, ~@30 d#6 ~@11 d#6 ~@5]/2", // Am
  B: "[a5,d6,f6]@18 [a4,b4] [c4,d4,e4,f4,g4] [c4,e4] [f4,g4,a4,b4] [c5,d5,e5,f5] [g5,a5,b5,c6]", // Dm Asus2 C G7 Dm7 Cmaj7
  C: "[a#4,e5,a5] [a#4,e5,g5], d6 ~@23", D: "[c#5,e5,g5] [e5,a5,c#6]", E: "[d5,f5,a5]", F: "[a#4,e5,g5]",
  G: "[e5,g#5,b5]", H: "[c#5,e5,a5]",
  I: "[d5,f5,a5]@18 [a4,b4] [c4,d4,e4,f4,g4] [c4,e4] [f4,g4,a4,b4] [c5,d5,e5,f5] [g5,a5,b5,c6]", J: "[d5,f5,a5]!2",
  K: "[d5,g5,a#5] [c#5,e5,g5]", // Gm C#dim
  L: "~@2 a4@4 [d5,f5,a5]@4 c5 [f4,g4,a4,b4] e4 ~ f5@4 [d5,f5,a5]@4 [e5,f5] [c5,d5], f5@6 ~@7 d5@5 ~@6, ~ d5@5 ~@6 a4@6 ~@6", // Dm G7 Dm Fmaj7 Csus2
  M: "a4 ~ g5@4 [d5,g5,a#5]@4 [a4,b4,c5] [f4,g4] ~@2 e5@4 [c#5,e5,g5]@4 [d5,e5,f5] [a4,b4,c5], a#4 ~ a4 ~, ~ d5@5 ~@7 c#5@5 ~@6", // Gm Am Fsus2 C#dim Dm Am
  N: "[a#4,d5,g5]@2 d5 c#5, ~ [a4,e5]", O: "[a#4,d5,g5] [c5,e5,g5]", P: "[a4,c5,f5]@2 a#4 a4, ~ [d5,f5]",
  Q: "[a#4,d5,g5] [a4,c#5,e5]", // Gm A
  R: "[[a4,d5,f5]@12 [a4,c#5,e5]@24 [d5,f5,a5]@18 [a4,b4] [c4,d4,e4,f4,g4] [c4,e4] [f4,g4,a4,b4] [c5,d5,e5,f5] [g5,a5,b5,c6] [a#4,e5,a5]@12, ~@60 d6 ~@11]/3", // Dm A Dm Asus2 C G7 Dm7 Cmaj7 …
  S: "[a#4,e5,g5] [c#5,e5,g5]", // Edim C#dim
  T: "[[e5,a5,c#6]@12 [d5,f5,a5]@24 [a#4,e5,g5]@24 [d5,f5,a5]@24 [e5,g#5,b5]@24 e5@18 e6@2 a6@2 e6@2 [f5,a5,d6]@18 [a4,b4] [c4,d4,e4,f4,g4] [c4,e4] [f4,g4,a4,b4] [c5,d5,e5,f5] [g5,a5,b5,c6] [a#4,e5,a5]@12, ~@108 [c#5,a5]@24 ~@24 d6 ~@11]/7", // A Dm Edim Dm E Dm Asus2 C …
  U: "[[e5,a5,c#6] [d5,f5,a5]@2 [a#4,e5,g5]@2 [d5,f5,a5]@2 [e5,g#5,b5]@2 [c#5,e5,a5]@2 [d5,f5,a5]]/6", // A Dm Edim Dm E A Dm
  V: "[d5,f5,a5] [d5,g5,a#5]", W: "[c#5,e5,g5]@12 ~@2 a4@4 [d5,f5,a5]@4 c5 [f4,g4,a4,b4], ~@2 f5 ~, ~@13 d5@5 ~@6",
  X: "e4 ~ f5@4 [d5,f5,a5]@4 [e5,f5] [c5,d5] a4 ~ g5@4 [d5,g5,a#5]@4 [a4,b4,c5] [f4,g4], a4 ~ a#4 ~, ~ d5@5 ~@7 d5@5 ~@6", // Dm Fmaj7 Csus2 Gm Am Fsus2
  Y: "e4 ~ f5@4 [d5,f5,a5]@4 [e5,f5] [c5,d5] a4 ~@5 [d5,g5,a#5]@6, a4 ~@3, ~ d5@5 ~@18", Z: "[c#5,e5,g5]",
})).s("gm_rock_organ").gain(0.18).pan(0.9)

// chords · rock organ · soft notes
const rock_organ_soft = note("<~@20 A ~@7 A ~@9 B C D ~@7 E ~@7 E ~@8 F G H G H G ~@8>".pickRestart({
  A: "~@20 d4 ~@3", B: "~@10 [d5,e5,f5] ~@12 b4", C: "~@12 e4 ~@10 g4", D: "f4 ~@23", E: "~@8 d4 ~@15",
  F: "~@22 [d5,e5,f5] ~", G: "~@11 b4 ~@12", H: "e4 ~@21 [d5,e5,f5] ~",
})).s("gm_rock_organ").gain(0.09).pan(0.9)

// other · overdriven guitar
const overdriven_guitar = note(`<
  ~@10 A@2 ~@6 B C D ~@2 E F G H I J K L M N O H P Q R S T ~@6 U V@2 ~ W X@2 Y Z AA AB AC AD AE@2 Y AF@2 AG@2 AH@2 AI AJ
  AK AL@2 ~@6
>`.pickRestart({
  A: "[~@12 g4@22 e4 [c4,d4] d4@6 e4@5 ~]/2", B: "~@12 d4@6 d4@4 e4 d4", C: "d4@2 d4 d4@9, c4 ~@23", D: "d4@2 ~",
  E: "~ f4 e4 f4", F: "e3@5 ~", G: "d3@4 ~@2 d3@3 c3@3", H: "b2 ~", I: "a2@3 d4@2 e4 e4@2 e4!2 f4 g4",
  J: "a4@7 g4 [d4,e4,f4] [b3,c4] [f3,g3,a3] ~@13", K: "a5@3 a#5 g5@2 f5@2",
  L: "e5@8 d5 [a4,b4,c5] [e4,f4,g4] [b3,c4,d4] [f3,g3,a3] ~@11", M: "~ f4 e4 d4", N: "e4 d4@4 ~",
  O: "d4@4 ~@2 d3@3 c3@3", P: "a2@6 d4@12 ~ [c4,d4] [g3,a3,b3] [e3,f3] [b2,c3,d3] [g2,a2]",
  Q: "~@2 c5@2 e5 f5 d5@2 d5@2 e5 f5", R: "g#5@6 g5@4 g5@11 [e5,f5] [c5,d5] [f4,g4,a4,b4]",
  S: "[b3,c4,d4,e4] ~@5 c5@2 e5@2 f5@2 d5@4 d5@4 e5@2 f5@2", // Cmaj7
  T: "g#4@6 g5@4 g5@10 ~ [c5,d5,e5,f5] [g4,a4,b4] [c4,d4,e4,f4]", U: "~@12 g4 a4!5 g4 a4!5",
  V: "[g4 a4 c#5 a4 d5 c#5 a4 e4 d4 c#4 d4 e4 d4@16 ~@20]/2", W: "~@3 f4", X: "[e4@3 f4@3 e3@10 ~@2 d3@4 ~@2]/2",
  Y: "d3 c3 b2@2", Z: "~@6 a2@3 d4@2 e4",
  AA: "a4@2 e4@2 c#4@2 c#4@2 a4@2 e4@2 d4@2 d3 [e3,f3] g3 [e3,a3] [f3,g3] a3 [f3,g3,c4] a3 [c4,d4,e4] f4", // Fmaj7 A5 Fsus2 C
  AB: "e4@2 [d4,e4] f4 [a4,c5] [f4,a4] a4 c5 [d5,f5] d5 [e5,f5] g5 a5@9 a#5@3", // Dsus2 Am F Dm Fmaj7
  AC: "g5@6 f5@6 e5@8 d5 [a4,b4,c5] [e4,f4,g4] [b3,c4,d4]", AD: "[f3,g3,a3] ~@17 f4@6",
  AE: "[f4@4 e4@4 d4@4 e4@4 d4@12 d4@2 g4@5 ~ d4@8 ~@4]/2",
  AF: "[~@12 a2@6 d4@12 ~ [c4,d4] [g3,a3,b3] [e3,f3] [b2,c3,d3] [g2,a2] ~@4 c5@4 e5@2 f5@2]/2", // Csus2 G Fmaj7 Bm Gsus2
  AG: "[d5@4 d5@4 e5@2 f5@2 g#5@6 g5@4 g5@11 [e5,f5] [c5,d5] [f4,g4,a4,b4] [b3,c4,d4,e4] ~@3 c5@4 e5@2 f5@2]/2", // Fmaj7 Csus2 G7 Cmaj7
  AH: "[d5@4 d5@4 e5@2 f5@2 g#5@6 g5@4 g5@14 ~ a4 d5 a4 d5 a4 d5 a4 e5 a4 f5 a4]/2",
  AI: "d5@4 d5@4 e5@2 f5@2 g5@6 g#5@5 ~", AJ: "b5@11 ~ d6@2 [c6,d6] [f5,g5,a5,b5] [d4,c5,d5,e5] a3 d4 a3 e4 a3 f4 a3",
  AK: "c6@2 ~ [f5,g5,a5,b5] [d4,c5,d5,e5] a3 f4 d4 g4 d4 a4 d4 g#4@2 g4 [e4,f4] f4 [d4,e4] [a#3,c4] [a3,b3] [f3,g3] e3 d3 [a#2,c3]", // G7 C Fmaj7 Dsus2 A#sus2 Asus2 Fsus2 A#sus2
  AL: "[a2@19 ~@5]/2",
})).s("gm_overdriven_guitar").gain(0.33).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  ~@12 A B A C B@2 D E F B@6 E F G B@2 H B@2 E B@2 D B A I@3 A C D J K I@2 D I@3 L K I@2 M I@2 N O D O D P I Q I F ~@7
>`.pickRestart({
  A: "x!2", B: "x ~@4 x!2 ~@5", C: "x ~@4 x!2 ~@3 x ~", D: "x ~@4 x!2 ~@4 x", E: "x ~ x ~@2 x ~@2 x ~@3", F: "x",
  G: "x ~@4 x!2 ~@3 x!2", H: "x!2 ~@3 x!2 ~@5", I: "x ~@5 x ~@4 x", J: "x ~ x!2 ~@2 x ~@5", K: "~@6 x ~@4 x",
  L: "x!2 ~ x ~@2", M: "x ~@4 x!3 ~@3 x", N: "x ~@5 x!3 ~ x!2", O: "x!3 ~@3 x ~@4 x", P: "x ~ x ~@3 x ~@4 x",
  Q: "x ~ x ~@2 x!2 ~ x ~@2 x",
})).gain(0.64)

// drums · snare
const snare = s("sd").struct("<~@12 A@7 B C A@6 D ~ A@6 D A@10 E F A@6 G F C A@5 G H A@5 I A ~@8>".pickRestart({
  A: "~ x ~ x", B: "~@2 x!4 ~@2", C: "~@3 x", D: "~ x!6 ~", E: "~@2 x ~@2 x!3", F: "~ x!2 ~@5", G: "~@2 x ~@3 x!2",
  H: "~ x!2 ~@3 x ~", I: "~@2 x ~@3 x ~@2 x ~@8 x ~@5",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@20 A ~@7 A ~@6 B ~ C ~ D ~@6 C E F ~@6 G H ~@6 F ~@3 I ~@3 J ~@7>".pickRestart({
  A: "x ~@21 x!2", B: "~@22 x!2", C: "~@11 x", D: "~@23 x", E: "x!2 ~ x ~@2", F: "~@10 x!2 ~@12", G: "~ x",
  H: "~@4 x ~@5 x!2 ~@12", I: "~@11 x ~@12", J: "x",
})).gain(0.64)

// drums · hihat
const hihat = s("hh").struct("<~@12 A B C D E F G H ~@20 I C B J K L F M ~@31>".pickRestart({
  A: "~ x!8 ~@2 x", B: "x!12", C: "x!9 ~@2 x", D: "x ~ x!10", E: "x ~ x!2 ~ x!2 ~ x ~@2 x", F: "x!4 ~ x!7",
  G: "x!4 ~ x!4 ~@2 x", H: "x!6 ~@2 x ~@2 x", I: "~ x!11", J: "x ~ x!7 ~ x ~", K: "x ~ x!2 ~ x!2 ~ x!4",
  L: "x!4 ~ x!4 ~ x!2", M: "~ x!5 ~@6",
})).gain(0.56)
// … 54 more lines

More by Pooh