Strudelify
In diretta nel vento cover art

1977 · Rotolando respirando

In diretta nel vento

Pooh

KeyE majorTempo75 bpm
0:00/0:00
// In diretta nel vento — Pooh
// 75 bpm, 4/4, key E 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 72 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(75/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.

// chords · piano · "tk1"
const piano = note("<A@4 B@5 C@5 D@8 E@8 F G H I J K@6 L@4 M N O P Q@2 R S T@7 U@4 V@8>".pickRestart({
  A: "[~@42 b3@5 ~@10 e4@3 ~@43 b3@6 ~@36 e4@4 ~@2 e4@4 c#4@3 ~@30 f#3@4, ~@12 e2@48 [d#2,d#3]@49 [c#2,c#3]@23 g#4 [c#2,c#3,c#5]@24 ~ f#2@34, ~@12 e3@35 [e3,b3]@13 ~@25 d#4@12 [d#4,f#4]@12 [c#4,e4]@12 c#4@28 c#4@6 ~@9 f#3@12 f#3@12 ~@4, ~@12 [e4,g#4]@12 [e4,g#4]@12 g#4@15 g#4@3 f#4@6 f#4@12 ~ [d#4,f#4]@12 b4@24 ~@12 e4@11 e4@4 g#4@3 e4@3 g#4@15 ~@35, ~@18 b3@12 b3@6 e4@11 ~ [e4,a4]@11 ~@8 b3@12 b3@12 b3@12 ~@12 g#3@12 g#3@30 ~ a#3@12 [a#3,c#4,e4]@12 [a#3,c#4,e4]@10]/4", // D# C# E5 D#m C#m E D#m A5 …
  B: "[~@8 f#3@6 ~@44 a3@7 ~@30 b3@5 ~@10 e4@3 ~@43 b3@6 ~@24 g#4@3 g#4@4 ~@43 a#3@4, ~@2 [a#3,c#4,e4]@12 a2@51 e2@49 ~@24 b4@24 ~@6 g#3@6 e4@6 g#3@19 e4@3 c#4@3 e4@6 ~@24 [c#4,e4]@5, ~@14 [c#4,g#4]@12 ~ [c#4,g#4]@12 [c#4,g#4]@13 [c#4,g#4]@13 [e4,g#4]@12 [e4,g#4]@12 [e4,g#4]@15 g#4@3 f#4@6 f#4@12 [d#4,f#4]@12 d#4@12 ~ [d#4,f#4]@12 [c#4,e4]@12 c#4@19 e4@3 g#4@12 c#4@6 ~@9 [a#3,c#4,e4]@12 ~@5, ~@20 a3@12 ~ a3@12 a3@13 ~@7 e3@36 [e3,e4,a4]@12 [d#2,d#3]@49 c#3@49 ~@6 f#3@12 ~ f#3@10, ~@71 b3@12 b3@12 ~@5 b3@13 ~@6 b3@12 ~ b3@12 b3@12 ~@6 c#2@23 e4 [c#2,c#5]@24 ~ [f#2,a#3]@12 ~@17]/5", // A#dim C#m C#5 E D#m C#m A#dim A5 …
  C: "[~@14 f#3@6 ~@42 a3@6 ~@43 b3@6 a3@6 ~@37 a3@6 b3@6 ~@38 b3@6 ~@18 b3@6, ~@2 f#3@12 ~@6 a2@49 g#2@49 ~@24 d5@24 ~@12 d#4@12 ~ [d#4,b4]@12 [d#4,f#4]@13 [e4,g#4]@12 [e4,g#4]@12, ~@8 [a#3,c#4,e4]@12 [c#4,e4]@12 [c#4,e4]@12 [c#4,e4]@12 [c#4,a4]@12 e4@12 ~ [e4,g#4]@12 [e4,g#4]@12 [e4,g#4]@12 [d4,f#4]@12 [d4,f#4]@12 d4@12 ~ [d4,f#4]@12 [d#4,f#4]@12 f#4@25 ~@19 b3@12 ~@6, ~@26 a3@12 a3@12 a3@12 ~@7 g#4@12 ~@42 a3@12 a3@12 ~ a3@12 ~@12 b3@13 b3@12 b3@13 ~@6 [e2,e3]@24, ~@75 b3@12 b3@12 b3@12 ~@6 [d2,d3]@49 b2@51 ~@23]/5", // G#m D#m E A#dim C#m F#m E D …
  D: "[~@22 e4@3 ~@42 b3@6 ~@13 e4@6 ~@28 c#4@3 ~@43 f#3@6 ~@42 a3@6 ~@43 b3@6 ~@6 a3@6 a3@6 ~@24 a2@6 [d3,a3,d4,f#4]@12 a3@6 ~@13 a3@6 a3@6 a3@6 [b3,d4,g4]@13 [d4,g4]@5, ~ g#4@12 [e3,a4]@12 d#3@49 [c#3,c#4]@12 ~@6 c#3@30 ~@7 f#3@12 f#3@12 f#3@12 ~@55 g#2@49 [d2,d3]@48 d2@50 ~@17, ~ e4@10 b3@8 f#4@6 f#4@12 [d#4,f#4]@12 b4@24 ~@23 e4@5 g#4@3 e4@3 g#4@15 ~@26 [a#3,e4]@12 [a#3,c#4,e4]@12 ~@6 a3@12 a3@12 a3@12 ~@13 b3@12 b3@12 b3@12 ~@24 a3@12 a3@12 ~@25 a3@12 ~@18 g2@18, ~@7 e2@17 ~@25 d#4@12 [d#4,f#4]@12 e4@12 ~ c#4@25 e4@3 c#4@3 e4@6 a#3@12 [a#3,e4]@12 c#4@12 ~@13 [c#4,e4]@12 [c#4,e4]@12 [c#4,e4]@12 [c#4,e4]@12 [e4,g#4]@12 ~ [e4,g#4]@12 b4@24 ~@115, ~@12 e4@4 g#4@8 ~@7 b3@12 b3@12 b3@12 ~@13 g#3@12 ~@5 g#4 [c#2,c#5]@25 f#2@49 a2@49 ~@24 e4@12 [e4,g#4]@12 [d4,f#4]@12 [d4,f#4]@12 [d4,f#4]@12 [d4,f#4]@12 ~@12 [d4,f#4]@12 ~ [d4,f#4]@12 [d4,f#4]@13 ~@17]/8", // D G G5 A5 C# D D#m A#dim …
  E: "[~@7 c#4@6 c#4@6 c#4@6 c#4@6 ~@32 a3@6 a3@6 a3@6 b3@6 b3@6 [b3,d4,g4]@13 a3@6 ~@12 a3@6 a3@6 ~ a3@6 ~@12 [a3,d4,f#4]@12 a3@6 ~@24 a3@6 a3@6 a3@6 [a3,c#4,e4,a4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [a3,c#4,e4,a4]@12 [a3,c#4,e4,a4]@12 [b3,d#4,f#4,b4]@12 [b3,d#4,f#4,b4]@12 [b3,e4,g#4]@13 [b3,e4,g#4]@12 [e4,g#4,e5]@13 [b3,e4,g#4]@13 [a3,c#4,e4,a4]@10, ~ b3@13 ~@18 d2@50 ~@48 d2@18 ~ d2@27 ~@147 e2@51 ~@10, ~@7 g2@28 ~@3 a3@12 a3@6 d4@12 ~ [d4,a4]@13 ~@24 [c#4,e4,a4]@12 [c#4,e4,a4]@13 ~@12 [a3,d4,f#4]@12 ~@18 [c#4,e4,a4]@18 [c#4,e4,a4]@12 [c#4,e4,a4]@12 ~@169, ~@7 [e4,a4]@12 [e4,a4]@13 [d4,f#4]@12 f#4@37 g2@25 g2@28 ~@18 d3@13 ~@8 a2@54 ~@157, ~@44 d4@12 d5@25 [d4,g4]@12 ~@19 a3@12 ~@6 [d4,f#4]@12 ~@25 [d4,f#4]@12 ~@6 a3@12 ~@187]/8", // G D A E A B E A …
  F: "~ [a3,c#4,e4,a4]@4 [b3,d#4,f#4,b4]@4 [b3,d#4,f#4,b4]@4 [b3,e4,g#4]@3", // A B E
  G: "~ [b3,e4,g#4]@4 [b3,e4,g#4]@4 [b3,e4,g#4]@4 [a3,c#4,e4,a4]@3", // E A
  H: "~@3 [a3,c#4,e4,a4]@12 [b3,d#4,f#4,b4]@12 [b3,d#4,f#4,b4]@11 [b3,e4,g#4]@10", // A B E
  I: "~ [b3,e4,g#4]@6 [b3,e4,g#4]@6 [b3,e4,g#4]@6 [a3,c#4,e4,a4]@5", // E A
  J: "~@2 [a3,c#4,e4,a4]@12 [b3,d#4,f#4,b4]@11 [b3,d#4,f#4,b4]@12 [b3,e4,g#4]@11", // A B E
  K: "[~ [b3,e4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 ~ [b3,d4]@12 ~@31 b3@6 ~ b3@6 ~@32 f#4@13 b3@6 ~ b3@6 [b3,e4,g#4]@12 [b3,e4]@11 ~@10 e4@3 ~@43 b3@6 ~@12 e4@9 ~@24 c#4@3 [f#2,a#3]@3, ~ g#4@6 ~@30 g3@13 [d4,g4]@12 ~ [d4,g4]@12 [d4,g4]@13 d#4@12 [d#4,f#4]@12 ~ d#4@12 d#4@14 [e4,g#4]@12 ~@24 [b3,e4]@13 ~@6 b3@12 b3@6 d#4@7 b3@12 ~@6 [c#4,e4]@12 c#4@15 g#4@3 e4@3 g#4@3 e4@3 c#4@3 e4@6 ~@3, ~@38 g2@50 b2@52 ~@36 [e3,a4]@12 d#3@49 c#3@48 ~@3, ~@56 b3@12 ~ b3@12 ~@6 f#4@12 ~@14 b4@27 ~@24 g#4@15 g#4@3 f#4@6 f#4@12 f#4@24 ~ [d#4,f#4]@12 ~@6 g#3@12 ~@4 g#3@25 ~@4, ~@94 b3@12 b3@13 b3@20 e2@49 ~@12 d#4@12 b4@24 ~@24 [e4,g#4] [c#2,c#5]@24 ~@3]/6", // E5 E Bm E E5 F# G5 D#m …
  L: "[~@34 [a#3,c#4,e4]@12 a3@6 ~@31 [c#4,e4]@12 g#3@6 ~@36 e2@6 a3@6 a3@6 ~@7 a3@6 a3@6 a3@6 ~@6 a2@6, ~@3 f#3@12 ~ f#3@12 f#3@12 ~@6 [a2,c#4,e4]@12 ~@37 e2@42 ~@6 [d2,d3]@49, ~@9 e4@12 ~@37 [c#4,e4]@12 [c#4,e4]@12 ~@19 g#3@12 g#3@12 g#3@12 ~@18 a3@6 ~@19 [a3,d4,f#4]@12, ~@10 a#3@12 [a#3,c#4,e4]@12 ~@18 a3@12 a3@12 a3@12 ~@7 [e3,b3,e4]@12 [b3,e4]@12 [b3,e4]@12 [b3,e4]@12 [d4,f#4]@12 f#4@12 ~@25, ~@13 d4 [d4,f#4] ~]/4", // A#dim C#m A D C#m D A#dim E5 …
  M: "[a3,d4,f#4]@2 a3!4 [a3,d4,f#4]@2, d2, ~ [d4,f#4]!2 ~", N: "[b3,d4,g4]!2 [a3,c#4,e4,a4]!2, g2!2",
  O: "[a3,d4,f#4]!2 [a3,f#4] [a3,d4,f#4], ~@4 d4 ~@3", P: "[b3,d4,g4]!2 [a3,c#4] [a3,c#4,a4], ~ e4",
  Q: "[[a3,d4,f#4]@12 [a3,d4,f#4]@12 ~ [a3,d4,f#4]@12 [a3,d4,f#4]@6 [c#4,e4]@18 [a3,c#4]@12 [a3,c#4,a4]@12 [a3,c#4,a4]@11, ~@43 a2@48 ~@5, ~@61 e4@35]/2", // D C#m A
  R: "~ [b3,e4,g#4]@12 [b3,e4]@12 [b3,e4,b4]@12 [g#3,b3,e4]@11, ~@13 g#4@24 ~@11", // E E5 E
  S: "~ [a3,c#4,e4,a4]@12 [a3,c#4,e4,a4]@12 ~ [b3,d#4,f#4,b4]@12 [b3,d#4,f#4,b4]@10", // A B
  T: "[~@2 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@13 [b3,e4,g#4]@13 [a3,c#4,e4,a4]@12 ~ [a3,e4,a4]@12 [b3,d#4,f#4,b4]@12 [b3,d#4,f#4,b4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [a3,c#4,e4]@12 [a3,c#4,e4]@12 [b3,d#4,f#4]@12 [b3,d#4,f#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@11 [c#4,e4,a4]@12 [c#4,e4,a4]@12 [d#4,f#4,b4]@12 [d#4,f#4,b4]@12 [b3,e4,g#4]@12 [b3,e4,g#4]@11 [b3,e4,g#4]@12 [b3,e4,g#4]@9, ~ e2@25 ~@6 c#4@6 ~@130]/7", // E A A5 B E A B E …
  U: "[~@3 [g3,b3,d4]@25 [g3,b3,d4]@12 ~ g3@12 [b3,d#4,f#4]@12 ~ b3@12 [b3,d#4]@13 [b3,d#4,f#4]@14 [b3,e4,g#4]@13 [b3,e4,g#4]@12 ~@22 e4@3 ~@32 b3@5, ~@3 g2@50 b2@68 ~@9 [b3,e4]@12 [b3,e4]@4 g#4@3 f#4@6 b2@37, ~@40 [b3,d4]@13 ~@12 d#4@13 b4@27 ~@32 e2@38 ~@17, ~@66 f#4@25 ~@14 [e2,e3]@34 ~@2 e3@21 b3@12 b3@12 ~@6, ~@143 a4@12 f#4@12 ~ [d#4,f#4]@12 [d#4,f#4]@12]/4", // G B E E5 Bm E D#m
  V: "[~@7 b2@6 ~@7 g#3@6 e4@10 ~@2 g#4@4 ~@12 c#4@4 ~@50 f#2@6 [a3,c#4,e4]@12 ~@19 a3@6 ~@7 a2@6 g#3@6 ~ g#3@6 ~@31 g#2@6 [d3,a3,d4,f#4]@13 ~@27 a3@7 d3@7 [d2,d3,d4,f#4,d5]@99 ~@17, ~ [d#4,f#4]@12 c#2@22 ~@2 e4@5 g#4@3 e4@3 g#4@3 e4@7 e4@7 ~@61 c#4@12 ~ [c#4,e4]@12 ~ [c#4,e4]@13 ~@18 g#3@12 ~ g#3@19 ~@19 a3@13 d2@21 ~@116, ~@13 [c#3,c#4,e4]@13 g#3@35 c#4@6 ~@3 f#3@12 ~ f#3@12 f#3@13 ~@25 a3@12 ~@6 a3@6 ~@7 [b3,e4]@13 [b3,e4]@12 [b3,e4]@12 ~ [b3,e4]@13 ~@12 [d4,f#4]@13 d4@11 d3@10 ~@123, ~@26 c#4@25 c#3@13 a#3@12 ~ [a#3,c#4,e4]@12 [a#3,c#4,e4]@12 ~ [a#3,c#4,e4]@13 ~@12 e4@12 ~@88 a4@27 a4@85 ~@45, ~@38 [c#2,c#5]@25 ~ f#2@44 ~@6 a2@44 ~@6 g#2@44 ~@6 d2@27 f#4@13 [d4,f#4]@14 ~@116]/8", // A D D#m C#m E5 D A#dim C# …
})).s("gm_piano").gain(0.36).pan(0.6)

// bass · fretless bass · "tk2"
const bass = note("<~@12 A@4 B@3 C@5 D@5 E@2 F G@2 H I@3 J@7 K L M N O@2 P Q R@7 S T@3 ~@8>".pickRestart({
  A: "[~@22 b2@12 f#3@12 ~ b3@19 ~@6 e3@3 b2@3 e2@39 ~@4 d#2@38 ~@4 f#2@3 ~@3 c#2@23]/4",
  B: "[~@2 c#3@17 ~@2 f#3@3 g#3@47 ~@5 a3@48 g#3@19 ~]/3",
  C: "[~@5 e3@12 e2@12 d2@38 ~@4 a1@5 ~ d2@45 ~@4 g1@44 ~@6 d2@36 ~ a2@11 ~ g1@15]/5",
  D: "[~@3 g1@3 ~@3 g1@23 ~@2 d2@39 ~@4 a1@25 ~@5 a1@3 ~@3 a1@10 ~@2 a2@6 g#2@19 ~@2 g#2@3 e2@6 g#2@3 b2@3 e3@10 ~@2 a2@9 e3@2 ~ e3@8 ~ a2@2 ~ a2@8 ~ f#3@2 ~ f#3@11 ~ g#3@12 ~]/5",
  E: "[e2@5 ~ e2@5 ~ e2@7 g#2@6 b2@6 ~ e2@5 ~ a1@5 ~ a1@3 b1@3 c#2@3 e2@3 f#2@6 ~ b1@4 ~@2 b1@3 c#2@3 d#2@3 f#2@3 b2@5 ~ e2@7 ~@2]/2",
  F: "e2@4 ~@2 e2@3 b2@9 ~@3 b2@3 e2@4 ~@2 e2@3 b2@5 ~ a1@5 ~ a1@3",
  G: "[b1@3 c#2@3 e2@3 f#2@5 ~ b1@4 ~ b1@3 c#2@3 d#2@3 f#2@3 b2@5 ~ e2@8 ~ e2@8 ~ e2@3 e2@3 e2@4 ~@2 e2@5 ~ e2@4 ~@2 e2@5 ~ a1@5 ~ a1@2 b1@2]/2",
  H: "~ c#2@3 e2@3 f#2@5 ~ b1@4 ~@2 b1@3 c#2@3 d#2@3 f#2@3 b2@6 e2@8 ~ d#2@2",
  I: "[~@7 c#2@8 ~ b1@9 a1@11 ~ g1@25 g2@24 ~ b2@32 ~@3 b2@17 e2@5]/3",
  J: "[~@13 e2@3 ~@4 e2@23 ~ d#2@37 ~@12 c#2@23 ~@7 e2@3 f#2@3 g#2@11 ~ a#2@43 ~@6 a2@18 e3@3 ~@3 e3@23 ~@2 g#3@17 ~ e3@9 b2@7 ~@2 e2@7 ~@5 d2@41 ~@2 a1@6]/7",
  K: "d2@29 ~ a1@5 ~ d2@6 a1@5 ~", L: "g2@11 ~ g2@12", M: "f#2@12 d3@5 ~ a2@5 ~ d3@5 ~ a2@5 ~ d3@5 ~ a2@5 ~",
  N: "g2@11 ~ d3@10 ~@2 g2@23 ~", O: "[f#2@39 ~@4 a2@28 ~@2 a2@23]/2", P: "~ g#2@23 ~ e2@6 g#2@3 b2@3 e3@3 ~ b2@2 e2@5",
  Q: "~ a2@9 e3@2 ~ e3@8 ~ a2@2 ~ a2@9 ~ f#3@2 ~ f#3@10",
  R: "[~@2 g#3@12 e2@4 ~@2 e2@4 ~@2 e2@5 ~@2 g#2@5 ~ b2@5 ~@2 e2@5 ~ a1@5 ~ a1@3 b1@3 c#2@3 e2@3 f#2@6 b1@4 ~@3 b1@3 c#2@3 d#2@3 f#2@3 b2@5 ~ e2@7 ~@2 e2@4 ~@2 e2@3 b2@3 e3@3 ~@3 e3@3 b2@3 e2@4 ~@2 e2@3 b2@3 e2@3 a1@5 ~ a1@3 b1@3 c#2@3 e2@3 f#2@5 ~ b1@4 ~@2 b1@3 c#2@3 d#2@3 f#2@3 b2@5 ~ e2@7 ~@2 e2@7 ~@2 e2@3 e2@2 e2@5 ~ e2@5 ~ e2@4 ~@2 e2@4 ~@2 a1@4 ~@2 a1@3 b1@3 c#2@3 e2@3 f#2@5 ~ b1@4 ~@2 b1@3 c#2@3 d#2@3 f#2@3 b2@5 ~ e2@8 d#2@8 ~ c#2@8 ~ b1@8 ~ a1@9]/7",
  S: "~ g1@14 ~", T: "[~@5 b2@52 e2@45 ~@42]/3",
})).s("gm_fretless_bass").gain(0.36)

// chords · distortion guitar · "tk3"
const distortion_guitar = note("<~@25 A@3 B@8 ~@13 C@2 D E F@5 G@2 ~@12>".pickRestart({
  A: "[~@30 a3@53 [b3,e4]@47 ~ [e3,a3]@13, ~@29 e3@52 ~@63]/3", // E5 A5
  B: "[~@12 b3@23 ~@25 e3@7 [e3,b3,e4]@6 ~ e4@12 ~ [e3,a3]@24 [f#3,b3]@24 [b3,e4]@48 [e3,a3]@24 [f#3,b3]@23 [b3,e4]@47 ~ [e3,a3]@23 ~ f#3@23 [b3,e4]@48 ~@11, ~@11 f#3@24 b3@32 ~@6 b3@13 a2@24 ~@274, ~@36 e4@29 ~@236 b3@24 ~@59]/8", // E5 A5 B5 E5 A5 B5 E5 A5 …
  C: "[~@43 [e3,a3]@49 ~@4]/2", D: "~ [b3,e4]@47", E: "~ [e3,a3]@24 ~ [f#3,b3]@22",
  F: "[~@26 e3@7 [b3,e4]@6 [b3,e4]@13 [e3,a3]@24 ~ [f#3,b3]@24 [b3,e4]@47 ~ [e3,a3]@24 [f#3,b3]@24 [e3,b3,e4]@43, ~@2 [b3,e4]@31 ~@207]/5", // E5 A5 B5 E5 A5 B5 E5
  G: "[~@4 [e3,a3]@24 [f#3,b3]@24 [b3,e4]@43 ~]/2", // A5 B5 E5
})).s("gm_distortion_guitar").gain(0.18).pan(0.6)

// chords · pad warm · "tk5"
const pad_warm = note("<~@21 A B@8 C@8 ~@8 D@2 E@4 F@2 G@4 H@5 ~@9>".pickRestart({
  A: "~@5 [g3,b3,d4]@3", // G
  B: "[~@7 [c#4,e4]@24 [d4,f#4]@49 ~ [g3,b3,d4]@24 e4@49 ~ d4@18 c#4@54 [g#3,b3,e4]@48 [a3,c#4,e4]@24 d#4@24 [g#3,e4]@51 [a3,c#4]@10, ~@7 a3@74 ~@24 a3@122 ~@72 b3@75 ~@10, ~@105 c#4@25 ~@254]/8", // C#m D G E A C#m A
  C: "[~@14 d#4@24 ~ [g#3,e4]@48 [a3,c#4]@23 d#4@24 [g#3,e4]@47 [a3,c#4]@24 d#4@24 e4@48 [g3,d4]@50 [f#3,d#4]@53 ~@4, ~@14 b3@72 ~@24 b3@71 ~@24 b3@174 ~@5]/8", // C#m A C#m A G5 D#m
  D: "[[g3,b3,d4] [c#4,e4] [d4,f#4]@2, ~ a3@3]/2", // G C#m D
  E: "[[g3,b3,d4]@24 e4@48 d4@18 ~ c#4@54 [g#3,b3,e4]@47, ~@24 a3@121 ~@47, ~ c#4 ~@6]/4", // G E
  F: "[~ [a3,c#4,e4]@24 d#4@24 [g#3,e4]@47, ~@25 b3@71]/2", // A C#m
  G: "[~@4 [a3,c#4]@24 d#4@24 ~ [g#3,e4]@48 [a3,c#4]@24 d#4@24 [g#3,e4]@43, ~@28 b3@72 ~@25 b3@67]/4", // A C#m A C#m
  H: "[~@4 [a3,c#4]@24 d#4@23 e4@47 ~ [g3,d4]@50 [f#3,d#4]@53 ~@38, ~@28 b3@173 ~@39]/5", // A G5 D#m
})).s("gm_pad_warm").gain(0.26).pan(0.4)

// chords · drawbar organ · "tk6"
const drawbar_organ = note("<~@25 A@3 B@8 ~@13 C@3 D@8 ~@12>".pickRestart({
  A: "[~@29 c#4@54 b3@48 [a3,c#4]@13, ~@29 e4@115]/3", // A
  B: "[~@11 d#4@24 e4@51 c#4@24 ~ f#4@24 g#4@48 ~@24 f#4@23 g#4@47 ~@24 f#4@24 [e4,g#4]@48 ~@11, ~@11 b3@75 a4@49 e4@72 ~@23 e4@71 ~@83, ~@183 [c#4,a4]@47 ~@48 [c#4,a4]@47 ~@59]/8", // E F#m
  C: "[~@43 [a3,c#4]@54 [g#3,b3]@47]/3", // A G#m
  D: "[~ [a3,e4]@24 ~ f#4@24 g#4@50 c#4@24 ~@25 g#4@48 ~@24 f#4@24 [e4,b4]@47 ~@24 f#4@24 [g#4,b4]@44, ~@26 b3@74 a4@49 ~@235, ~@125 b3@72 [c#4,a4]@48 ~@47 [c#4,a4]@47 ~@45]/8", // A5 E5 G#m F#m
})).s("gm_drawbar_organ").gain(0.27).pan(0.8)

// chords · electric guitar clean · "tk8"
const electric_guitar_clean = note("<~@29 A@7 ~@18 B@4 C D ~@12>".pickRestart({
  A: "[~@51 a4@13 ~@8 a4@14 ~@40 b3@8 ~@10 a4@14 ~@10 b4@13 ~@10 e4@12 ~@12 e4@12 ~@12 a4@13 ~@10 b4@12 ~@12 d#4 ~@5 b3@6 ~@12 e4@13 ~@13, ~@45 a3@17 ~@4 b3@21 ~@6 g#3@20 ~ g#3@12 ~@12 a3@18 ~@6 b3@19 ~@5 g#3@16 ~ g#3@23 ~@7 a3@19 ~@4 b3@19 ~@5 g#3@14 ~@4 g#3@24 ~@14, ~@47 c#4@15 ~@7 d#4@17 ~@10 b3@19 ~@2 b3@8 ~@16 c#4@17 ~@30 b3@15 ~@6 b3@18 ~@9 c#4@17 ~@30 b3@9 ~@12 b3@18 ~@14, ~@99 e4@20 ~ e4@13 ~@32 d#4@16 ~@78 d#4@15 ~@12 e4@19 ~@31]/7",
  B: "[~@17 a4@13 ~@8 a4@14 ~@40 b3@8 ~@10 a4@14 ~@10 b4@13 ~@11 e4@12 ~@11 e4@11, ~@11 a3@17 ~@4 b3@21 ~@6 g#3@20 ~ g#3@12 ~@12 a3@19 ~@5 b3@20 ~@4 g#3@16 ~@2 g#3@22, ~@13 c#4@15 ~@7 d#4@17 ~@10 b3@19 ~@2 b3@8 ~@16 c#4@17 ~@31 b3@15 ~@6 b3@16, ~@65 e4@20 ~ e4@13 ~@32 d#4@16 ~@45]/4",
  C: "~@13 a4@13 ~@11 b4@11, ~@7 a3@19 ~@5 b3@17, ~@10 c#4@17 ~@7 d#4@14",
  D: "~@13 d#4 ~@5 b3@6 ~@11 e4@12, ~@7 g#3@14 ~@4 g#3@23, ~@10 b3@9 ~@11 b3@17 ~, ~@13 e4@19 ~@16",
})).s("gm_electric_guitar_clean").gain(0.1)

// drums · kick
const kick = s("bd").struct(`<
  ~@25 A B C D E F G H I J K ~ L M N O P Q R S T U T U V W X Y Z AA AB AC AD AE AF AG ~@11
>`.pickRestart({
  A: "~@29 x ~@18", B: "~@11 x ~@5 x ~@17 x ~@12", C: "~@11 x ~@5 x ~@2 x ~@8 x ~@5 x ~@12", D: "~@11 x ~@23 x ~@12",
  E: "~@6 x ~@5 x ~@6 x ~@5 x ~@6 x ~@5 x ~@5 x ~@2 x", F: "~@5 x ~ x!2 ~ x ~@2 x ~ x", G: "x ~@4 x ~ x!2 ~@3 x!2 ~ x",
  H: "x ~@5 x ~@5 x ~@2 x ~@5 x ~@2 x ~@4 x ~@8 x ~@5 x ~@2 x", I: "~@14 x ~@5 x ~@2 x ~@5 x ~@5 x ~@2 x ~@5 x ~@2 x",
  J: "~@5 x ~@5 x ~ x ~@5 x ~@2 x ~@5 x ~@8 x ~@5 x ~@2 x ~", K: "~@13 x ~@5 x ~@2 x ~@15 x ~@9", L: "~@43 x ~@4",
  M: "~@7 x ~@2 x ~@11 x ~", N: "~@20 x ~@5 x ~@18 x ~@2", O: "~@7 x ~@7 x", P: "~@11 x ~@11 x", Q: "~@22 x ~@24 x",
  R: "~@23 x ~@5 x ~@17 x", S: "~@7 x!2 ~@7", T: "x ~@3 x!2 ~ x", U: "x!2", V: "x ~@42 x ~@4", W: "~@25 x ~@5 x ~@16",
  X: "~ x ~@23 x ~@5 x ~@2 x ~@8 x ~@4", Y: "~ x ~@21 x ~@2 x ~@21", Z: "~@2 x ~@17 x ~@5 x ~@6 x ~@5 x ~@6 x ~",
  AA: "~@4 x ~@5 x ~@2 x ~@15 x ~@5 x ~@2 x ~@5 x ~@3", AB: "~@5 x ~@5 x ~@2 x ~@14 x ~@5 x ~@2 x ~@9",
  AC: "~@5 x ~@5 x ~@2 x ~@5 x ~@5 x ~@2 x ~@5 x ~@2 x ~@5 x ~@3", AD: "~@5 x ~@5 x ~@2 x ~@14 x ~@5 x ~ x ~@6 x ~@3",
  AE: "~ x ~@2 x ~@5 x ~@2 x ~@8 x ~@5 x ~@5 x ~@2 x ~@5 x ~@4", AF: "~ x ~@2 x ~@5 x ~@2 x ~@13 x ~@8 x ~@2 x ~@8",
  AG: "~ x ~@14",
})).gain(0.5)

// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@27 A@2 ~ B C B ~ D ~@5 E ~@2 F G ~ G ~@4 H ~@3 I ~ J ~@14>".pickRestart({
  A: "~ x ~@4", B: "~@3 x", C: "~@5 x ~@2", D: "~@17 x ~@6", E: "~@7 x", F: "~@5 x ~@6", G: "~@15 x", H: "~@11 x ~@12",
  I: "~ x ~@20 x ~", J: "~ x ~@22",
})).gain(0.25)

// drums · snare
const snare = s("sd").struct("<~@25 A B@2 C D E@3 F G H ~@2 I J K L M N O P@4 ~ Q@2 R S T U@2 V W X ~@12>".pickRestart({
  A: "~@47 x", B: "~@23 x ~@23 x", C: "~@23 x ~@24", D: "x", E: "~ x ~@7 x ~@6", F: "~ x ~@11 x ~@10",
  G: "~@2 x ~@22 x ~@22", H: "~ x ~@23 x ~@22", I: "~@7 x ~@24 x ~@15", J: "~ x ~@2 x ~", K: "~@3 x ~@7 x ~@4",
  L: "~@9 x ~@24 x ~@13", M: "~@5 x ~@11 x ~@6", N: "~@11 x ~@23 x ~@12", O: "~@11 x ~@24 x ~@11", P: "~ x ~ x",
  Q: "~@13 x ~@23 x ~@10", R: "~@13 x ~@24 x ~@9", S: "~@7 x ~@16", T: "~@16 x ~@24 x ~@6", U: "~@17 x ~@23 x ~@6",
  V: "~@17 x ~@22 x ~@7", W: "~@2 x ~@2 x", X: "~@5 x ~@7 x ~@2",
})).gain(0.44)

// drums · hihat
const hihat = s("hh").struct("<~@37 A B C D E F G H I J K L M ~@22>".pickRestart({
  A: "~@43 x ~@4", B: "~ x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@3",
  C: "~@2 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@2", D: "~ x ~ x ~ x ~ x ~ x ~ x ~ x ~ x",
  E: "~@3 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~", F: "~@4 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x",
  G: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x", H: "~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@5",
  I: "x!6 ~@2", J: "~@2 x!6", K: "x!8", L: "~ x!7", M: "~@6 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@10",
})).gain(0.37)

// drums · low tom
const low_tom = s("lt").struct("<~@25 [~@20 x ~@2 x ~@24] ~@23 [~@34 x ~@2 x ~@10] ~@22>").gain(0.37)

// drums · mid tom
const mid_tom = s("mt").struct("<~@25 [~@8 x ~@2 x ~@36] ~@23 [~@22 x ~@2 x ~@22] ~@22>").gain(0.44)

// drums · open hat
const open_hat = s("oh").struct("<~@29 A ~@5 B ~@9 C ~@7 D ~@5 E ~@12>".pickRestart({
  A: "~@12 x ~@6 x ~@5 x ~@6 x ~@15", B: "~@7 x ~@4", C: "~@6 x!2", D: "~@26 x ~@6 x ~@5 x ~@6 x ~", E: "~@7 x",
})).gain(0.44)

// drums · high tom
const high_tom = s("ht").struct("<~@24 [~@44 x ~@2 x] ~@24 [~@3 x!2 ~@11] ~@22>").gain(0.5)

// drums · crash
const crash = s("cr").struct("<~@25 A ~@3 B C@3 D E F ~@10 G ~ G H ~@4 I J@2 K L M N ~@11>".pickRestart({
  A: "~@29 x ~@18", B: "~@19 x ~@4", C: "~ x ~@7 x ~@6", D: "~ x ~@11 x ~@5 x ~@4", E: "~@2 x ~@22 x ~@22",
  F: "~ x ~@36 x ~@9", G: "x", H: "x ~@42 x ~@4", I: "~@4 x ~@11 x ~@24 x ~@6", J: "~@17 x ~@23 x ~@6",
  K: "~@17 x ~@22 x ~@7", L: "~ x ~@2 x ~@5 x ~", M: "~@5 x ~@10", N: "~ x ~@14",
})).gain(0.31)

// drums · ride
const ride = s("rd").struct("<~@25 A B@2 C D E F G H I J ~@14 K L M N O P@2 Q R S ~@12>".pickRestart({
  A: "~@41 x ~@5 x", B: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x",
  C: "~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@6 x ~@5", D: "x ~@2 x ~@18 x ~", E: "~@3 x ~ x ~ x ~@3 x ~ x ~ x",
  F: "~@3 x ~ x ~ x ~ x ~ x ~ x ~ x", G: "~@9 x ~@5 x ~@5 x ~@10 x ~@5 x ~@5 x ~@3",
  H: "~@4 x ~@2 x ~@2 x ~@5 x ~@5 x ~", I: "~@8 x ~@4 x ~@5 x ~@11 x ~@5 x ~@5 x ~@4",
  J: "~@7 x ~@5 x ~@5 x ~@5 x ~@22", K: "~@7 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@4",
  L: "~ x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@5 x ~@4", M: "~ x ~@5 x ~@5 x ~@5 x ~@6 x ~@5 x ~@5 x ~@5 x ~@3",
  N: "~ x ~@2 x ~@2 x ~@2 x ~@13", O: "~@22 x ~@6 x ~@5 x ~@11 x", P: "~@5 x ~@5 x ~@11 x ~@5 x ~@5 x ~@11 x",
  Q: "~@5 x ~@5 x ~@11 x ~@5 x ~@5 x ~@10 x ~", R: "~@5 x ~@5 x ~@2 x ~@2 x ~@5 x",
  S: "~@4 x ~@5 x ~@10 x ~@5 x ~@5 x ~@5 x ~@8",
})).gain(0.5)

stack(
  piano, bass, distortion_guitar, pad_warm, drawbar_organ, electric_guitar_clean, kick, kick_soft, snare, hihat,
  low_tom, mid_tom, open_hat, high_tom, crash, ride
)

More by Pooh