Strudelify
Mi manchi cover art

Pooh 60: La nostra storia

Mi manchi

Pooh

KeyC majorTempo84 bpm
0:00/0:00
// Mi manchi — Pooh
// 84 bpm, 4/4, key C 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 95 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(84/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 · acoustic bass
const bass = note(`<
  A B C D E B C D E B C D E B C D E F G B C D E B C D E F G H I J K H L M K N O P Q R S T B C D E B C D U V W T X V W T
  X Y Z AA AB AC AD AA AE AF AD AG AH AI AJ AK AL O V W T X V W T X V W T X V W T X AM ~
>`.pickRestart({
  A: "~@3 c2", B: "f2@4 ~@2 f2 ~ f2@6 ~@2", C: "d2@4 ~@2 d2 ~ d2@6 ~@2", D: "a#1@5 ~ a#1 ~ a#1@7 ~",
  E: "c2@5 ~ c2 ~ c2@6 ~@2", F: "g2@5 ~ g2 ~ a#2@8", G: "c3@9 ~@3 c3@4", H: "f2@5 ~ f2 ~ f2@5 ~ f2 e2",
  I: "d2@5 ~ d2 ~ d2@4 f1@4", J: "g1@5 ~ g1 ~ g1@7 ~", K: "a#1@5 ~ a#1 ~ c2@7 ~", L: "d2@5 ~ d2 ~ d2@4 f2@4",
  M: "g2@5 ~ g2 ~ g2@7 ~", N: "f2@4 ~@2 f2 ~ f2@4 ~@2 f2 e2", O: "d2@5 ~ d2 ~ d2@7 ~", P: "g1@5 ~ g1 ~ g1@5 ~ g1 ~",
  Q: "c2@5 ~ c2@2 c#2@8", R: "d2@5 ~ d2 ~ c2@7 ~", S: "a#1@5 ~ a#1 ~ a#1@8", T: "c2@5 ~ c2 ~ c2@7 ~",
  U: "c2@5 ~@7 d2@3 ~", V: "g2@4 ~@2 g2 ~ g2@6 ~@2", W: "e2@4 ~@2 e2 ~ e2@6 ~@2", X: "d2@5 ~ d2 ~ d2@6 ~@2",
  Y: "a2@5 ~ a2 ~ c3@8", Z: "d3@9 ~@3 d3@4", AA: "g2@5 ~ g2 ~ g2@5 ~ g2 f#2", AB: "e2@5 ~ e2 ~ e2@4 g1@4",
  AC: "a1@5 ~ a1 ~ a1@7 ~", AD: "c2@5 ~ c2 ~ d2@7 ~", AE: "e2@5 ~ e2 ~ e2@4 g2@4", AF: "a2@5 ~ a2 ~ a2@7 ~",
  AG: "g2@4 ~@2 g2 ~ g2@4 ~@2 g2 f#2", AH: "e2@5 ~ e2 ~ e2@7 ~", AI: "a1@5 ~ a1 ~ a1@5 ~ a1 ~", AJ: "d2@5 ~ d2@2 d#2@8",
  AK: "e2@5 ~ e2 ~ d2@7 ~", AL: "c2@5 ~ c2 ~ c2@8", AM: "g1@3 ~@5",
})).s("gm_acoustic_bass").gain(0.64)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@5 A@4 ~@8 B C ~@8 D E F@2 G@2 F@2 G@2 H I J K L@2 M ~@4 A@4 ~@8 N O P@2 Q@2 P@2 Q@2 R S M T U@2 V ~@4 W@4 ~@4 W@4
  ~@2
>`.pickRestart({
  A: "[~@9 f6@7, c6]/4", B: "g4 a#4", C: "[c5,c6]", D: "~ f5, [a#4,d5]", E: "[c5,e5,g5]",
  F: "[g5 f5 e5 f5, [a4,c5], f4 d4]/2", G: "[a5 g5 [a#3,a#4,f5] [c4,g4,c5,e5], d5@25 ~@7, [g4,a#4] ~]/2", H: "f6",
  I: "e6 d6", J: "a#5", K: "c6 c#6", L: "d6/2", M: "c6", N: "~ g5, [c5,e5]", O: "[d5,f#5,a5]",
  P: "[a5 g5 f#5 g5, [b4,d5], g4 e4]/2", Q: "[b5 a5 [c4,c5,g5] [d4,a4,d5,f#5], e5@25 ~@7, [a4,c5] ~]/2", R: "g6",
  S: "f#6 e6", T: "d6 d#6", U: "e6/2", V: "d6", W: "[~@9 g6@7, d6]/4",
})).s("gm_string_ensemble_2").gain(0.16).pan(0.6)

// chords · piano
const piano = note(`<
  A B C D E B F@2 G H@8 I J K@8 I J L M N O P M N Q@2 M N R S T U B V D W B F@2 G X@8 Y Z AA AB AC AD AE AB AC AF@2 AB
  AC AG AH AI AJ AK AL AM AN AK AO@2 AP AK AL AM AQ AK AR@2 AS@2 ~
>`.pickRestart({
  A: "~@5 [e5,f5,a#5,c6]@3", B: "c3@2 ~ g3, [f2,a3,c4], g3@3 ~, f3@5 f3@3, ~ c3", C: "f3@5 f3@3, [g3,a3,c4]",
  D: "f3@5 ~@2 a3, [a#2,d3,c4], a3@7 ~, ~@5 f3@3, ~@3 g3", E: "~@3 e3@2 [f3,a#3,d4]@3, [f3,g3,c4]@5 ~@3",
  F: "[~@7 g3 f3@5 ~ c4@2, a3 a3, g3@3 f3 ~@4, f3@5 c4@9 ~@2, c4@8 d3@9 ~@15]/2", G: "~@5 [e5,f5,a#5,c6]@3, [f3,g3,c4]",
  H: "[~@14 a3@3 ~@5 f3@3 ~@4 f3@3 ~@14 a3@3 ~@13 a#3@2, ~ c3@8 c3@8 c3@2 c3@2 c3@4 c3@7 a3@4 g3@5 c3@8 c3@2 c3@5 c3@8, ~@4 f3@16 f3@15 ~ f3@8 ~@8 f3@6 [a#3,d4]@6 f3@2 c3@10 a3@8 ~@4 g3@11 ~@9 g3@8 g3@12, ~@8 g3@12 ~@4 g3@11 ~@19 g3@14 f3@16 f3@15 ~ f3@6 ~@8 f3@4 f3@10, ~@6 a3@4 ~@10 c4@12 c4@10 ~@10 c4@7 ~@2 c4@3]/8", // A#
  I: "[g2,f3,g3,a#3,d4] [f3,a#3,d4]", J: "[c3,g3,c4,e4]@5 [e5,f5,a#5,c6]@3",
  K: "[~@14 a3@3 ~@5 f3@3 ~@4 f3@3 ~@14 a3@3 ~@13 a#3@2, ~ c3@8 c3@8 c3@2 c3@2 ~@4 c3@7 a3@4 g3@5 c3@8 c3@2 c3@5 c3@8, ~@4 f3@16 f3@15 ~ f3@8 ~@8 f3@6 [a#3,d4]@6 f3@2 c3@10 a3@8 ~@4 g3@11 ~@9 g3@8 g3@12, ~@8 g3@12 ~@4 g3@11 ~@19 g3@14 f3@16 f3@15 ~ f3@6 ~@8 f3@4 f3@10, ~@6 a3@4 ~@10 c4@12 c4@10 ~@10 c4@7 ~@2 c4@3]/8", // A#
  L: "[f2,f3,g3,a3,c4]", M: "[g3,c4,e4] [a3,d4,f4], d3", N: "[g2,d3,f3,a#3,d4]", O: "[a#2,f3,a#3,d4] [c3,e3,g3,c4]",
  P: "[f2,c3,f3,g3,a3,c4]", Q: "[[a#2,f3,a#3,d4,f4] [c3,c4] [f2,c3,a3,c4,f4]@2, ~ [g3,e4]@3]/2",
  R: "[c3,g3,c4,e4] [c#3,g3,a#3,e4]", S: "a3@3 a3 a3@2 ~ f4, [d3,d4,f4] [c3,d4], ~@4 f4@3 ~, ~@3 a3",
  T: "f3 ~@2 d4, a#2, d4@5 c4@3, a#3@3 a#3@5, ~ f3@3", U: "g3@3 ~@2 [f4,e5,f5,a#5,c6]@3, c3, f4@5 ~@3, c4!2, ~@3 g3@5",
  V: "f3@5 f3@3, [d3,g3,a3,c4]", W: "[f3,g3,c4]@5 [f3,a#3,d4]@3",
  X: "[~@14 b3@3 ~@5 g3@3 ~@4 g3@3 ~@14 b3@3 ~@13 c4@2, ~ d3@8 d3@8 d3@2 d3@2 d3@4 d3@7 b3@4 a3@5 d3@8 d3@2 d3@5 d3@8, ~@4 g3@16 g3@15 ~ g3@8 ~@8 g3@6 [c4,e4]@6 g3@2 d3@10 b3@8 ~@4 a3@11 ~@9 a3@8 a3@12, ~@8 a3@12 ~@4 a3@11 ~@19 a3@14 g3@16 g3@15 ~ g3@6 ~@8 g3@4 g3@10, ~@6 b3@4 ~@10 d4@12 d4@10 ~@10 d4@7 ~@2 d4@3]/8", // C
  Y: "[a2,g3,a3,c4,e4] [g3,c4,e4]", Z: "[d3,a3,d4,f#4]@5 [f#5,g5,c6,d6]@3", AA: "[g2,g3,a3,b3,d4]",
  AB: "[a3,d4,f#4] [b3,e4,g4], e3", AC: "[a2,e3,g3,c4,e4]", AD: "[c3,g3,c4,e4] [d3,f#3,a3,d4]",
  AE: "[g2,d3,g3,a3,b3,d4]", AF: "[[c3,g3,c4,e4,g4] [d3,d4] [g2,d3,b3,d4,g4]@2, ~ [a3,f#4]@3]/2",
  AG: "[d3,a3,d4,f#4] [d#3,a3,c4,f#4]", AH: "b3@3 b3 b3@2 ~ g4, [e3,e4,g4] [d3,e4], ~@4 g4@3 ~, ~@3 b3",
  AI: "g3 ~@2 e4, c3, e4@5 d4@3, c4@3 c4@5, ~ g3@3", AJ: "a3@3 ~@2 [g4,f#5,g5,c6,d6]@3, d3, g4@5 ~@3, d4!2, ~@3 a3@5",
  AK: "d3@2 ~ a3, [g2,b3,d4], a3@3 ~, g3@5 g3@3, ~ d3", AL: "g3@5 g3@3, [e3,a3,b3,d4]",
  AM: "g3@5 ~@2 b3, [c3,e3,d4], b3@7 ~, ~@5 g3@3, ~@3 a3", AN: "~@3 f#3@2 [g3,c4,e4]@3, [g3,a3,d4]@5 ~@3",
  AO: "[~@7 a3 g3@5 ~ d4@2, b3 ~, a3@3 g3 [c3,b3]@4, g3@5 d4@9 ~@2, d4@8 e3@9 ~@15]/2", // Cmaj7
  AP: "~@5 [f#5,g5,c6,d6]@3, [g3,a3,d4]", AQ: "[g3,a3,d4]@5 [g3,c4,e4]@3",
  AR: "[~@7 a3 g3@5 ~ d4@2, b3 b3, a3@3 g3 ~@4, g3@5 d4@9 ~@2, d4@8 e3@9 ~@15]/2",
  AS: "[~ [g2,d3,g3,a3], [g3,a3,d4]@15 [b3,d4]@17, ~@5 [f#5,g5,c6,d6]@11]/2", // Gsus2 Bm Csus2
})).s("gm_piano").gain(0.28).pan(0.4)

// chords · piano · soft notes
const piano_soft = note(`<
  ~@2 A ~ B ~ C D E ~@6 F@2 G ~@3 H@2 ~@2 F@2 G ~@19 I ~ C D E ~@6 J@2 K ~@19 A ~ L M N ~@3 O ~ L P Q@2 ~
>`.pickRestart({
  A: "d3", B: "c3", C: "d3 ~", D: "~@5 f3@3, a#2", E: "~@3 e3@5, c3", F: "[~@5 f3@4 ~@7]/2", G: "~ a#2",
  H: "[~@5 c3@4 ~@7]/2", I: "~@3 e3@2 ~@3, c3", J: "[~@5 g3@4 ~@7]/2", K: "~ c3", L: "e3 ~", M: "~@5 g3@3",
  N: "~@3 f#3@5, d3", O: "~@3 f#3@2 ~@3, d3", P: "~@5 g3@3, c3", Q: "[~@3 f#3@13, d3 ~]/2",
})).s("gm_piano").gain(0.16).pan(0.4)

// chords · pad warm
const pad_warm = note(`<
  A B C D E F C G H B C D E F C G H I J B C D E F C G H I J K L M N O P Q R F S T U V D W B C D E F C G X Y Z J AA AB Z
  AC AD AE AF AG AH AI AJ AK AL AM AN AB AO AP AQ AR J AS Y Z J AA AB Z AC AD Y Z J AA AB Z AC AD AT ~
>`.pickRestart({
  A: "~@5 [e4,f4,a#4,c5]@3", B: "[f2,c3,f3,a3,c4]", C: "[d3,f3,a3,d4]", D: "[a#2,f3,a#3,d4]",
  E: "[c3,g3,c4,e4]@5 [c3,f3,a#3,d4]@3", F: "[f2,f3,a3,c4]", G: "[a#2,f3,a#3,d4]@15 ~", H: "[c3,e3,g3,c4]",
  I: "[g2,f3,a#3,d4] [a#2,f3,a#3,d4]", J: "[c3,g3,c4,e4]", K: "[f2,a3,c4,f4]", L: "[g3,c4,e4] [f3,a3,d4], d3",
  M: "[g2,a#3,d4,f4]", N: "[a#2,a#3,d4,f4] [c3,g3,c4,e4]", O: "[f2,c3,a3,c4,f4]", P: "[d3,g3,c4,e4] [d3,a3,d4,f4]",
  Q: "[g2,g3,a#3,d4]", R: "[a#2,f3,a#3,d4,f4]@8 [c3,g3,c4,e4]@7 ~", S: "[g3,c4,e4] [a3,d4,f4], d3", T: "[g2,f3,a#3,d4]",
  U: "[c3,g3,c4,e4] [c#3,g3,a#3,e4]", V: "d3 c3, [a3,d4,f4]", W: "[c3,g3,c4,f4]", X: "[c3,e3,g3,c4] ~",
  Y: "[g2,d3,g3,b3,d4]", Z: "[e3,g3,b3,e4]", AA: "[d3,a3,d4,f#4]@5 [d3,g3,c4,e4]@3", AB: "[g2,g3,b3,d4]",
  AC: "[c3,g3,c4,e4]@15 ~", AD: "[d3,f#3,a3,d4]", AE: "[a2,g3,c4,e4] [c3,g3,c4,e4]", AF: "[d3,a3,d4,f#4]",
  AG: "[g2,b3,d4,g4]", AH: "[a3,d4,f#4] [g3,b3,e4], e3", AI: "[a2,c4,e4,g4]", AJ: "[c3,c4,e4,g4] [d3,a3,d4,f#4]",
  AK: "[g2,d3,b3,d4,g4]", AL: "[e3,a3,d4,f#4] [e3,b3,e4,g4]", AM: "[a2,a3,c4,e4]",
  AN: "[c3,g3,c4,e4,g4]@8 [d3,a3,d4,f#4]@7 ~", AO: "[a3,d4,f#4] [b3,e4,g4], e3", AP: "[a2,g3,c4,e4]",
  AQ: "[d3,a3,d4,f#4] [d#3,a3,c4,f#4]", AR: "e3 d3, [b3,e4,g4]", AS: "[d3,a3,d4,g4]", AT: "[g2,g3,a3,b3,d4]",
})).s("gm_pad_warm").gain(0.16).pan(0.3)

// other · lead 1 square
const lead_1_square = note("<~@2 A ~@3 A ~@38 A ~@3 A ~@28 B ~@3 B ~@3 B ~@3 B ~@4>".pickRestart({
  A: "~@2 f5@2 c6@2 c5 c6@2 c5 c6@2 c5 ~@3", B: "~@2 g5@2 d6@2 d5 d6@2 d5 d6@2 d5 ~@3",
})).s("gm_lead_1_square").gain(0.25).pan(0.2)

// other · piano
const piano_2 = note("<~@37 A B@2 C@2 ~@28 D E@2 F@2 ~@20>".pickRestart({
  A: "a#3@2 a3 a#3@2 c4@3", B: "[a#3@2 a3 a#3@2 c4@5 a#3 c4@2 d4@3]/2", C: "[c4@2 a#3 c4@2 c#4@8 ~@3]/2",
  D: "c4@2 b3 c4@2 d4@3", E: "[c4@2 b3 c4@2 d4@5 c4 d4@2 e4@3]/2", F: "[d4@2 c4 d4@2 d#4@5 ~@6]/2",
})).s("gm_piano").gain(0.05)

// chords · melodic tom
const melodic_tom = note("<~@59 A@8 ~@9 B@8 ~@8 C ~@2>".pickRestart({
  A: "[~@9 g3 ~@34 c3@84, ~@3 d3@29, ~@15 g2@113, ~@44 f2 ~@83]/8", B: "[~@3 a2 ~@5 b2 ~@2 g2 d3 ~@114, ~@11 c3@117]/8",
  C: "~@13 f3 c3 ~",
})).s("gm_melodic_tom").gain(0.72).pan(0.3)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~ A@2 B@2 A@2 B@2 C@7 D@3 C@7 D@3 E@2 F@2 G@2 H@2 I@6 J A@2 B@2 A@2 K@2 L@7 M@3 N@2 O@2 P@2 O@2 Q@6 R S@2 T@2 S@2 U@2
  S@2 T@2 S@2 U@2 ~@2
>`.pickRestart({
  A: "[~@7 f3@2 ~@5 a3@2, ~ c3@8 c3@7, ~@2 f3@5 ~@3 f3@6, ~@6 g3@13 ~@3 g3@10, ~@10 c4@9 ~@13]/2",
  B: "[~@7 f3@2 ~@5 a#3@2, ~ c3@15, ~@2 f3@5 ~@2 f4@7, ~@6 g3@13 ~@3 c4@2 f3@8, ~@10 c4@9 ~ e4@12]/2",
  C: "[~@14 a3@3 ~@5 f3@3 ~@21 a3@3 ~@5 g3@2, ~ c3@8 c3@8 c3@2 c3@2 ~@4 c3@5 a#3@3 c3@5 a3@3 c3@8 c3@2 c3@5, ~@4 f3@16 f3@15 ~ f3@8 ~@8 f3@4 f3@12 f3@16 f3@15 ~ f3@6 ~@6, ~@8 g3@12 ~@4 g3@11 ~@19 g3@14 ~@4 g3@12 ~@4 g3@11 ~@13, ~@6 a3@4 ~@10 c4@9 c4@13 ~@10 c4@4]/7",
  D: "[~@3 a#3@8 ~, c3@2 ~, ~ f3@2 f3@16 ~@5, ~ g3@8 ~@3, ~@5 c4@16 ~@3]/3",
  E: "[[f2,c3,a3,c4,g4]@8 [f2,c3,a3,c4,f4]@7 ~ [c4,e4]@8 [d4,f4]@8, ~@15 g3@10 ~@7, ~ d3]/2", // F C Dm
  F: "[[d4,f4,a4]@8 [d4,f4,g4]@7 ~ [a#2,d4,f4]@8 [c3,c4,e4]@7 ~, [g2,d3]@15 f3@9 ~@8]/2", // Dm G7 A# C G5
  G: "[[f2,c3,a3,c4,g4]@8 [a3,c4,f4]@7 ~ [c4,e4]@8 [d4,f4]@8, ~@15 g3@10 ~@7, ~ d3]/2", // F C Dm
  H: "[[d4,f4,a4]@8 [d4,f4,g4]@7 ~ [a#2,d4,f4]@8 [c3,g3,c4,e4]@7 ~, [g2,d3]@15 f3@9 ~@8]/2", // Dm G7 A# C G5
  I: "[~@5 g3@12 ~@2 g3@6 ~@13 c4@3 ~@5 a#3@2, ~@2 c3@32 ~@26 e4@10 d4@13 ~@3 c4@10, ~@4 f3@30 f3@18 ~@6 a#3@13 ~@11 f3@14, ~@6 c4@28 ~@2 c4@16 c4@9 ~@5 a3@17 ~ a#3@8 ~@4, ~@68 f4@15 ~@13]/6",
  J: "[g3,c4,f4]@15 ~", K: "[~@14 f3@5 ~@13, ~ c3@15, ~@2 f3@5 ~@9, ~@6 g3@13 ~@13, ~@10 c4@9 ~@13]/2",
  L: "[~@14 b3@3 ~@5 g3@3 ~@21 b3@3 ~@5 a3@2, ~ d3@8 d3@8 d3@2 d3@2 d3@4 d3@5 c4@3 d3@5 b3@3 d3@8 d3@2 d3@5, ~@4 g3@16 g3@15 ~ g3@8 ~@8 g3@4 g3@12 g3@16 g3@15 ~ g3@6 ~@6, ~@8 a3@12 ~@4 a3@11 ~@19 a3@14 ~@4 a3@12 ~@4 a3@11 ~@13, ~@6 b3@4 ~@10 d4@9 d4@13 ~@10 d4@4]/7",
  M: "[~@3 c4@8 ~, d3@2 ~, ~ g3@2 g3@16 ~@5, ~ a3@8 ~@3, ~@5 d4@16 ~@3]/3",
  N: "[[g2,d3,b3,d4,a4]@8 [g2,b3,d4,g4]@7 ~ [d4,f#4]@8 [e4,g4]@8, ~@15 a3@10 ~@7, ~ e3]/2", // G D Em
  O: "[[e4,g4,b4]@8 [e4,g4,a4]@7 ~ [c3,e4,g4]@8 [d3,a3,d4,f#4]@7 ~, [a2,e3]@15 g3@9 ~@8]/2", // Em A7 C D A5
  P: "[[g2,d3,b3,d4,a4]@8 [d3,b3,d4,g4]@7 ~@9 [e4,g4]@8, ~@15 a3@10 ~@7, ~ e3, ~@16 [d4,f#4]@9 ~@7, ~@23 b3@9]/2", // G Em D
  Q: "[~@5 a3@12 ~@2 a3@6 ~@13 d4@3 ~@5 c4@2, ~@2 d3@32 ~@26 f#4@10 e4@13 ~@3 d4@10, ~@4 g3@30 g3@18 ~@6 c4@13 ~@11 g3@14, ~@6 d4@28 ~@2 d4@16 d4@9 ~@5 b3@17 ~ c4@8 ~@4, ~@68 g4@15 ~@13]/6",
  R: "[a3,d4,g4]@15 ~", S: "[~@7 g3@2 ~@5 b3@2, ~ d3@8 d3@7, ~@2 g3@5 ~@3 g3@6, ~@6 a3@13 ~@3 a3@10, ~@10 d4@9 ~@13]/2",
  T: "[~@7 g3@2 ~@5 c4@2, ~ d3@15, ~@2 g3@5 ~@2 g4@7, ~@6 a3@13 ~@3 d4@2 g3@8, ~@10 d4@9 ~ f#4@12]/2",
  U: "[~@14 g3@5 ~@13, ~ d3@15, ~@2 g3@5 ~@9, ~@6 a3@13 ~@13, ~@10 d4@9 ~@13]/2",
})).s("gm_electric_guitar_clean").gain(0.35).pan(0.6)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@4 A ~@3 A ~@2 B@2 ~@2 C@2 ~@4 B@2 ~@2 C@2 ~@3 D@2 E F D@2 G ~@3 H ~@6 A ~@10 I@2 ~@2 J K@2 L M N@2 L ~@3 O ~@6 P ~@7
  P ~@6
>`.pickRestart({
  A: "~@5 c4@3", B: "[~@5 c3@4 ~@7]/2", C: "[~@5 f3@4 ~@7]/2", D: "[~@7 a3@8 a#3@8 a#3@8 ~]/2", E: "a#3@8 g3@7 ~",
  F: "~ [f2,c3]", G: "a#3@9 ~@7", H: "~@2 g3@11 ~@3", I: "[~@5 g3@4 ~@7]/2", J: "~ d3", K: "[~@7 b3@8 c4@8 c4@8 ~]/2",
  L: "c4@9 ~@7", M: "~ g2", N: "[~@15 c4@8 c4@8 ~]/2", O: "~@2 a3@11 ~@3", P: "~@5 d4@3",
})).s("gm_electric_guitar_clean").gain(0.2).pan(0.6)

// other · overdriven guitar
const overdriven_guitar = note("<~@76 A B@2 C@2 D@2 E@2 B@2 C@2 D@2 F@2 ~@2>".pickRestart({
  A: "~@7 d4", B: "[g4@2 g4 a4@2 a4@9 ~ d4]/2", C: "[g4@2 g4 a4@2 c5@9 ~ d4]/2",
  D: "[g4@4 g4@2 a4@3 ~ a4@18 ~@2 d4@2]/2", E: "[g4@2 g4 a4@2 c5@10 d4]/2", F: "[g4@2 g4 a4@2 c5@10 ~]/2",
})).s("gm_overdriven_guitar").gain(0.16).pan(0.6)

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

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

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

// drums · low tom
const low_tom = s("lt").struct("<~@18 [~@3 x] ~@9 [~@3 x] ~@32 [~@3 x] ~@33>").gain(0.32)

// drums · pedal hat
const pedal_hat = s("hh").struct("<~@8 A ~@27 A ~@6 B ~@25 A ~@6 B ~@7 B ~@7 B ~@2>".pickRestart({
  A: "~@3 x", B: "~ x",
})).gain(0.56)

// drums · open hat
const open_hat = s("oh").struct("<~@8 A ~@9 A ~@9 A ~@7 A ~@6 B ~@17 A ~@7 A ~@6 B ~@7 B ~@7 B ~@2>".pickRestart({
  A: "~@5 x ~@2", B: "~@7 x ~@8",
})).gain(0.32)

// drums · tambourine
const tambourine = s("tb").struct("<~@29 [x!16]!15 ~@18 [x!16]!31 x ~>").gain(0.24)

// drums · splash
const splash = s("cr").struct(`<
  A B ~@7 B ~@7 C B@2 ~@7 C B@2 ~@7 B ~@6 B ~@6 B@2 ~@7 C B@2 ~@7 B ~@6 B ~@7 B ~@7 B ~
>`.pickRestart({
  A: "~@3 x", B: "x", C: "x!2",
})).gain(0.4)

// drums · shaker
// … 44 more lines

More by Pooh